Keepalived的配置很是簡單,僅僅須要一個配置文件便可完成HA cluster和lvs服務節點監控功能,Keepalived的安裝已經在上面章節進行了介紹,在經過Keepalived搭建高可用的LVS集羣實例中,主、備Director Server都須要安裝Keepalived軟件,安裝成功後,默認的配置文件路徑爲/etc/Keepalived/Keepalived.conf。一個完整的keepalived配置文件,有三個部分組成,分別是全局定義部分、vrrp實例定義部分以及虛擬服務器定義部分,下面詳細介紹下這個配置文件中每一個選項的詳細含義和用法:
#全局部分:
算法
global_defs{ notification_email { dba.gao@gmail.com #設置報警郵件地址,能夠設置多個,每行一個。注意,若是要開啓郵件報警,須要開啓本機的sendmail服務。 ixdba@163.com } notification_email_from Keepalived@localhost #設置郵件的發送地址。 smtp_server 192.168.200.1 #設置smtp server地址。 smtp_connect_timeout 30 #設置鏈接smtp服務器超時時間。 router_id LVS_MASTER #運行Keepalived服務器的一個標識。發郵件時顯示在郵件標題中的信息
#VRP實例定義部分:
shell
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」session
將priority 100更改成一個較小的值,這裏改成「priority 80」
最後,還要配置集羣的Real server節點,以達到與Director Server相互廣播通訊並忽略arp的目的,腳本的內容已經在上面進行介紹,這裏不作解釋。負載均衡
#以上內容摘錄自 南非螞蟻 PPTtcp
參考:oop
高性能集羣軟件Keepalived之基礎知識篇 http://ixdba.blog.51cto.com/2895551/1639562
性能
高性能集羣軟件Keepalived之安裝配置篇 http://ixdba.blog.51cto.com/2895551/1650308
測試
LVS+Keepalived構建高可用負載均衡(配置篇) http://ixdba.blog.51cto.com/2895551/586898
LVS+Keepalived構建高可用負載均衡(測試篇) http://ixdba.blog.51cto.com/2895551/587840
Keepalived中Master和Backup角色選舉策略 http://ixdba.blog.51cto.com/2895551/1544858