在测试HA 的时候,需要临时增加硬盘空间,请硬件同事重新规划了虚拟机的配置。
测试过程中出现了一个奇怪的问题
两边node 启动了HA 系统后,相互认为对方是损坏的。
crm_mon 命令显示
node95 UNCLEAN (offline)
node96 online
另一个节点 node95 则相反,认为node96 offline unclean
没有办法解决,即便是重装了HA 系统也是如此。从现有的运行正常的ha系统,copy整个配置文件过来也是如此。
最后放弃,今天将问题提交到网络组,看看是不是两边的通信有问题,tcpdump 观察两边的5405 端口是有通信的。
但是系统还是有问题,整郁闷的时候,两边自动好了,认为对方是正常的节点了。
莫名其妙。
看了下时间,两边的时间都是utc 时间, 于是手工date 修改了主机时间到现在时间。
修改完了,手工重启下node95 ,看看ha的反应,奇怪的事情又发生了。两边又相互不认识了。
整郁闷的时候, 突然两边node又都认识了。奇怪的事情发生了。两个vm的时间都又回到了utc时间。
这回想明白是怎么回事了。
初步确定问题原因了:
应该是重新加载硬盘以后,调整了虚拟机的物理机器,导致虚拟机的时间会同步物理机的时间,物理机的时间是用utc时间的,我这边改了时间后,重启一台,导致两个节点的时间序列不一致了,集群系统认为出错了,不能在两台机器之间清理状态,两台机器都认为对方坏掉了,发生了脑裂了。各人自己维护自己的系统状态了。碰巧两台机器在损坏的过程中发生了一次时间同步,两台机器都回到了utc 时间,两边的时间序列应该在同一个时间上了。两边的PE(策论引擎) 认为系统node 对等了,然后集群的状态同步恢复到了正常状态。