相關介紹:
Virtual Route Redundancy Protocol,即虛擬路由冗餘協議。它主要是實現路由器高可用的容錯協議。
將多臺路由器組成路由器組(Router Group),組中包括Master及Backup,在外部看來就像一臺路由
器,擁有一個VIP。Master會發送組播消息,當Backup在指定的時間收不到vrrp包就會認爲master宕掉,
然後通過VRRP協議再次競選新的路由器當Master,從而保證路由器的高可用。
在VRRP協議實現中,虛擬路由器使用00-00-5E-00-01-XX作爲虛擬MAC地址,XX就是唯一的VRID。
實驗目的:
當主Nginx掛掉,從nginx可以立即工作
利用vrrp技術,提供vip
當主nginx掛掉,利用腳本關閉主keepalied,keepalived通過vrrp技術實現從機獲得vip,在從機安裝相同的nginx和配置,從機通過vip繼續爲外界提供服務。
實驗環境:
centos7
nginx / Keepalived(主):192.168.11.129
nginx / Keepalived(備):192.168.11.128
VIP地址:192.168.11.220
實驗步驟:
主:
一、Nginx負載均衡
主/備調度器均能夠實現正常調度
在主調度器上安裝nginx軟件
yum install -y nginx
分別向主調度器nginx的主頁面寫入內容
echo 'nginx01' /usr/share/nginx/html/index.html
啓動nginx服務
systemctl restart nginx
二、Keepalived實現調度器HA
主/備調度器都安裝軟件
yum -y install keepalived
備份keepalived配置文件
cp /etc/keepalived/keepalived.conf{,.bak}
修改keepalived配置文件
vim /etc/keepalived/keepalived.conf
啓動keepalived並查狀態
systemctl restart keepalived
systemctl status keepalived
寫腳本
vim /etc/keepalived/check_nginx.sh
修改文件權限
chmod +x /etc/keepalived/check_nginx.sh
將keepalived配置文件和check_nginx.sh腳本傳給備調度器
scp /etc/keepalived/keepalived.conf 192.168.11.128:/etc/keepalived/
scp /etc/keepalived/check_nginx.sh 192.168.11.128:/etc/keepalived/
***備:
在備調度器上安裝nginx軟件
yum install -y nginx
分別向備調度器nginx的主頁面寫入內容
echo 'nginx02' /usr/share/nginx/html/index.html
修改keepalived配置文件如下:
vim /etc/keepalived/keepalived.conf
修改文件權限
chmod +x /etc/keepalived/check_nginx.sh
在主調度器上測試:
查VIP:
ip a
停nginx服務:
systemctl stop nginx
查keepalived狀態:
systemctl status keepalived
在備調度器上查:
查VIP:
ip a
瀏覽器測試最終結果: