一次惊险的lvs切换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一次惊险的lvs切换相关的知识,希望对你有一定的参考价值。

公司lvs centos 6.4 采用的是piranha进行配置和管理,生产环境是单点,由于公司访问量越来越大,一旦服务器故障,恢复时间会比较长,影响比较严重。于是着手进行备机的搭建和热备切换测试。
??????先在公司内部找两台虚拟机进行安装,并进行切换测试,录下详细操作流程;再在生产环境的备机进行安装,并配置一个空闲的IP进行测试,确保lvs安装是OK的。以上两步操作完成后,于是发邮件通知相关人员,凌晨进行切换测试。
??????到约定时间,提前半小时修改VIP相关的DNS解析到其中一台realserver。然后同步配置到备机,启动备机 pulse服务,关闭主机 pulse服务,结果接下来的事情,完全超乎了预期。
??????切换异常和处理流程如下:
??????A, lvs切换到备lvs后,自带管理工具pulse 反复删除添加虚拟IP,刚开始以为是正常的,其实只是短暂正常;
??????message日志显示添加vip后,然后又删除;并反复执行

 Aug 24 01:33:45 web9 pulse[2741]: gratuitous lvs arps finished
 Aug 24 01:33:46 web9 pulse[2106]: partner active: deactivating LVS
 Aug 24 01:33:46 web9 lvsd[2726]: shutting down due to signal 15
 Aug 24 01:33:46 web9 lvsd[2726]: shutting down virtual service LVS-A
 Aug 24 01:33:46 web9 nanny[2730]: Terminating due to signal 15
 Aug 24 01:33:46 web9 nanny[2731]: Terminating due to signal 15
 Aug 24 01:33:46 web9 nanny[2732]: Terminating due to signal 15
 Aug 24 01:33:46 web9 lvsd[2726]: shutting down virtual service [LVS-443]
 Aug 24 01:33:46 web9 nanny[2734]: Terminating due to signal 15
 Aug 24 01:33:46 web9 nanny[2736]: Terminating due to signal 15
 Aug 24 01:33:46 web9 nanny[2739]: Terminating due to signal 15
 Aug 24 01:33:52 web9 pulse[2106]: primary inactive: activating lvs

??????B, 原来的主lvs pulse服务无法启动;备lvs关闭pulse服务和主lvs物理服务器重启都无法解决;

 错误提示:Starting pulse: pulse: cannot create heartbeat socket. running as root  #google后无果`

??????C, 咨询机房客服后确认我们VIP是OK的(之前遇到过需要在运营商交换机进行arp缓存清理);
??????到这里的时候,想回退都退不回去了,只有接着解决了,并打算换成keepalived。
??????于是下载安装包,并进行编译安装,添加配置文件,主keepalived 启动后,并能正常添加VIP,配置host验证,可以正常访问;于是对备机进行安装,正常启动。结果发现两台服务器都认为对方挂了,出现了“脑裂”,两台机器都添加了VIP。想起之前看到一个文章,公用环境有些运营商禁用了组播,于是修改keepalived为单播,重启keepalived后服务VIP顺利帮到主lvs上,关闭主后也能正常切换到备机。配置host业务正常,开始还原 dns 解析记录,并进行扫尾工作。

以上是关于一次惊险的lvs切换的主要内容,如果未能解决你的问题,请参考以下文章

一次“惊险”的系统修复过程

记一次惊险的系统和分区修复

在片段之间切换时如何处理相机?

一次惊险的IT机房运维经历-备用发电车方案

Reload Activity 以在 Fragment 之间重新切换

Android:BottomNavigationView第一个片段开关超级延迟