?
LVS_Director + KeepAlivedKeepAlived在該項目中的功能:
1. 管理IPVS的路由表(包括對RealServer做健康檢查)
2. 實現調度器的HA
http://www.keepalived.orgKeepalived所執行的外部腳本命令建議使用絕對路徑
=================================================================================
實施步驟:
1. 主/備調度器安裝軟件
[root@lvs-keepalived-master ~]# yum -y install ipvsadm keepalived
[root@lvs-keepalived-slave ~]# yum -y install ipvsadm keepalived
2. Keepalived
lvs-master
[root@ha-proxy-master ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {router_id lvs-keepalived-master #輔助改為lvs-backup
}vrrp_instance VI_1 {state MASTERinterface ens33 #VIP綁定接口virtual_router_id 80 #VRID 同一組集群,主備一致 priority 100 #本節點優先級,輔助改為50advert_int 1 #檢查間隔,默認為1sauthentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.246.110/32}
}virtual_server 192.168.246.110 80 { #LVS配置delay_loop 6 #健康檢查rs時間間隔lb_algo rr #LVS調度算法lb_kind DR #LVS集群模式(路由模式)protocol TCP #健康檢查使用的協議real_server 192.168.246.162 80 {weight 1inhibit_on_failure #當該節點失敗時,把權重設置為0,而不是從IPVS中刪除TCP_CHECK { #健康檢查connect_port 80 #檢查的端口connect_timeout 3 #連接超時的時間}}real_server 192.168.246.163 80 {weight 1inhibit_on_failureTCP_CHECK {connect_timeout 3connect_port 80}}
}[root@lvs-keepalived-slave ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalivedglobal_defs {router_id lvs-keepalived-slave
}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 80priority 50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.246.110/24}
}
virtual_server 192.168.246.110 80 {delay_loop 6lb_algo rrlb_kind DRprotocol TCPreal_server 192.168.246.162 80 {weight 1inhibit_on_failureTCP_CHECK {connect_port 80connect_timeout 3}}real_server 192.168.246.163 80 {weight 1inhibit_on_failureTCP_CHECK {connect_timeout 3connect_port 80}}
}
3. 啟動KeepAlived(主備均啟動)
[root@lvs-keepalived-master ~]# systemctl start keepalived
[root@lvs-keepalived-master ~]# systemctl enable keepalived[root@lvs-keepalived-master ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.246.110:80 rr persistent 20-> 192.168.246.162:80 Route 1 0 0 -> 192.168.246.163:80 Route 0 0 04. 所有RS配置(nginx1,nginx2)
配置好網站服務器,測試所有RS
[root@test-nginx1 ~]# yum install -y nginx
[root@test-nginx2 ~]# yum install -y nginx
[root@test-nginx1 ~]# ip addr add dev lo 192.168.246.110/32
[root@test-nginx1 ~]# echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf
[root@test-nginx1 ~]# sysctl -p
[root@test-nginx1 ~]# echo "web1..." >> /usr/share/nginx/html/index.html
[root@test-nginx1 ~]# systemctl start nginx
注意事項:如果之前配置了vip,導致顯示不了vip
需要執行systemctl stop keepalived? #先停止在重啟
? ? ? ? ? ? ? ?systemctl start keepalived??
即可顯示vip