KeepAlived集群高可用搭建

2021-09-19 21:04:03 字數 2055 閱讀 1279

你的系統是否存在單點故障呢?那麼這裡我們基於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 客戶...