keepalived配置文件默認位於:/etc/keepalived/keepalived.conf
主要包含三個部分:
1、全局配置
2、VRRP配置
3、LVS配置
#-------------------------全局配置 Start----------------------------------------
#可以在這裏實現郵件發送的功能,但是比較雞肋。通常在vrrp中實現
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
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
}
#-------------------------全局配置 End----------------------------------------
#-------------------------高可用VRRP Start------------------------------------
vrrp_script chk_nginx { #外部腳本,默認的配置文件沒有這個,一般放在vrrp_instance上面
script "/usr/local/script/nginx_check.sh" #腳本存放的地址
interval 2 #調用間隔時間,每2秒一次
weight -2
}
vrrp_instance VI_1 {
state MASTER #標識節點角色(MASTER:主節點;BACKUP:備節點),一定要大寫
interface eth0 #需要監控的網卡,使用ip addr查看。一般爲ens33
virtual_router_id 51 #虛擬路由ID,主備必須相同,表示在同一個虛擬路由器裏面
priority 100 #節點的優先級,備節點一般比主節點低
advert_int 1 #檢查間隔時間,這裏每隔1秒檢查一次
nopreempt #設爲非搶佔模式,主機恢復之後不會自動切回來,主備的state都應該設置爲BACKUP。
authentication {
auth_type PASS #認證類型,主備必須保持一致
auth_pass 1111 #認證密碼,主備必須保持一致
}
virtual_ipaddress {
192.168.200.16/24 #虛擬IP,VIP;“/24”指24爲子網掩碼
}
track_script{ #調用腳本,默認的配置文件沒有這個
chk_nginx
}
}
#-------------------------高可用VRRP End------------------------------------
#-------------------------負載均衡LVS Start---------------------------------
virtual_server 192.168.200.100 443 {
delay_loop 6 #健康檢查時間間隔
lb_algo rr #負載均衡調度算法
lb_kind NAT #負載均衡轉發規則
persistence_timeout 50
protocol TCP #協議
real_server 192.168.201.100 443 { #要監控的real_server的ip和端口號
weight 1 #權重
SSL_GET {
url {
path /
digest ff20ad2481f97b1754ef3e12ecd3a9cc
}
url {
path /mrtg/
digest 9b3a0c85a887a256d6939da88aabd8cd
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
virtual_server 10.10.10.2 1358 {
delay_loop 6
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
sorry_server 192.168.200.200 1358
real_server 192.168.200.2 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.200.3 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
virtual_server 10.10.10.3 1358 {
delay_loop 3
lb_algo rr
lb_kind NAT
persistence_timeout 50
protocol TCP
real_server 192.168.200.4 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.200.5 1358 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
url {
path /testurl3/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334d
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
#-------------------------負載均衡LVS End---------------------------------