通過keepalived搭建lvs高可用集群
1.配置keepalived
Keepalived的配置僅需要一個配置文件即可完成對HA cluster和LVS服務節點監控,在通過Keepalived搭建高可用的LVS集群實例中,主、備Director Server都需要安裝Keepalived軟件,安裝成功後,默認的配置文件路徑(可以通過rpm -ql keepalived查看)是:/etc/keppalived/keeplived.conf。一個完整的keepalived的配置文件由3個部分組成,分別是全局定義部分、vrrp實例定義部分以及虛擬服務定義部分:
! Configuration File for keepalived
global_defs { #全局定義部分
notification_email {
[email protected] #設置報警郵件地址,可設置多個,每行一個。註意,如果
#要開啟郵件報警,需要開啟本機的sendmail服務
}
notification_email_from Keepalived@localhost #設置郵件的發送地址
smtp_server 192.168.200.1 #設置smtp Server地址
smtp_connect_timeout 30 #設置連接smtp Server的超時時間
router_id LVS_DEVEL #表示運行keepalived服務器的一個標識。
#發郵件時顯示在郵件主題中的信息
}
vrrp_instance VI_1 { #vrrp實例定義部分
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負載均衡器之間同步檢測時間間隔,單位是s
authentication { #設定認證類型和密碼
auth_type PASS #設置驗證類型,主要有PASS和AH兩種
auth_pass 1111 #設置驗證密碼,在一個vrrp_instance下,MASTER和
#BACKUP必須使用相同的密碼才能正常通信
}
virtual_ipaddress { #設置虛擬IP地址,可以設置多個虛擬IP地址,每行一個
192.168.12.200
}
}
virtual_server 192.168.12.200 80 { #設置虛擬服務器,需要指定虛擬IP地址和服
#務端口,IP與端口之間用空格隔開
delay_loop 6 #設置運行情況檢查時間,單位是s
lb_algo rr #設置負載調度算法,這裏設置為rr
lb_kind DR #設置負載均衡的機制,有NAT,DR和TUN三種模式
persistence_timeout #會話保持時間,單位是s。這個對動態網頁是非常有用的,為集群系統中session共享提供了一個很好的解決方案。有了這個會話保持功能,用戶的請求會被一直分發到某個服務節點,直到超過這個會話的保持時間。需要註意的是,這個會話保持時間是最大無響應超時時間,也就是說,用戶在操作動態頁面時,如果在50s內沒有執行任何操作,那麽接下來的操作會被分發到另外的節點,但是如果用戶一直在操作動態頁面,則不受50s的時間限制
protocol TCP #指定轉發協議類型,有TCP和UDP兩種
real_server 192.168.12.132 80 { #配置服務器節點1,需要指定Real Server的真實
#IP和端口,ip和端口之間用空格隔開
weight 3 #配置服務器節點的權限,權值大小用數字表示,數字熱大,權值熱高
TCP_CHECK { #realserver的狀態監測設置部分,單位是s
connect_timeout 3 #表示3s無響應超時
nb_get_retry 3 #表示重試的次數
delay_before_retry 3 #表示重試間隔
}
}
real_server 192.168.12.132 80 { #配置服務器節點2,需要指定Real Server的真實
#IP和端口,ip和端口之間用空格隔開
weight 3 #配置服務器節點的權限,權值大小用數字表示,數字熱大,權值熱高
TCP_CHECK { #realserver的狀態監測設置部分,單位是s
connect_timeout 3 #表示3s無響應超時
nb_get_retry 3 #表示重試的次數
delay_before_retry 3 #表示重試間隔
}
}
}
配置keepalived時,需要特別註意配置文件的語法格式,因為keepalived的啟動時並不監測配置文件的正確性,即使沒有配置文件,keepalived也照樣啟動。
在默認情況下,keepalived在啟動時會查找/etc/Keepalived/Keepalived.conf配置文件。如果配置文件放置在其他路徑下,可以通過keepalived -f參數指定配置文件路徑。
keepalived.conf配置完畢後,將此文件復制到備用Director Server對應的路徑洗,然後進行以下兩個簡單的修改即可:
將“state MASTER”更改為“state BACKUP”。
將“priority 100”更改一個較小的值,這裏改為“priority 80”。
2.配置Real Server節點
與heartbeat+LVS類似,Keepalived+LVS也需要為Real server節點配置相關的腳本,以達到與Director Server相互通信的目的。
3.啟動Keepalived+LVS集群系統
在主、備Director Server上分別啟動Keepalived服務,可以執行如下操作:
/etc/init.d/keepalived start
接著在兩個Real Server上執行如下腳本:
/etc/init.d/lvsrs start
本文出自 “夜色” 博客,請務必保留此出處http://liuqun.blog.51cto.com/3544993/1983272
通過keepalived搭建lvs高可用集群