yum -y install ipvsadm yum -y install keepalived
啓動keepalived服務web
systemctl start keepalived.service
使用配置LVS的時候,不能直接配置內核中的ipvs,需使用ipvs的管理工具ipvsadm進行管理。用於查看lvs轉發及代理狀況的工具。
2).修改keepalived配置文件
20的Master配置文件以下:
vim /etc/keepalived/keepalived.conf算法
! Configuration File for keepalived global_defs { notification_email { admin@localhost } notification_email_from root@localhost router_id LVS_01 #表示運行keepalived服務器的一個標識,發郵件時顯示在郵件主題的信息 vrrp_skip_check_adv_addr vrrp_garp_interval 0 vrrp_gna_interval 0 } vrrp_instance VI_1 { state MASTER #指定keepalived的角色Master interface ens192 #網卡,ip a查看 virtual_router_id 100 #虛擬路由標識,主備兩個節點的設置必須同樣,以指明各個節點屬於同一VRRP組 priority 100 #定義優先級,Master的priority要高於slave advert_int 1 #設定MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位秒 authentication { #設置驗證類型和密碼 auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.20.1.99/24 dev ens192 #設置VIP } } virtual_server 10.20.1.99 443 { #設置虛擬服務器,需指定虛擬IP地址和服務端口 delay_loop 3 #健康時間檢查,單位秒 lb_algo rr #負載均衡調度算法wlc|rr lb_kind DR #設置LVS實現負載均衡機制,有NAT、TUN、DR三個模式 persistence_timeout 50 #會話保持時間,單位秒。此選項對動態網頁是很是有用 protocol TCP #指定轉發協議類型,有TCP和UDP real_server 10.20.1.22 443 { #Real Server服務器,這裏爲Nginx服務器 weight 1 #設置權重 TCP_CHECK { #設置檢查方式,能夠設置HTTP_GET | SSL_GET connect_port 443 #檢測Real Server的偵聽端口 connect_timeout 5 #超時時間,單位秒。若是在這個時間內無返回,則說明一次監測失敗 retry 3 #設置多少次監測失敗,就判斷這個Real Server死掉 delay_before_retry 3 #重試間隔 } } real_server 10.20.1.23 443 { weight 1 TCP_CHECK { connect_port 443 connect_timeout 5 retry 3 delay_before_retry 3 } } }
21的slave的/etc/keepalived/keepalived.conf配置,需更改state Backup和修改priority的值小於master的priority。
Master服務器上查看IP,VIP在Master上。
ipvsadm命令查看規則。
3). Real Server配置
由於VS/DR模式,在後端Real Server即Nginx服務器上配置腳本。配置兩臺Nginx服務器上爲迴環地址lo:0綁定VIP地址、ARP廣播。
vim /opt/scripts/lvs_rs.shvim
#!/bin/bash vip=10.20.1.99 ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up route add -host $vip dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p &>/dev/null
在2二、23服務器上分別執行。
4). 測試LVS+Keepalived高可用羣集
客戶端的瀏覽器中,可以經過LVS+Keepalived羣集的VIP地址漂移(10.20.1.99)正常訪問web,驗證羣集構建成功。
先在20Master上將keepalived.service服務器關閉,查看IP狀況:
發現VIP沒了。
而後在21Slave上查看VIP是否漂移過來了:
發現VIP已經來到Slave上了。
這時,將20Master上將keepalived.service服務又從新啓動,VIP後回來了。後端