Nginx + Keepalived 實現高可用

相關介紹:
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

Nginx + Keepalived 實現高可用

啓動keepalived並查狀態
systemctl restart keepalived
systemctl status keepalived

寫腳本
vim /etc/keepalived/check_nginx.sh

Nginx + Keepalived 實現高可用

修改文件權限
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

Nginx + Keepalived 實現高可用

修改文件權限
chmod +x /etc/keepalived/check_nginx.sh

在主調度器上測試:

查VIP:
ip a
停nginx服務:
systemctl stop nginx
查keepalived狀態:
systemctl status keepalived

Nginx + Keepalived 實現高可用

Nginx + Keepalived 實現高可用

在備調度器上查:
查VIP:
ip a

Nginx + Keepalived 實現高可用

瀏覽器測試最終結果:

Nginx + Keepalived 實現高可用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章