两台服务器:
server01:192.168.255.128
server01:192.168.177.128
两个vip(各网段一个):
vip_1:192.168.255.222
vip_2:192.168.177.222
server01 配置:
root@server01:~# cat /etc/keepalived/keepalived.conf
! 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 127.0.0.1
smtp_connect_timeout 30
router_id s1.mylinuxops.com
#vrrp_skip_check_adv_addr
#vrrp_strict
#vrrp_garp_interval 0
#vrrp_gna_interval 0
}
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
weight 2
fall 3
rise 2
}
# as master
vrrp_instance VI_1 { # vrrp组名称
state MASTER # 为 master
interface eth0
virtual_router_id 51 # 虚拟路由编号,主备要一致
priority 100 # 优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
unicast_src_ip 192.168.255.128 # 本端地址
unicast_peer { # 对端地址
192.168.177.128
}
virtual_ipaddress {
192.168.255.222 dev eth0 label eth0:1 # vip_1
}
track_script {
chk_nginx
}
}
# as backup
vrrp_instance VI_2 { # vrrp组名称
state BACKUP # 为 backup
interface eth0
virtual_router_id 52 # 虚拟路由编号,主备要一致
priority 80 # 优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
unicast_src_ip 192.168.255.128
unicast_peer {
192.168.177.128
}
virtual_ipaddress {
192.168.177.222 dev eth0 label eth0:1 # vip_2
}
track_script {
chk_nginx
}
}
server02 配置:
root@server03:~# cat /etc/keepalived/keepalived.conf
! 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 127.0.0.1
smtp_connect_timeout 30
router_id s2.mylinuxops.com
#vrrp_skip_check_adv_addr
#vrrp_strict
#vrrp_garp_interval 0
#vrrp_gna_interval 0
}
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
}
# as backup
vrrp_instance VI_1 { # vrrp组名称
state BACKUP # 为 backup
interface eth0
virtual_router_id 51 # 虚拟路由编号,主备要一致
priority 80 # 优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
unicast_src_ip 192.168.177.128
unicast_peer {
192.168.255.128
}
virtual_ipaddress {
192.168.255.222 dev eth0 label eth0:1 # vip_1
}
track_script {
chk_nginx
}
}
# as master
vrrp_instance VI_2 { # vrrp组名称
state MASTER # 为 master
interface eth0
virtual_router_id 52 # 虚拟路由编号,主备要一致
priority 100 # 优先级
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
unicast_src_ip 192.168.177.128
unicast_peer {
192.168.255.128
}
virtual_ipaddress {
192.168.177.222 dev eth0 label eth0:1 # vip_2
}
track_script {
chk_nginx
}
}
启动 keepalived:
server01:
server02: