Keepalived的配置非常簡單,僅僅需要一個配置檔案即可完成HA cluster和lvs服務節點監控功能,Keepalived的安裝已經在上面章節進行了介紹,在通過Keepalived搭建高可用的LVS叢集執行個體中,主、備Director Server都需要安裝Keepalived軟體,安裝成功後,預設的配置檔案路徑為/etc/Keepalived/Keepalived.conf。一個完整的keepalived配置檔案,有三個部分組成,分别是全局定義部分、vrrp執行個體定義部分以及虛拟伺服器定義部分,下面詳細介紹下這個配置檔案中每個選項的詳細含義和用法:
#全局部分:
global_defs{
notification_email {
[email protected] #設定報警郵件位址,可以設定多個,每行一個。注意,如果要開啟郵件報警,需要開啟本機的sendmail服務。
[email protected]
}
notification_email_from [email protected] #設定郵件的發送位址。
smtp_server 192.168.200.1 #設定smtp server位址。
smtp_connect_timeout 30 #設定連接配接smtp伺服器逾時時間。
router_id LVS_MASTER #運作Keepalived伺服器的一個辨別。發郵件時顯示在郵件标題中的資訊
#VRP執行個體定義部分:
vrrp_instace VI_1 {
state MASTER #指定Keepalived的角色,MASTER表示此主機是主用伺服器,BACKUP表示是備用伺服器。
interface eth0 #指定HA監測網絡的接口。
virtual_router_id 51 #虛拟路由辨別,這個辨別是一個數字,并且同一個vrrp執行個體使用唯一的辨別,即同一個vrrp_instance下,MASTER和BACKUP必須是一緻的。
priority 100 #定義優先級,數字越大,優先級越高,在一個vrrp_instance下,MASTER的優先級必須大于BACKUP的優先級。
advert_int 1 #設定MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,機關是秒。
authentication { #設定驗證類型和密碼。
auth_type PASS #設定驗證類型,主要有PASS和AH兩種。
auth_pass 1111 #設定驗證密碼,在一個vrrp_instance下,MASTER與BACKUP必須使用相同的密碼才能正常通信。
}
virtual_ipaddress { #設定虛拟IP位址,可以設定多個虛拟IP位址,每行一個。
192.168.12.135
}
}
#虛拟伺服器定義部分:
virtual_server 192.168.12.135 80 { #設定虛拟伺服器,需要指定虛拟ip位址和服務端口,ip與端口之間用空格隔開。
delay_loop 6 #設定健康檢查時間,機關是秒。
lb_algo rr #設定負載排程算法,這裡設定為rr,即輪詢算法。
lb_kind DR #設定LVS實作負載均衡的機制,可以有NAT、TUN和DR三個模式可選。
persistence_timeout
50
#會話保持時間,機關是秒,這個選項對于動态網頁是非常有用的,為叢集系統中session共享提供了一個很好的解決方案。有了這個會話保持功>
能,使用者的請求會被一直分發到某個服務節點,直到超過這個會話保持時間。需要注意的是,這個會話保持時間,是最大無響應逾時時間,也就是說使用者在操作動态
頁面時,如果在50秒内沒>有執行任何操作,那麼接下來的操作會被分發到另外節點,但是如果一直在操作動态頁面,則不受50秒的時間限制。
protocol TCP #指定轉發協定類型,有tcp和udp兩種。
real_server 192.168.12.246 80 { #配置服務節點1,需要指定real server的真實IP位址和端口,ip與端口之間用空格隔開。
weight 3 #配置服務節點的權值,權值大小用數字表示,數字越大,權值越高,設定權值的大小可以為不同性能的伺服器配置設定不同的負載,可以對性能高的伺服器設定較高的權值,而對性
能較低的伺服器設定相對較低的權值,這樣就合理的利用和配置設定了系統資源。
TCP_CHECK { #realserve的狀态檢測設定部分,機關是秒
connect_timeout 10 #10秒無響應逾時
nb_get_retry 3 #重試次數
delay_before_retry 3 #重試間隔
}
}
real_server 192.168.12.237 80 { #配置服務節點2
weight 1
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
在配置Keepalived.conf時,需要特别注意配置檔案的文法格式,因為Keepalived在啟動時并不檢測配置檔案的正确性,即使沒有配置檔案,Keepalived也照樣能啟動起來,因而配置檔案一定要正确。
在預設情況下,Keepalived在啟動時會查找/etc/Keepalived/Keepalived.conf配置檔案,如果你的配置檔案放在了其它路徑下,可以通過“Keepalived -f”參數指定你所在的配置檔案路徑即可。
Keepalived.conf配置完畢後,将此檔案拷貝到備用Director Server對應的路徑下,然後做兩個簡單的修改即可:
将“state MASTER”更改為“state BACKUP”
将priority 100更改為一個較小的值,這裡改為“priority 80”
最後,還要配置叢集的Real server節點,以達到與Director Server互相廣播通信并忽略arp的目的,腳本的内容已經在上面進行介紹,這裡不做解釋。
#以上内容摘錄自南非螞蟻PPT
參考: