目錄
keepalived雙機熱備
一、配置準備
二、配置雙機熱備(基于nginx)
web1端
修改配置文件
配置腳本文件?
web2端
修改配置文件
配置腳本文件?
模擬檢測
開啟keepalived服務
訪問結果
故障模擬
中止nginx
查看IP
訪問瀏覽器
重啟服務后
三、基于lvs的負載均衡實現keepalived的高可用
1、配置準備
添加
下載
還原
2、lvs1端
修改配置文件
加載模塊
啟動服務
lvs2端
修改配置文件
加載模塊
啟動服務
web1端與web2端
修改文件
添加路由
驗證
當web訪問地址失效時
移除web1的訪問文件
此時lvs1端
現在移動回原位置
當lvs1端服務出現故障時
停掉lvs1端的keepalived服務
此時lvs2接替lvs1端的工作,實現高可用
keepalived雙機熱備
一、配置準備
關閉防火墻、安全上下文
[root@everyone ~]# systemctl stop firewalld
[root@everyone ~]# setenforce 0
下載服務
[root@everyone ~]# yum install -y nginx keepalived
二、配置雙機熱備(基于nginx)
web1端
[root@web1 ~]# ip a
[root@web1 ~]# echo web1 > /usr/share/nginx/html/index.html
[root@web1 ~]# systemctl start nginx
修改配置文件
[root@web1 ~]# cd /etc/keepalived/
[root@web1 keepalived]# cp keepalived.conf.sample keepalived.conf
[root@web1 keepalived]# vim keepalived.conf
配置腳本文件?
腳本是為了當nginx服務意外中斷時,keepalived會自動檢測,并進行處理
[root@web1 keepalived]# vim check_nginx.sh
[root@web1 keepalived]# chmod +x check_nginx.sh
web2端
[root@web2 ~]# ip a
[root@web2 ~]# echo web2 > /usr/share/nginx/html/index.html
[root@web2 ~]# systemctl start nginx
修改配置文件
[root@web2 ~]# cd /etc/keepalived/
[root@web2 keepalived]# cp keepalived.conf.sample keepalived.conf
[root@web2 keepalived]# vim keepalived.conf
配置腳本文件?
腳本是為了當nginx服務意外中斷時,keepalived會自動檢測,并進行處理
[root@web1 keepalived]# vim check_nginx.sh
[root@web1 keepalived]# chmod +x check_nginx.sh
模擬檢測
開啟keepalived服務
虛擬IP都在web1端(master)生效
訪問結果
均訪問的web1
故障模擬
中止nginx
暫停web1的nginx服務
查看IP
因為腳本中檢測nginx服務停止,所以停止了web1的keepalived服務,web2檢測到web1的keepalived服務停止,所以接替web1的keepalived服務
訪問瀏覽器
此時訪問
重啟服務后
因為web1的權重值高于web2 所以? 切為web1的keepalived工作
三、基于lvs的負載均衡實現keepalived的高可用
1、配置準備
添加
添加兩臺web端? web1與web2
下載
下載ipvsadm服務
還原
還原keepalived服務,并重名命為lvs1與lvs2
2、lvs1端
修改配置文件
[root@lvs1 keepalived]# vim keepalived.conf
加載模塊
[root@lvs1 keepalived]# modprobe ip_vs
啟動服務
lvs2端
修改配置文件
[root@lvs2 keepalived]# vim keepalived.conf
加載模塊
[root@lvs2 keepalived]# modprobe ip_vs
啟動服務
web1端與web2端
修改文件
[root@web1/web2 ~]# vim /etc/sysctl.conf
[root@web1/web2 ~]# sysctl -p
添加路由
[root@web1/web2 ~]# ifconfig lo:0 192.168.100.100/32
[root@web1/web2 ~]# route add -host 192.168.100.100 dev lo:0
[root@web1/web2 ~]# route -n
驗證
當web訪問地址失效時
移除web1的訪問文件
此時lvs1端
現在移動回原位置
此時lvs1端
當lvs1端服務出現故障時
停掉lvs1端的keepalived服務
此時lvs2接替lvs1端的工作,實現高可用
?