安装与配置两台负载均衡器:Lvs1:192.168.1.10Lvs2:192.168.1.11漂移地址(虚拟IP,VIP):Vip:192.168.1.169Real Server:RS1:192.168.1.102RS2:192.168.1.103LVS配置及ipvsadm和keepalived的安装在lvs master和lvs backup主机上安装。
1.首先安装一些辅助package如下:e2fsprogs-devel-1.41.12-18.el6.x86_64.rpmkernel-devel-2.6.32-642.el6.x86_64.rpmkeyutils-libs-devel-1.4-4.el6.x86_64.rpmkrb5-devel-1.10.3-10.el6_4.6.x86_64.rpmlibcom_err-devel-1.41.12-18.el6.x86_64.rpmlibnl-1.1.4-2.el6.x86_64.rpmlibnl-devel-1.1.4-2.el6.x86_64.rpmlibselinux-devel-2.0.94-5.3.el6_4.1.x86_64.rpmlibsepol-devel-2.0.41-4.el6.x86_64.rpmzlib-devel-1.2.3-29.el6.x86_64.rpmopenssl-devel-1.0.1e-15.el6.x86_64.rpmpkgconfig-0.23-9.1.el6.x86_64.rpmpopt-devel-1.13-7.el6.x86_64.rpmpopt-static-1.13-7.el6.i686.rpm安装时可能出现缺少什么package,去iso中找或者网上下载然后安装就可以了rpm –ivh XXXXXXXX.rpm2.然后安装ipvsadm将ipvsadm-1.26.tar.gz压缩文件复制到/usr/local/src/lvs/文件夹下,然后运行tar zxvf ipvsadm-1.26.tar.gz 命令。
创建软连接ln –s /usr/src/kernels/2.6.32-431.el6.x86_64/ /usr/src/linux,然后进去ipvsadm-1.26文件夹cd ipvsadm-1.26,make && make install。
#find / -name ipvsdam 查找的安装位置检查ipvsadm是否安装成功,可直接输入#ipvsadmIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn检查模块是否加入内核#lsmod| grep ip_vsip_vs 78081 03.安装keepalived将keepalived-1.2.2.tar.gz复制到/usr/local/src/lvs/文件夹下,然后解压,运行tar keepalived-1.2.2.tar.gz 命令,然后进去keepalived-1.2.2文件夹下,然后运行配置文件./configure –prefix=/usr/local/keepalived。
运行完后会产生以下效果:Keepalived configuration------------------------Keepalived version : 1.2.2Compiler : gccCompiler flags : -g -O2 -DETHERTYPE_IPV6=0x86ddExtra Lib : -lpopt -lssl -lcryptoUse IPVS Framework : YesIPVS sync daemon support : YesIPVS use libnl : NoUse VRRP Framework : YesUse Debug flags : No注意:Use IPVS Framework : YesIPVS sync daemon support : Yes这两项一定是yes然后执行make && make install,安装keepalived。
查找keepalived的安装位置:# find / -name keepalived/usr/local/keepalived/etc/sysconfig/keepalived/usr/local /keepalived/etc/rc.d/init.d/keepalived/usr/local /keepalived/etc/keepalived/usr/local /keepalived/sbin/keepalived拷贝keepalived的配置文件到/etc目录下# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/# cp /usr/local/ keepalived/ etc/sysconfig/keepalived /etc/sysconfig# mkdir /etc/keepalived# cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived# cp /usr/local/keepalived/sbin/keepalived /usr/sbin将keepalived作为服务添加到chkconfig中,并设置开机启动# chkconfig --add keepalived# chkconfig --level 35 keepalived on# chkconfig --list keepalivedkeepalived 0:off 1:off 2:off 3:on 4:off 5:on 6:off配置LVS在LVS Master主机上,编写如下的配置信息:vi/etc/keepalived/keepalived.conf在编写配置文件时一定要注意“{”与前面一定要有一个空格,不然会出问题,如realserver连接不上lvs master等问题。
内容配置如下:global_defs { #全局定义用来设置keepalived的通知机制和标识router_id LVS_STUN #运行keepalived的机器的一个标识}vrrp_sync_group VGM { #VRRP同步组group {VI_1 #实例名}}vrrp_instance VI_1 { #VRRP实例配置state MASTER#负载均衡器的角色指定instance的初始状态,在两台router都启动后会竞选interface eth0 #承载VIP地址的物理接口,inside_network实例绑定的网卡lvs_sync_daemon_inteface eth0 #lvs syncd绑定的网卡virtual_router_id 51 #虚拟路由器的ID号,VRID标记(0-255),主从设备必须相同priority 100#竞选优先级,数字越大优先级越高,master要比backup高至少50advert_int 5 #检查间隔秒数(心跳频率)authentication { #本VRRP组的认证信息auth_type PASS #认证方式,支持PASS和AHauth_pass 1111 #认证的密码}virtual_ipaddress {#指定漂移地址(VIP),切换至master时这些IP被添加,切换至backup时,这些192.168.1.169 #IP会被删除#热备所针对的虚拟地址(VIP),可以有多个}}virtual_server 192.168.1.169 80 { #虚拟主机,包括虚拟服务器的IP地址、端口VIP port delay_loop 2 #健康检查的间隔时间lb_algo wrr #负载调度算法(wrr为根据权重轮询,其他参见ipvsadm手册)lb_kind DR #负载均衡类型,常用的为DR、NAT方式#persistence_timeout 1 #连接保持时间,适用于动态Web站点、FTP站点等情况protocol TCP #协议类型real_server 192.168.1.102 80 { #真实服务器的IP地址、端口weight 1 #节点权重#inhibit_on_failure #在服务器健康检查失败时,将其weight设置为0,而不是直接从IPVS里删除TCP_CHECK { #TCP健康检查connect_timeout 10 #连接超时nb_get_retry 3 #重试次数delay_before_retry 3 #重试间隔}}real_server 192.168.1.103 80 {weight 1TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3}}}virtual_server 192.168.1.169 3478 {delay_loop 2lb_algo wrrlb_kind DRpersistence_timeout 10protocol UDPreal_server 192.168.1.102 3478 {weight 1TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3}}real_server 192.168.1.103 3478 {weight 1TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3}}}Backup服务器上也是同样的配置,先安装lvs,再安装keepalived,然后配置/etc/keepalived/keepalived.conf,只需将state 改为BACKUP,priority改为比上面的数字小50即可。
然后通过service keepalived start启动keepalived服务,服务启动后,通过ipvsadm –ln来查看虚拟服务器列表,IP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 192.168.1.169:80 wrr persistent 60-> 192.168.1.102:80 Route 1 0 0-> 192.168.1.103:80 Route 1 0 0同时,通过一个终端查看keepalived的日志,tail –f /var/log/messages通过日志可以看到一台lvs的keepalived处于master状态,一台处于backup状态。