你的系統是否存在單點故障呢?那麼這裡我們基於docker演示下基於keepalive的高可用配置。
keepalived是乙個用c語言編寫的路由軟體,它的主要目的是為了提供基於linux伺服器的負載均衡和高可用功能。其負載均衡是依賴lvs的,keepalived還實現了一些的檢測器來實現後端伺服器的健康檢查。
它的高可用是通過vrrp協議實現的。
原理:keepailived有一台主伺服器和多台備份伺服器,在主伺服器和備份伺服器上面部署相同的服務配置,使用乙個虛擬ip位址對外提供服務,當主伺服器出現故障時,虛擬ip位址會自動漂移到備份伺服器。
這裡為了簡單起見,我使用docker來模擬linux系統,使用容器與作業系統上的操作差別不是特別大,明白其配置檔案與原理在**都可以搭建。
拉取keepalived映象,正常情況下我們先用docker search ***來搜尋想要的映象,如果覺得命令列模式下不好用,可以在dockerhub上搜尋。
docker pull arcts/keepalived:1.2.0
對於拉取的映象,點進去檢視映象的詳情,映象的tag,還有映象的使用說明。
根據詳情及自己所需建立容器,因為keepalived需要建立vip,其對網路許可權要求較高,我們在啟動容器的時候需要增加許可權,啟動方式如下。
docker run -it --name ha1 --net=host --cap-add net_admin 124d8d1c0dc2 /bin/bash
docker run -it --name ha2 --net=host --cap-add net_admin 124d8d1c0dc2 /bin/bash
準備keepalived的配置檔案,其配置語法參考文章末尾的官方文件。因為是在容器中,對lvs支援不是特別好,暫時不用lvs。只配置keepalived演示vip的高可用。
// master的配置
vrrp_instance main
virtual_ipaddress
}vrrp_instance main
virtual_ipaddress
}
解釋幾個比較關鍵的引數:
// 全域性塊
global_defs
// vrrp例項塊
vrrp_instance xx
// 虛擬伺服器塊
virtual_server ip port
}
進入容器啟用keepalived
兩個容器啟動方式差不多,配置檔案稍微一點不同
#進入容器內部
docker exec -it ha1 /bin/bash
#檢視keepalived的幫助資訊
keepalived -h
#編輯配置檔案
vi /etc/keepalived/keepalived.conf
# 測試配置檔案,然後執行,具體的引數根據命令列的幫助資訊自己執行
keepalived -t -f /etc/keepalived/keepalived.conf
keepalived l -f /etc/keepalived/keepalived.con
這次我們只是演示keepalived的高可用。
當我們不啟用keepalived的時候,172.17.0.253這個ip是ping不通的
當我們執行兩個keepalived軟體的時候,可以ping通172.17.0.253這個軟體
掛掉任何乙個節點,172.17.0.25仍然可以ping通
這次沒有做過多的功能,但是可以想到當ip實現高可用的時候,ip繫結的伺服器提供的服務就是高可用的。
Keepalived高可用集群
目錄 keepalived keepalived實現主備 keepalived軟體起初是專為lvs負載均衡軟體設計的,用來管理並監控lvs集群系統中各個伺服器節點的狀態,後來又加入了實現高可用的vrrp功能。因此 keepalived 除了能夠管理lvs軟體外,還可以作為其他服務 例如 nginx ...
keepalived高可用集群
1.keepalived服務概念說明 keepalived軟體能幹什麼?keepalived軟體起初是專為lvs負載均衡軟體設計的,用來管理並監控lvs集群系統中各個服務節點的狀態,後來又加入了可以實現高可用的vrrp功能 keepalived軟體主要是通過vrrp協議實現高可用功能的。vrrp是v...
高可用集群 Keepalived
1.vrrp熱備 ftp,mysql,httpd,nginx,lvs 2.自動配置lvs規則 3.健康檢查 使用keepalived實現web伺服器的高可用 web伺服器ip位址分別為192.168.4.100和192.168.4.200 web伺服器的浮動vip位址為192.168.4.80 客戶...