keepalived非抢占模式配置及关闭网卡无法实现切换vip的问题

论坛 期权论坛 脚本     
已经匿名di用户   2021-11-26 17:15   3768   0

keepalived非抢占模式,大致有三个地方需要配置

1,state BACKUP

2,主备的priority 的值不同

3,nopreempt

我的配置,分别在两台机器上配置

主机1:172.26.0.66

主机2:172.26.0.111

VIP:172.26.0.109

主机1的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 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
}

#vrrp_script check_run {
# script "/usr/cloudland/keepalived/keepalived_check.sh"
# script "/usr/cloudland/keepalived/sync_data.sh"
# interval 3
#}

vrrp_instance VI_1 {
state BACKUP
interface ens192
virtual_router_id 109
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}

virtual_ipaddress {
172.26.0.109/24 dev ens192
}

#track_script {
# check_run
# }
notify_master "/usr/cloudland/keepalived/update_companyId.sh"
notify_backup "/usr/cloudland/keepalived/master_backup.sh backup"
}

virtual_server 172.26.0.109 3306 {
delay_loop 6
lb_algo wrr
lb_kind Dr
persistence_timeout 60
protocol UDP

real_server 172.26.0.66 3306 {
weight 3
#notify_down /root/shutdown.sh
UDP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}

主机2的keepalived配置

! 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
}

#vrrp_script check_run {
# script "/usr/cloudland/keepalived/keepalived_check.sh"
# script "/usr/cloudland/keepalived/sync_data.sh"
# interval 3
#}

vrrp_instance VI_1 {
state BACKUP
interface ens192
virtual_router_id 109
priority 90
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}

virtual_ipaddress {
172.26.0.109/24 dev ens192
}

#track_script {
# check_run
# }
notify_master "/usr/cloudland/keepalived/update_companyId.sh"
notify_backup "/usr/cloudland/keepalived/master_backup.sh backup"
}

virtual_server 172.26.0.109 3306 {
delay_loop 6
lb_algo wrr
lb_kind Dr
persistence_timeout 60
protocol TCP

real_server 172.26.0.111 3306 {
weight 3
#notify_down /root/shutdown.sh
TCP_CHECK {
bindto 172.26.0.66
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 3306
}
}
}

配置好之后,实际测试的时候发现,通过断网线和kill掉keepalived服务,都可以实现切换,但是通过systemctl stop network就无法实现vip漂移

通过systemctl stop network停用网络服务是不能转移的,尽管这时候你ping不通,你会发现在keepalived的服务还在,拔掉网线或者systemctl stop keepalived
都可以转移,但是不能通过system stop network使VIP漂移,具体原理,应该是systemctl stop network只是停用了上层的网络服务吧,但是底层物理连接
还可以连接吧,而vrrp协议正是基于这种物理的真实连接,所以keepalived应该不能监测网卡故障,你可以写一个监控脚本,一定时间内,ping不通对端的IP,就
把自己的keepalived杀死

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP