Keepalived基礎

Keepalived基礎

keepalived 簡介

keepalived是vrrp協議的軟件實現,原生設計目的是爲了高可用ipvs服務。
vrrp:靜態網關虛擬協議,在兩個路由器之間虛擬出一個IP地址,當一個路由器損壞時,自動將虛擬出的IP地址移動到另一臺路由器上linux

Keepalived 組件

Keepalived基礎
用戶空間核心組件
vrrp stack 消息通告組件,用來廣播虛擬的ip地址在本身這裏
checkers 監測組件,監測後端服務器的存活狀態
system call 標記realserver權重
SMTP 郵件組件,vip發生遷移時能夠經過郵件進行通知。
ipvs wrapper 生成ipvs規則,在內核級別生成。
Netlink Reflector 網絡接口
WatchDog 監控進程,並記錄日誌。後端

keepalived 相關術語

虛擬路由器: Virtual Router
虛擬路由器標識: VRID(0-255),用於惟一標識虛擬路由器
物理路由器:物理路由器分爲master(主設備),backup(備用設備),其中主備之間還存在一個priority(優先級),當兩臺物理路由器設備都爲備時,就看誰的優先級高,優先級高的則成爲主
虛擬IP: VIP (Virtual IP)
虛擬MAC地址: VMC (Virtual MAC)
通告: 用來週期性的通告本身的優先級以及本身的心跳信息,證實本身存活
工做方式: 搶佔式和非搶佔式
當master設備發生故障時,vip將漂移值backup上,master修復後是否將vip進行奪回,若是奪回則爲搶佔式,不奪回則爲非搶佔式。
工做模式:有主備和主主模式
主備: 爲單虛擬路由器,兩臺服務器只有一臺工做,另外一臺只有當主的故障時才啓用
主主: 兩臺服務器互爲主備,即一臺爲主備,另外一臺爲備主,讓兩臺服務器並行運行。bash

keepalived 安裝

使用yum安裝服務器

[root@localhost ~]# yum install keepalived -y

keepalived安裝的相關文件網絡

[root@localhost ~]# rpm -ql keepalived
/etc/keepalived/keepalived.conf     #keepalived主配置文件
/etc/sysconfig/keepalived               #unit file環境配置文件
/usr/lib/systemd/system/keepalived.service      #unit file
/usr/sbin/keepalived        #主程序文件

keepalived配置文件詳解

notification_email {             #郵件通知機制,當keepalived發生故障時,進行發郵件通知
    root@mylinuxops.com             #能夠將其修改也能夠將其改成本機
   }
   notification_email_from root@mylinuxops.com  #郵件從哪裏發出去
   smtp_server 127.0.0.1            #本機的smtp服務器地址
   smtp_connect_timeout 30          #smtp的鏈接超時時長
   router_id n1.mylinuxops.com      #虛擬路由的表示符通常寫本機,確保每一個節點都不相同
   vrrp_skip_check_adv_addr         #跳過檢查數據報文,默認會檢查。
   vrrp_strict                      #嚴格遵循vrrp協議,沒有vip,單播地址,ipv6地址將沒法啓動
   vrrp_iptables                    #不生成iptables規則
   vrrp_mcast_group4 224.0.0.18     #組播,默認狀況下向224.0.0.18發送組播消息
   vrrp_garp_interval 0             #arp報文發送延遲
   vrrp_gna_interval 0              #消息發送延遲

}

vrrp_instance VI_1 {        #配置實例的名稱
    state BACKUP            #服務器角色
    nopreempt               #關閉VIP的搶佔,state都爲BACKUP時生效。
    interface ens33         #默認的接口
    virtual_router_id 27    #虛擬路由ID
    priority 80             #優先級
    advert_int 2            #探測時間
    authentication {        #認證方式
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {     #虛擬的IP地址,將地址綁定在哪一個網卡上,子接口是哪一個
        172.20.27.100 dev ens33 label ens33:0
    }
}
相關文章
相關標籤/搜索