keepalived是乙個類似於layer3, 4 & 5交換機制的軟體,即可以使ip層、傳輸層、和應用層的服務冗餘集群化。常應用於ip的虛擬化,能夠實現mysql、nginx等服務的雙機熱備。
keepalived高可用服務對之間的故障切換轉移,是通過 vrrp (virtual router redundancy protocol ,虛擬路由器冗餘協議)來實現的。
在 keepalived服務正常工作時,主 master節點會不斷地向備節點傳送(多播的方式)心跳訊息,用以告訴備backup節點自己還活看,當主 master節點發生故障時,就無法傳送心跳訊息,備節點也就因此無法繼續檢測到來自主 master節點的心跳了,於是呼叫自身的接管程式,接管主master節點的 ip資源及服務。而當主 master節點恢復時,備backup節點又會釋放主節點故障時自身接管的ip資源及服務,恢復到原來的備用角色。
nginx:1.14.2
keepalived:2.0.12
兩個軟體的安裝都是使用的原始碼包編譯安裝。
192.168.50.80 nginx+keepalived
192.168.50.81 negin+keepalived
192.168.50.100 vip
80上的配置檔案
1 vim /opt/keepalived-2.0.12/etc/keepalived/keepalived.conf23global_defs 67
vrrp_instance vi_1
17virtual_ipaddress
20 }
81上的配置檔案
1 vim /opt/keepalived-2.0.12/etc/keepalived/keepalived.conf23global_defs 67
vrrp_instance vi_1
17virtual_ipaddress
20 }
啟動keepalived
1 cd /opt/keepalived-2.0.12/sbin2 ./keepalived -f /opt/keepalived-2.0.12/etc/keepalived/keepalived.conf
關閉keepalived
1 pkill keepalived
keepalived日誌位置:/var/log/message
同時啟動80和81的nginx和keepalived,訪問vip192.168.50.100,訪問到的是主伺服器80上的nginx,此時vip是虛擬註冊在80的網絡卡上。
將80上的keepalived關閉,vip就被註冊到了81上,再次訪問vip,就訪問到了80的nginx。
上述過程,vip始終是可以訪問的,只是後台切換了不同的nginx伺服器。
主伺服器的keepalived關閉,虛擬ip就自動轉移到備用伺服器,由此我們可以寫乙個定時任務,不斷檢測應用(nginx、mysql等)是否正常,一旦檢測到應用異常,關閉相對主機上的keepalived,下次使用者的訪問就會自動轉移到備用伺服器上。
nginx keepalived學習目錄
keepalived權威指南 深入理解nginx nginx模組開發與架構解析第二版 nginx開發從入門到精通 keepalived工作原理和配置說明 1 nginx安裝和介紹 2 nginx的啟動和停止 3 nginx程序模型 4 nginx處理請求過程 5 nginx配置一 6 nginx配置...
Nginx Keepalived 負載均衡
喜歡搞nginx,這兩天研究了一下nginx的負載配置 nginx平台搭建 nginx mysql php fpm搭建高效能nginx平台 單nginx負載均衡 nginx 負載均衡 配置全過程 熟悉上面的配置之後,今天我再來搞nginx keepalived 的配置,具體拓撲如下 一 安裝keep...
nginx keepalived雙機熱備
採用nginx實現反向 配置集群,實現軟f5的功能。nginx.conf的配置如下 server 192.168.2.134 8082 upstream socologin server access log home soco share nginx logs access.log access ...