lvs+keepalive构建负载均衡及服务器集群之一群集软件的说明与安装

一、 LVS集群的组成

利用LVS架设的服务器集群系统由3个部分组成:最前端的是负载均衡层这里用(HA Load Balance表示),中间是服务器群组层(用Server Array表示),底端是数据共享存储层(用Shared Storage表示)。

二、LVS集群的特点

LVS的IP负载均衡技术是通过VIP模块来实现的。IPVS是LVS集群系统的核心软件,它主要作用是:安装在Director Server上,同时在Director Server上虚拟出一个IP地址,用户必须通过这个虚拟IP地址访问服务器。这个虚拟IP一般称为LVS的VIP,即Virtual IP。访问的请求首先经过VIP到达负载调度器,然后由负载调度器从Real Server列表中选取一个服务节点响应用户的请求。

IPVS实现负载均衡的方法有三种:

VS/NAT:即Virtual Server via Network Address Translation,也就是网络地址翻译技术实现虚拟服务器。

VS/TUN:即Virtual Server via IP Tunneling,也就是通过IP隧道技术实现虚拟服务器。

VS/DR:即Virtual Server via Direct Routing,也就是且直接路由技术实现虚拟服务器。

DR是这3种负载调度方式中性能最好的,但是要求Director Server与Real Server必须由一块网卡连在同一物理网段上。

负载高度算法

下面列举最常用的4种调度算法:

轮叫调度(Round Robin)、加权轮叫调度(Weighted Round Robin)、最少连接高度(Least Connection)、加权最少连接调度(Weighted Least Coonection)。

三、适用环境

目前LVS仅支持Linux和FreeBSD系统作为前端Director Server,但是支持大多数的TCP和UDP协议。支持TCP协议的应用有:HTTP、HTTPS、FTP、SMTP、POP3、IMAP4、PROXY、LDAP和SSMTP等;支持UDP协议应用有:DNS、NTP、ICP、视频和音频流播放协议等。

LVS对Real Server的操作系统没有任何限制,Real Server可运行在任何支持TCP/IP的操作系统上,包括Linux,各种UNIX,Mac OS和Windows等。

虽然Director Server仅完成用户请求的分发处理,负载并不是很大,但是对于一个健壮的系统来说,单点故障是绝对不允许的。要避免这种单点故障,最实用、最简单的办法就是对Director Server进行高可用集群,常见的方法就是为Director Server做一个双机热备:正常状态下主Director Server工作,备用Director Server监控主Director Server的状态,当主Director Server出现异常或故障时,备用Director Server马上接过主Director Server的工作,负责对用户请求进行分发处理。这样就避免了一台Director Server单点故障问题,服务器空间,保障了负载均衡端持续地提供服务。如本文开头的图所示,此图即为高可用的LVS负载均衡集群的完美体现。

说明:上图中的共享磁盘,使用的是上一篇博文模拟出来的共享磁盘!

MASTER Director Server:172.30.8.81

BACKUP Director Server:172.30.8.82

Virtual IP:172.30.8.83

Real Server:172.30.8.84、172.30.8.85

Private IP:10.10.10.1、10.10.10.2

操作系统CentOS 5.8 x32

Private IP需要Director Server再各加一块网卡,配置上私有IP地址,然后再在/etc/hosts里面说明一下即可,香港虚拟主机,这里不再赘述。

环境已经准备就绪,下面开始实际安装与配置。

先下载keepalived-1.2.7.tar.gz和ipvsadm-1.24.tar.gz

先安装keepalived

在安装前需要安装kernel-devel 、libnl-devel、popt-devel

[root@lvs01 ~]# tar zxvf keepalived-1.2.7.tar.gz

[root@lvs01 ~]#cd keepalived-1.2.7

[root@lvs01 keepalived-1.2.7]# ./configure

配置时保证出现下面画面,如下图所示:

我这里没能出现四个yes,即IPVS use libnl为no,查了资料以及后面的安装,发现无影响。如果有知道原因的朋友,麻烦告之一下不出现yes的原因。我所有软件都已安装,呵呵。

[root@lvs01 keepalived-1.2.7]# make && make install

安装完成,执行如下操作:

[root@lvs01 ~]# keepalived –help

这个命令会列出keepalived的各种使用方法,同时也表明keepalived已安装成功。

通过 find / -name keepalived查看keepalived的位置

并进行下图相关操作:

安装LVS软件

配置与检查安装环境

CentOS 5.8,该版本内核默认支持LVS功能。为了方便编译安装IPVS管理软件,在安装操作系统时,建议选择安装如下这些安装包:

桌面环境:xwindows system 、 GNOME desktop environment

开发工具:development tools、x software development、gnome software、development、kde software development

系统安装完毕后,可以通过如下图中的命令检查kernel是否已经支持LVS的IPVS模块。

如有类似上图中的输出,美国空间,表明系统内核默认支持IPVS模块。接下来就可以安装IPVS管理软件了。

[root@lvs01 ~]# tar zxvf ipvsadm-1.24.tar.gz

[root@lvs01 ~]# cd ipvsadm-1.24

[root@lvs01 ipvsadm-1.24]# make

在执行make时可能会出下图中所示的错误:

这是由于编译程序找不到对应的内核造成的。因此在安装ipvsadm软件之前应该做一下内核比对

/usr/src/kernels/下面的内核版本要和linux所使用的内核版本一样,然后做个链接

#ln -s /usr/src/kernels/2.6.18-308.el5-i686 /usr/src/linux

接着

[root@lvs01 ipvsadm-1.24]# make

[root@lvs01 ipvsadm-1.24]# make install

有的linux版本可能不需要做链接,这个自己要注意!

当然为了省事,你可以用yum方式在线安装

#yum install ipvsadm

然后执行#ipvsadm –help

如果看到帮助提示,表明IPVS已安装成功。

当然可以使用#find / -name ipvsadm查看软件安装的位置

至此,软件全部安装完成!

下面要做的工作就是进行配置了…

本文出自 “玉麒麟” 博客,请务必保留此出处

好好的管教你自己,不要管别人。

lvs+keepalive构建负载均衡及服务器集群之一群集软件的说明与安装

相关文章:

你感兴趣的文章:

标签云: