利用红帽自带的lvs套件,完成负载均衡,模式DR,调度算法最小连接优先
虚拟访问IP地址为192.168.1.201
lvs1:192.168.1.111 172.16.1.111
lvs2:192.168.1.112 172.16.1.112
webserver1:192.168.1.41 权值为1
webserver2:192.168.1.42 权值为1
1.对yum源添加,/etc/yum.repo.d/iso.repo配置如下,然后安装Piranha
[rhel-iso]
name=Red Hat Enterprise
baseurl=file:///iso
enabled=1
gpgcheck=0
[rhel-server]
name=Red Hat Enterprise
baseurl=file:///iso/Server
enabled=1
gpgcheck=0
[rhel-ScalableFileSystem]
name=Red Hat Enterprise
baseurl=file:///iso/ScalableFileSystem
enabled=1
gpgcheck=0
[rhel-ResilientStorage]
name=Red Hat Enterprise
baseurl=file:///iso/ResilientStorage
enabled=1
gpgcheck=0
[rhel-HighAvailability]
name=Red Hat Enterprise
baseurl=file:///iso/HighAvailability
enabled=1
gpgcheck=0
[rhel-LoadBalancer]
name=Red Hat Enterprise
baseurl=file:///iso/LoadBalancer
enabled=1
gpgcheck=0
2.用图形化界面配置lvs负载均衡,或者直接修改/etc/sysconfig/ha/lvs.conf效果相同
3.配置成功后,图形界面监控结果:
lvs查看IP分流情况
[root@lvs1 ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.201:webcache wlc
-> 192.168.1.41:webcache Route 1 0 0
-> 192.168.1.42:webcache Route 1 0 0
lvs成功配置后的日志
[root@lvs1 ~]# tail -f /var/log/messages
Apr 23 15:25:51 lvs1 pulse[1421]: STARTING PULSE AS MASTER
Apr 23 15:26:09 lvs1 pulse[1421]: partner dead: activating lvs
Apr 23 15:26:09 lvs1 lvsd[1423]: starting virtual service jsprun1 active: 8080
Apr 23 15:26:09 lvs1 lvsd[1423]: create_monitor for jsprun1/Webserver1 running as pid 1433
Apr 23 15:26:09 lvs1 lvsd[1423]: create_monitor for jsprun1/Webserver2 running as pid 1434
Apr 23 15:26:09 lvs1 nanny[1434]: starting LVS client monitor for 192.168.1.201:8080 -> 192.168.1.42:8080
Apr 23 15:26:09 lvs1 nanny[1433]: starting LVS client monitor for 192.168.1.201:8080 -> 192.168.1.41:8080
Apr 23 15:26:09 lvs1 nanny[1434]: [ active ] making 192.168.1.42:8080 available
Apr 23 15:26:09 lvs1 nanny[1433]: [ active ] making 192.168.1.41:8080 available
Apr 23 15:26:14 lvs1 pulse[1425]: gratuitous lvs arps finished
利用虚拟IP访问,我的数据库集群5台,lvs4台,所以数据库就不开了,但是可以看到tomcat在正常工作:
当webserver1出现故障,虚拟IP访问正常其实这时由正常的服务器分担1的工作,webserver1修复后,lvs经过最小连接计算,将访问分发给服务器1,直到两台负载达到均衡。