keepalived设置master故障恢复后不重新抢回VIP配置

允许组播,两台设备上都需要执行
iptables -A INPUT -d 224.0.0.18 -j ACCEPT
或修改:vim /etc/sysconfig/iptables
适当位置添加行:
-A INPUT -d 224.0.0.18 -j ACCEPT

默认情况下keepalived 有一台主服务器(master,以后称之为M服务器),一台备服务器(backup,以后称之为B服务器)。
正常情况下M服务器接管VIP成为【主】,当M服务器宕机后,B服务器接管VIP成为【主】,已达到灾备的效果,如果M服务器再次恢复正常,那么M服务器会重新抢回VIP成为【主】 B服务器变成【备】。

核心配置如下,配置这里不全,需要注意:
Master配置

vrrp_instance VI_1 {
state MASTER
interface eno16777736
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.120
}
#notify_master /home/keepshell/notify_master.sh
#notify_backup /home/keepshell/notify_backup.sh
#notify_fault /home/keepshell/notify_fault.sh
#notify_stop /home/keepshell/notify_stop.sh
}

Backup配置

vrrp_instance VI_1 {
state BACKUP
interface eno16777736
virtual_router_id 51
nopreempt
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.80.120
}
#notify_master /home/keepshell/notify_master.sh
#notify_backup /home/keepshell/notify_backup.sh
#notify_fault /home/keepshell/notify_fault.sh
#notify_stop /home/keepshell/notify_stop.sh
}

有的时候我们需要M服务器在恢复正常后不要重新接管VIP,让B服务器继续为【主】 让后来恢复正常的M服务器为【备】。

修改Master配置, Backup服务器的配置不变。

vrrp_instance VI_1 {
? ? state BACKUP
? ? interface eno16777736
? ? virtual_router_id 51
? ? priority 100
? ? nopreempt
? ? advert_int 1
? ? authentication {
? ? ? ? auth_type PASS
? ? ? ? auth_pass 1111
? ? }
? ? virtual_ipaddress {
? ? ? ? 192.168.80.120
? ? }
? ? notify_master /home/keepshell/notify_master.sh
? ? notify_backup /home/keepshell/notify_backup.sh
? ? notify_fault ?/home/keepshell/notify_fault.sh
? ? notify_stop ? /home/keepshell/notify_stop.sh
}

state MASTER 修改为?state BACKUP?
nopreempt ?设置为不抢夺VIP

没错,修改M,B服务器的 ?state BACKUP 都为【备】类型,同时设置?nopreempt ?设置为不抢夺VIP,然后先启动M服务器,M服务器会成为【主】,
然后启动B服务器,由于M的优先级高【priority 100】 所以B不会抢夺VIP,这时M宕机,B成为【主】,接着M恢复正常,由于设置了nopreempt 所以M不会抢夺VIP,B继续为【主】而M为【备】。

原文地址:http://blog.51cto.com/13120271/2327004

时间: 2024-08-22 21:29:48

keepalived设置master故障恢复后不重新抢回VIP配置的相关文章

【转】使用keepalived设置虚拟IP环境

准备 准备两台机器,IP地址信息如下: host1: 192.168.56.103 host2: 192.168.56.104 为了测试需要,分别在两台机器上安装apache并启动httpd服务,使下面两个url均可访问: http://192.168.56.103 http://192.168.56.104 安装keepalived 在两台机器上分别安装keepalived sudo yum install -y keepalived 配置keepalived host1上keepalived

Jenkins设置Master/Slave

说明:通过master/slave模式,可以在master节点上统一管理其他slave节点. 下面说明一步步实现master/slave模式. 第一步:以管理员登录jenkins.点击"系统管理/管理节点". 注:一般用户也可以添加节点.IE输入:http://ip:port/jenkins/computer/即可介入节点视图. 第二步:选择"新建节点".如果是首次创建,则只有"dumb slave"可用,否则还可从现有节点复制. 第三步:选择&

Keepalived中Master和Backup主备切换机制浅析

在keepalived的VRRP实例配置中会一般会设置Master和Backup来指定初始状态,但是这并不意味着此节点一直就是Master角色.控制节点角色的是Keepalived配置文件中的"priority"值和vrrp_script模块中设置的"weight"值.下面分别分情况对主备机切换机制作详细说明. 配置简介: 主机 IP 操作系统 软件 VIP 备注 nginx01 172.27.9.91 Centos7 keepalived nginx 172.27

误把Linux运行级别设置为6后的解决方法【转】

本文转载自:http://www.wuji8.com/meta/841011126.html 误把Linux运行级别设置为6后的解决方法 我们知道,Linux有7个运行级别,而运行级别设置为6后,会导致Linux系统刚启动完成就立刻重启,重启后又会立刻重启,如此反复,导致系统不能正常运行.本文笔者和大家分享一下误把Linux运行级别设置为6后如何解决的经验.我们一起开始吧! 工具/原料 装有Linux系统的电脑 方法/步骤 在Linux系统启动读秒的过程中,如下图所示,立刻按下键盘上的“E”键(

移动窗体(边框设置为None后的窗体)

1 #region 移动窗体(边框设置为None后的窗体) 2 3 /// <summary> 4 /// 重写WndProc方法,实现窗体移动和禁止双击最大化 5 /// </summary> 6 /// <param name="m">Windows 消息</param> 7 protected override void WndProc(ref Message m) 8 { 9 switch (m.Msg) 10 { 11 case

设置N秒后执行某个方法或函数

设置N秒后执行一个函数,最常用的是设置一个定时器,今天刚看到有这样一个函数,感觉还是比较简单实用的,就先记下来,免得忘记了. 5秒后执行pushSecondController这个函数 [self performSelector:@selector(pushSecondController) withObject:nil afterDelay:5.0f]; 比如:在第一个视图出现后5秒就跳转到第二个视图,代码如下: 参考资料:http://blog.csdn.net/chaoyuan899/ar

误把Linux运行级别设置为6后的解决方法

在Linux系统启动读秒的过程中,如下图所示,立刻按下键盘上的"E"键("e"是"edit"的首字母,注意输入的是小写的字母e,上面说的是键盘上显示的"E"键,不是按"Shift+E",下同): 在如下图所示的界面中,再按一次键盘上的"E"键: 通过按向下的方向键选中第二项,如下图所示: 再次按下键盘上的"E"键,进入如下的界面: 输入" 1",注

在pfsense中设置多WAN后,网银无法登陆的解决!

在pfsense中设置多WAN后,网银登陆一般会失效.出现这个问题原因大多是网银的安全机制问题 ,银行网站访问不允许登陆用户的IP地址短时间发生变化. 解决办法是指定网银访问的443端口流量走某一个固定的网关. 下面以pfsense2.34的设置为例: 设置好的规则如下: 2017-5-31

Stuts2的&quot;struts.devMode&quot;设置成true后,不起作用的解决办法

不用 <constant name="struts.devMode" value="true" /> 改成 <constant name="struts.configuration.xml.reload" value="true"/> 有人说是因为tomcat加了空格的问题,具体不清楚. 下面是4个开发模式常用配置的简介--- <!-- 开启使用开发模式,详细错误提示 --> <!--