keepalived开启garp refresh的重要性

1、场景

1-1、对keepavlied master机器热迁移后出现vip不通,过后恢复

原因:机器迁移后网关那边的arp表没有刷新,流量还是转发到老的端口,但是机器已经迁移到别的端口了,于是网络不通。因为keepalied默认情况下是发vrrp在实现主备切换,然后garp只在master选中的时候播出去或者收到低优先级的vrrp报文的时候播出去,然后不会再定时播了,网关那边arp表过期的时候会主动发grap来问,master回复,这样就能知道master是谁

1-2、由于交换机故障,keepalived 故障转移到备份实例,但是vip不通

原因:由于交换机故障,keepalived 故障转移到备份实例,备份实例发送了无偿 ARP,但因为交换机故障没有收到,当交换机恢复时(几分钟后)VIP 无法访问,因为交换机没有刷新 ARP 表(ARP 表到期时间设置为 4h)。由于交换机已经拥有此前vip对应的转移前的节点的MAC,因此它没有发送 ARP 请求,导致VIP 无法访问,也就是keepalived转移后,mac没有被交换机学到,直到我们重新启动了新 GARP 的 keepalived 实例才能重新宣告恢复

2、根因:garp没有及时刷新

默认情况下,不会定时刷新grap,grap是什么时候播的:

  • keepalied默认情况下是发vrrp在实现主备切换,然后garp只在master选中的时候播出去或者收到低优先级的vrrp报文的时候播出去,然后不会再定时播了
  • 网关那边arp表过期的时候会主动发grap来问,master回复,这样就能知道master是谁

网关arp老化机制:

  • 每台主机或设备上都维护着一个高速缓存,这是ARP高效运行的一个关键。在这个高速缓存中,存放主机或设备最近学习到的IP地址到MAC地址的映射关系,即动态ARP表项。

  • 主机或设备每次发送报文时,会先在本地高速缓存中查找目的IP地址所对应的MAC地址。如果高速缓存中有对应的MAC地址,主机或设备不会再发送ARP请求报文,而是直接将报文发至这个MAC地址;如果高速缓存中没有对应的MAC地址,主机或设备才会广播发送ARP请求报文,进行ARP地址解析。

  • 一方面由于高速缓存的容量限制,另一方面为了保证高速缓存中ARP表项的准确性,设备会对动态ARP表项进行老化和更新。

    动态ARP表项的老化参数有:老化超时时间、老化探测次数和老化探测模式。设备上动态ARP表项到达老化超时时间后,设备会发送老化探测报文(即ARP请求报文),如果能收到ARP应答报文,则更新该动态ARP表项,本次老化探测结束;如果超过设置的老化探测次数后仍没有收到ARP应答报文,则删除该动态ARP表项,本次老化探测结束。

  • 设备发送的老化探测报文可以是单播报文,也可以是广播报文。缺省情况下,设备只在最后一次发送ARP老化探测报文是广播模式,其余均为单播模式发送。当对端设备MAC地址不变时,可以配置接口以单播模式发送ARP老化探测报文。

  • 当接口Down时设备会立即删除相应的动态ARP表项。

3、解决办法:定时广播garp

推荐设置:

garp_master_delay 1
garp_master_refresh 5

其它garp设置:

# delay for second set of gratuitous ARPs after transition to MASTER
vrrp_garp_master_delay 10    # seconds, default 5, 0 for no second set# number of gratuitous ARP messages to send at a time after transition to MASTER
vrrp_garp_master_repeat 1    # default 5# delay for second set of gratuitous ARPs after lower priority advert received when MASTER
vrrp_garp_lower_prio_delay 10# number of gratuitous ARP messages to send at a time after lower priority advert received when MASTER
vrrp_garp_lower_prio_repeat 1# minimum time interval for refreshing gratuitous ARPs while MASTER
vrrp_garp_master_refresh 60  # secs, default 0 (no refreshing)# number of gratuitous ARP messages to send at a time while MASTER
vrrp_garp_master_refresh_repeat 2 # default 1# Delay in ms between gratuitous ARP messages sent on an interface
vrrp_garp_interval 0.001          # decimal, seconds (resolution usecs). Default 0.# Delay in ms between unsolicited NA messages sent on an interface
vrrp_gna_interval 0.000001        # decimal, seconds (resolution usecs). Default 0.

