unix github plugins x86 Semantic UI 多线程实现方式 matlab中axis 查看nodejs版本 html下拉框默认选中 python写入txt文件 java正则表达式匹配 java接口怎么写 java字符串比较 java输出数组 java多线程编程 linux下载安装 linux内核编程 心理学与生活txt 谷歌地球打不开 内存整理工具 易语言进度条 unix系统下载 防沉迷助手 3d软件下载 subscribe 全英雄守城战 社区网格化管理平台 win10wifi 兽之祝福 上单艾克出装 ps怎么修证件照 联想7450加粉清零 ppt背景音乐怎么关 maya骨骼绑定 美图秀秀pc版下载 聊呗电脑版 保卫萝卜攻略沙漠7 寒冰之王 2015刷手机端排名 脚本怎么写
当前位置: 首页 > 学习教程  > 编程学习

缩短keepalived切换时间的方法

2021/1/24 9:42:48 文章标签: keepalived

首先下面这篇文章讲了如何通过wireshark抓keepalived的vrrp包来确定keepalived的真实切换时间,写得很好,推荐先看 https://blog.csdn.net/jiajiren11/article/details/81563091### 在keepalived使用中,发现如果是采用把master网卡disable的情…

首先下面这篇文章讲了如何通过wireshark抓keepalived的vrrp包来确定keepalived的真实切换时间,写得很好,推荐先看

https://blog.csdn.net/jiajiren11/article/details/81563091###

 

keepalived使用中,发现如果是采用把master网卡disable的情况,IP切换的时间大概在1秒左右,但是如果采用直接把master电脑断电源的情况,backup的IP切换的时间竟然达到了3.8s,时间大大加长,影响了我们的具体应用。两者区别在于,第一种情况master keepalived的最后一条vrrp包会通知backup它退出了,但是断电的情况,只能靠backup的超时机制。但是这个超时时间怎么设置呢?

在网上查遍了博客,都没人提及怎么缩短这个超时时间,于是上keepalived官网,查参数手册,也没有直接的参数配置这个超时时间,于是给keepalived的作者Alexandre Cassen发了封邮件咨询,抱着试试看的心态。

同时开始研究keepalived的源码,发现我所需要的超时时间代码为:

vrrp->ms_down_timer = 3 * vrrp->master_adver_int + VRRP_TIMER_SKEW(vrrp);

所以超时间间就是配置文件中的advert_int值乘以3,再加了一个额外的时间,跟实测的时间差不多,实测时adver_int配为1,实测值为3秒多。

所以答案很明显,缩短advert_int就可以了,同时要注意,这个参数在vrrp verion2里面最小值只能设为1s, 只有在vrrp version3里面才能设为小于1s(测试时配adver_int 0.5),所以需要在conf中的全局定义中配置:vrrp_version 3

改好之后重启keepalived,wireshark抓包,断电时切换时间大约1.8s,缩短为原来的一半,大功告成,留图纪念。

 

 

另外值得一提的是,在不久之后keepalived的作者Alexandre Cassen竟然回复了邮件,方法和我想的差不多,感谢Cassen,下图是他的回复:

 

 


本文链接: http://www.dtmao.cc/news_show_1257736.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?