keepalived抢占式和非抢占式

keepalived抢占式和非抢占式

   运维菜鸟     2020年9月11日 01:15     132

1、简介

Keepalivedmaster出现异常恢复后会分为两种模式,一种是抢占式的模式,一种是非抢占式的模式。

抢占式的模式,就是指,当master出现异常,并恢复以后会去再次争夺VIP,将backupVIP down掉,然后master重新生成VIP

非抢占模式,指的是,当master出现异常后,在恢复以后不去争夺已经在backup上产生的VIP,让backup一直保有VIP,直到出现异常。

在实际生产的时候,最好是用非抢占模式,避免已经恢复的业务,再次由于VIP的漂移而产生中断。

 

2、配置

1)抢占式的配置

一般抢占式的配置和两个参数有关

主的配置

state MASTER

priority 100

备的配置

state BACKUP

priority 99

一般priority主的数字要高于备的数字。当然会有其他情况,但是最好就是配置为masterpriority要高于backuppriority

 

2)非抢占式的配置

这个也和两个参数有关系

state BACKUP

nopreempt

两个服务器如上边一样进行配置。

由于两个都是backup,并且都配置了非抢占模式,所以在启动的时候,哪个keepalived被先行启动,哪个就会被设置为master。这里和优先级没有任何关系。

所以这里如果配置检测脚本的时候,也就是在配置vrrp_script的时候一定要在脚本中写好停止keepalived的方法,这样才能实现VIP的切换。


当然过一个配置了nopreempt,另一个服务器不配置nopreemt也可以的。这时候优先级也就需要注意了。

主服务器优先级高于备服务器优先级,并且配置为非抢占模式。

state BACKUP

priority 99

nopreempt


备服务器配置为抢占模式

state BACKUP

priority 90

这样优先级高的服务器就是主服务器,当主服务器发生故障,备服务器接管过业务,当主服务器修复好,并不会去抢占备份服务器的VIP,保证了业务不必再次断链。


其他文章