Lvs+keepalived安裝部署
1.Keepalived的設計目標是構建高可用的LVS負載均衡羣集,可以調用ipvsadm工具來創建虛擬服務器、管理服務器池,而不僅僅是雙機熱備。優點:keepalived對lvs負載調度器實現熱備切換,提高可用性,對服務器池中的節點進行健康檢查,自動移除失效節點,恢復後再重新加入。
2.基於lvs+keepalived實現的lvs羣集結構中,至少包含兩臺熱備的負載調度器。使用keepalived構建lvs羣集時,也需要用到ipvsadm管理工具,但是大部分工作會由keepalived自動完成,不需要手動執行ipvsadm(除了查看和監控羣集以外)。
3.配置信息
LVS-DR-MASTER 192.168.20.138 centos6.5_x64
LVS-DR-BACKUP 192.168.20.140 centos7_x64
LVS-DR-VIP 192.168.20.139
WEB1-Realserver 192.168.20.100 centos6.5_x64
WEB2-Realserver 192.168.20.120 centos6.5_x64
Gatewat 192.168.20.1
測試主機 192.168.20.105 Windows7_x64
4.分別在master和backup上安裝lvs(LVS採用dr模式)和keepalived軟件包
安裝keepalived(master和backup上都要安裝)
yum –y install keepalived ipvsadm
啓動keepalived:
service keepalived start
ipvsadm
配置主keepalived:
cd /etc/keepalived/
vi keepalived.conf
service keepalived restart
備keepalived配置文件配置信息:備用服務器可以有多臺,配置時候基本相同只要修改路由器名稱,熱備狀態,優先級就可以了。
yum -y install keepalived
cd /etc/keepalived/
vi keepalived.conf
service keepalived restart
通過ip命令查看(ifconfig看不到),實際狀態爲MASTER的主服務器上將爲eth0自動添加VIP地址。在主上:
ip addr show eth0
5.節點web服務器配置
使用DR模式的時候,節點服務器也需要配置vip地址,並且調整內核的ARP響應參數以阻止更新VIP的MAC地址,避免發生衝突。
cd /etc/sysconfig/network-scropts
cp ifcfg-lo ifcfg-lo:0
vi ifcfg-lo:0
ifup lo:0
#ifconfig lo:0
添加VIP本地訪問路由
vi /etc/rc.local
/sbin/route add -host 192.168.20.139 dev lo:0
route add -host 192.168.20.139 dev lo:0
修改內核參數。
vi /etc/sysctl.conf(最下面添加)
#lvs use
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
sysctl -p
安裝httpd,創建網頁測試lvs集羣
# yum –y install httpd
# vi /var/www/html/index.html
<h1>lvs-web2.test</h1>
# service httpd start
# chkconfig httpd on
Web1和web2做同樣的操作即可。
測試:
在外面直接訪問虛擬ip地址,則可以訪問到對應節點上的網站信息,當主調度器壞掉的時候,會自動切換到備用的調度器上面,網站訪問量根據權重和算法來計算。
查看負載分配情況可以執行下面命令
ipvsadm -lnc
測試調度器:
將主keepalived停掉之後,繼續訪問http://192.168.20.139
,頁面不受影響。
查看vip是否轉移: