一、环境说明:系统环境:ubuntu14.04lvs服务器:10.36.1.55/10.36.1.56真实服务器:10.36.1.55/10.36.1.56 在这里也充当MysqL和zabbix角色VIP:10.36.1.101部署目的:1、访问VIP的3306端口,可以将请求报文转发至10.36.1.55-56上进行负载2、zabbix agent向VIP的10051端口上报采集数据的时候,可以将请求报文转发至10.36.1.55-56上进行负载3、向VIP访问80端口(zabbix web管理界面)的时候,可以将请求报文转发至10.36.1.55-56上进行负载二、安装LVS(两台服务器都要安装)apt-get -y install ipvsadm查看版本 ipvsadm -v查看是否已加载进内核模块中lsmod | grep ip_vs#查看lvs规则ipvsadm -L -n #查看连接情况ipvsadm -L -c 三、配置LVS VIP服务说明:-A是添加一条虚拟服务器记录,即VIP。此处配置要选择算法ipvsadm -A -t 10.36.1.101 -s wrr -p 300 #代理转发所有去往该IP TCP的报文,-s指定算法wrr为加权轮询算法,-p会话保持时间(默认值是300s)ipvsadm -A -t 10.36.1.101:80 -s wrr -p 20 #代理转发去往该IP TCP80端口的报文ipvsadm -A -t 10.36.1.101:3306 -s wrr -p 20ipvsadm -A -t 10.36.1.101:10051 -s wrr -p 20四、VIP维护使用-E修改VIP设置例:ipvsadm -E -t 10.36.1.101 -s wrr -p 40 #可修改会话保持时间与算法。使用-D删除VIP设置例:ipvsadm -D -t 10.36.1.101 #删除该条VIP五、配置LVS RIP规则-a是添加VIP要对哪些真实服务器IP(即RIP)进行负载(默认是DR模式即-g)。我这里的LVS服务器也充当了真是服务器ipvsadm -a -t 10.36.1.101 -r 10.36.1.55 -g -w 1 #-r指定真实服务器IP,-g为选择DR模式(-m为NAT模式,-t为tunnel模式),-w选择权重。ipvsadm -a -t 10.36.1.101 -r 10.36.1.56 -g -w 1#如果只对tcp 80端口进行负载,可使用如下命令:ipvsadm -a -t 10.36.1.101:80 -r 10.36.1.55:80 -g -w 1 ipvsadm -a -t 10.36.1.101:80 -r 10.36.1.56:80 -g -w 1 ipvsadm -a -t 10.36.1.101:3306 -r 10.36.1.55:3306 -g -w 1 ipvsadm -a -t 10.36.1.101:3306 -r 10.36.1.56:3306 -g -w 1 ipvsadm -a -t 10.36.1.101:10051 -r 10.36.1.55:10051 -g -w 1 ipvsadm -a -t 10.36.1.101:10051 -r 10.36.1.56:10051 -g -w 1 RIP维护:使用-e修改RIP配置例:ipvsadm -e -t 10.36.1.101 -r 10.36.1.55 -g -w 4 #修改这条RIP规则的权重。使用-d删除RIP配置例:ipvsadm -d -t 10.36.1.101 -r 10.36.1.55 -g -w 1 #删除该条RIP配置六、在真实服务器上配置VIP在两台真实服务器上都配置上VIP,即10.36.1.101地址。ifconfig lo:0 10.36.1.101 netmask 255.255.255.255七、在真实服务器上关闭ARP响应关闭真实服务器上loop口的arp回应,其它口的无须关闭。默认arp_ignore和arp_announce的参数都是0,即回应所有目的IP是本机的arp请求。在所有真实服务器上进行如下操作:echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore #只回答目标IP地址是来访网络接口本地地址的ARP查询请求。echo "2">/proc/sys/net/ipv4/conf/all/arp_announce #对查询目标使用最适当的本地地址。#此处可以进行测试,在测抑制arp前,能ping通VIP地址。在抑制arp后,在前端交换机上清掉arp缓存,再ping VIP就不通了。但物理eth0网卡IP还是能通的。arp含义参考地址:http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html接下来在lvs上配置VIP:ifconfig lo:0 10.36.1.101 netmask 255.255.255.255 (注意,我这里是LVS和业务服务器都跑一起了,所以配置一次即可)八、开启内核转发功能在lvs上开启内核转发功能。echo 'net.ipv4.ip_forward=1' >>/etc/sysctl.confsysctl -p #查看配置9、LVS测试#查看lvs规则ipvsadm -L -n #查看连接情况ipvsadm -L -c 至此lvs搭建成功。说明:以上配置系统重启以后无效,需重新配置一遍10、配置好后,那么目前的lvs面临有哪些问题呢?1、自身无法对真实服务器保活,如果出现服务器down情况,还会向down的服务器转发请求。解决方法是keepalived或自已写脚本来监测连通性再清除相应规则。2、一台LVS服务器会出现单点故障,需要有备份LVS服务器,解决方法是keepalived来进行LVS故障接管。