keepalived簡介及使用——面向小白

簡介

  • keepalived是一個能實現高可用的軟件

  • 什麼是高可用?

    • 你可以理解爲是當系統中的某個組件發生故障後,系統依舊處於可用狀態的一種特性
  • keepalived如何實現高可用?

    • 一種方式是熱備(建議百度)
  • 舉個例子,現有數據一模一樣的服務器A和B

圖1 keepalived, 正常情況下
vip
服務器A
服務器B待機
用戶
  • 稍微解釋下
    • vip是由keepalived生成的一個virtual ip
    • 正常情況下,訪問vip就是訪問服務器A(一般我們叫服務器A叫
    • 正常情況下,服務器B不對外提供服務(一般我們叫服務器B叫
    • 此時keepalived正在不停地對服務器A和B進行偵查,看看哪臺有問題
  • 當服務器A宕機後,keepalived會自動讓B來對用戶服務
keepalived, 服務器A宕機
vip
服務器B
服務器A宕機
用戶
  • 稍微解釋下
    • 當keepalived檢測到服務器A宕機後,自動讓B對用戶進行服務
    • 此時,訪問vip就是訪問服務器B
    • 當我們修好服務器A後,keepalived會自動地讓服務器A對用戶進程服務

安裝

安裝軟件

yum install -y keepalived

啓動與停止

  • 以centos7爲例
systemctl start keepalived
systemctl stop keepalived

開機自啓動

systemctl enable keepalived

配置

基本配置

  • keepalived默認配置文件是/etc/keepalived/keepalived.conf

keepalived主配置

vrrp_instance VI_1 {
    state MASTER    # keepalived啓動時,把此設備當做主
    interface bond0 # vip綁定的網口,你可以理解爲,訪問vip就是訪問這個ip
    virtual_router_id 51    # 一個身份標識,簡稱vrid
    priority 100    # 權重,權重高的爲主,主機的權重要比備機高
    advert_int 1    # 檢查間隔,默認爲1秒
    authentication {    # 認證,主備要一致
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress { # vip
        192.168.1.100
    }
}
  • keepalived備配置

    • state MASTER–>state BACKUP
    • priority 100–>priority 90
  • 好,我們在來看下圖

VI_1
vip 192.168.1.100
服務器A 主 權重100
服務器B 備 權重90
用戶
  • 再來解釋下
    • vip來自配置文件的virtual_ipaddress
    • 正常情況下,訪問vip就是訪問服務器A,因爲A的權重比B大

keepalived之間的通信

  • keepalived之間通過vrrp協議通信
  • 那麼可以通過抓包方式查看,如下
  • 在服務器A上運行tcpdump -s0 -i bond0 -n vrrp可以看到
15:09:38.559031 IP 服務器A的IP > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20
  • 意思是在vrid爲51的虛擬路由中,服務器A爲主,權重爲100
  • 想要看得在詳細點可以用tcpdump -s0 -i bond0 -n vrrp -vvv
15:31:27.908882 IP (tos 0xc0, ttl 255, id 40522, offset 0, flags [none], proto VRRP (112), length 40)
    服務器A的IP > 224.0.0.18: VRRPv2, Advertisement, vrid 51, prio 100, authtype simple, intvl 1s, length 20, addrs: 192.168.1.100 auth "1111^@^@^@^@"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章