【博客625】keepalived开启garp refresh的重要性相关推荐

  1. Docker学习总结(6)——通过 Docker 化一个博客网站来开启我们的 Docker 之旅

    2019独角兽企业重金招聘Python工程师标准>>> 通过 Docker 化一个博客网站来开启我们的 Docker 之旅 这篇文章包含 Docker 的基本概念,以及如何通过创建一 ...

  2. lush的CSDN博客之旅开启了!

    成为程序员已经四年有余了,一直想找个时间整理一下以前的东西,记录一下学到的知识.或者有点作用,告诉自己我还经历过这些事情,产生过这些想法,何尝不是埋藏在地底下,等待挖掘出来的大礼物呢! 虽然开博客的时 ...

  3. java支持html5视频流技术Pseudostreaming – Roden的专栏 – CSDN博客

    文章目录[隐藏] java支持html5视频流技术Pseudostreaming 首页博客学院 下载论坛APP 问答商城活动VIP会员专题招聘ITeyeGitChat 图文课 写博客 消息 登录注册 ...

  4. 方兴东:博客网倒掉是十亿美金的教训

    书生造反,十年未成.在很多人看来,方兴东未能最终成就惊世伟业,博客网成为一个10亿美金的教训,很大程度上是因为其身上的书生意气. 这句对,但不全对.方兴东和博客网是本书(指<十亿美金教训> ...

  5. 手把手教你从0开始搭建个人博客,东半球最详细的保姆级博客搭建部署教程 | 程序员人手必备个人博客网站

    Hello 小伙伴们大家好,我是雷小帅! 想象一下你有一个技术博客,然后把网址写在了简历上,面试官点击鼠标打开了这个网站,然后被惊艳了,最后面试的结果你懂得-- 好了,今天的主题就是手把手教大家从零开 ...

  6. hexo博客next主题添加对数学公式的支持

    hexo博客默认为markdown格式,但是新搭建的hexo博客不支持公式渲染,下面介绍hexo博客next主题下添加对数学公式支持的方法. 环境说明: hexo版本:5.4.1 next版本: 最新 ...

  7. 一文教你把 Hexo 博客搭建在云端

    作者:约克 原文地址:https://yorkyu.cn/use-ts-to-sort-multiple-version-numbers-1b104f681262.html 文章版权归作者所有,转载请 ...

  8. 怎么禁止/开启Ubuntu自动更新升级_豆豆技术派的博客-CSDN博客_ubuntu 自动更新

    怎么禁止/开启Ubuntu自动更新升级_豆豆技术派的博客-CSDN博客_ubuntu 自动更新

  9. 2020 CSDN 博客之星投票已开启,请大家为我投票,多谢啦

    2020 CSDN 博客之星投票已开启,请大家为我投票,多谢啦 https://bss.csdn.net/m/topic/blog_star2020/detail?username=wizardfor ...

最新文章

  1. IDEA-Java自动生成单元测试
  2. 复杂个人信息输出程序python_练习题-修改个人信息程序
  3. JAVA反射机制初步理解
  4. android 多行文字水印,android实现文字水印效果 支持多行水印
  5. 简易封装手机浏览器touch事件
  6. Java 开发者靠什么逆风翻盘?
  7. exp-小写字母表导出问题?
  8. tcp/ip协议初识
  9. 加载中动画(gif)
  10. J2EE领域的一些技术框架结构图
  11. 金行健:你有没有思考过,特斯拉为什么先进?
  12. 技术保障+配套体系,京东云掐准智能医疗的“脉象”
  13. python和html和css什么关系什么区_Python 【第七章】:Html 和 CSS
  14. python连接MongoDB
  15. 微信公众平台实现第三方授权登录(java版)
  16. 【02】Java进阶:09-冒泡排序、选择排序、二分查找、异常、异常的产生和处理、自定义异常、多线程
  17. c语言5个同学三门成绩,求助:c语言 求5个同学语数外三门功课的总分与均分。大家看我错在哪了...
  18. 美团店铺评价语言处理以及分类(tfidf,SVM,决策树,随机森林,Knn,ensemble)...
  19. CVPR 2020——OccuSeg: Occupancy-aware 3D Instance Segmentation
  20. Win10系统如何将eclipse背景色改成豆沙绿

热门文章

  1. 基于野火F407骄阳开发板的苹果采摘机器人机械臂的采摘轨迹与夹持器的采摘动作的设计(1)
  2. 鼠标悬停下划线显示特效,html鼠标悬停显示下划线
  3. 如何实现水平,垂直,水平垂直居中
  4. Android 科大讯飞开发相关
  5. 公众号上怎么转换html格式,教你完美复制别人的公众号内容和图片到自己的号...
  6. python绘制等值线图_使用matplotlib绘制等值线图
  7. 关于支付账户体系研究
  8. Web workers
  9. Pytorch中transforms.Compose()的使用
  10. 软件测试:docker知识