一、 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
我这里没能出现四个yes,即IPVS use libnl为no,查了资料以及后面的安装,发现无影响。如果有知道原因的朋友,麻烦告之一下不出现yes的原因。我所有软件都已安装,呵呵。
[root@lvs01 keepalived-1.2.7]# make && make install
安装完成,执行如下操作:
[root@lvs01 ~]# keepalived --help
并进行下图相关操作:
如有类似上图中的输出,表明系统内核默认支持IPVS模块。接下来就可以安装IPVS管理软件了。
[root@lvs01 ~]# tar zxvf ipvsadm-1.24.tar.gz
[root@lvs01 ~]# cd ipvsadm-1.24
[root@lvs01 ipvsadm-1.24]# make
/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查看软件安装的位置
至此,软件全部安装完成!
下面要做的工作就是进行配置了...