! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval 0
vrrp_gna_interval 0
}
#虛擬路由協議,主要作ip漂移
vrrp_instance VI_1 {
state MASTER #配置主機,其餘備機配置成BACKUP
interface eth0 #主機發送廣播數據包所走的網卡,備機接收數據包的網卡
virtual_router_id 51 #一個標識
priority 100 #權重值,備機要比100小,備機在選擇的時候根據權重值的大小來選擇備機
advert_int 1
authentication { #主備之間通訊的認證
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #配置VIP 格式:IP/掩碼 dev 網卡 label 子網卡
192.168.12.100/24 dev eth0 label eth0:3
}
}
#配置LVS VIP PORT 該段的配置和ipvsadm功能相同
virtual_server 192.168.12.100 80 {
delay_loop 6
lb_algo rr ##負載算法,rr表示輪詢
lb_kind DR ##LVS模式,通常使用DR模型
persistence_timeout 50 ##持久化客戶端到服務器的連接,即若是一個客戶端在50s內又訪問了服務器,那麼優先讓他去鏈接以前的服務器
##這樣的話,就避免了另外一個服務器再爲這個服務器開闢資源。實驗的時候能夠改爲0
protocol TCP
##配置真實服務器 IP PORT 一臺LVS的虛擬server能夠配置多個真實服務器
real_server 192.168.201.100 443 {
weight 1 ##權重
##請求真實服務器是否訪問成功支持HTTP_GET 和 SSL_GET 心跳
HTTP_GET {
url { ##經過url配置對一個路徑的訪問,可配置多個url { }
path / ##測試的路徑
status_code 200##判斷返回結果是不是200
}
connect_timeout 3 ##超時時間
nb_get_retry 3 ##重試次數
delay_before_retry 3 ##兩次重試之間的間隔時間
}
}
}
##一個LVS能夠監聽多個端口
virtual_server 10.10.10.2 1358 {
......}