haizdl
作者haizdl·2016-12-26 09:25
技术经理·大连

高可用策略不合理导致的面积性故障案例

字数 847阅读 1567评论 0赞 2

【问题描述】
某天早上,公司内部好多办公系统登录失败。邮件系统、流程管理、代码管理等。但是过了大概一个小时,基本所有情况都恢复正常。

【问题确认】
业务系统的状况:没有任何异常情况,一切访问正常。
数据中心基础实施:连续好多系统报警,而且还有物理主机报警,问题一大堆。

【解决过程】
先来描述一下环境,基本90%以上系统运行在Vmware虚拟化平台之上,业务系统和内部办公管理系统完全隔离为两个不同的集群环境。
办公区为8台宿主机组成的物理集群,集群共享一台存储设备上的存储资源。

首先,我们再一次确认了宿主机的情况,5台宿主机当前运行状态正常,虚拟机也处于正常状态。只有一台宿主机处于失联状态。当把这一台宿主机再次重新启动之后,它也恢复正常了。

再次,查看问题发生时间的日志,包括宿主机日志。我们发现有好多虚拟机发生了HA切换,不仅仅是故障主机上的虚拟机,而且还包括其他非故障主机上的虚拟机。再仔细看,还有好多虚拟机发生了热迁移,有的迁移失败,有的迁移成功。总之几乎所有主机上的虚拟机发生过HA和热迁移现象。

随后,我们再次确认宿主机硬件日志,发现故障时刻点先后有三台宿主机发生重新启动。这样的话,事情就清楚了,几台宿主机先后发生重新启动,触发宿主机上的虚拟机发生HA,在这个过程中由于资源使用的瞬间不均衡,又触发了DRS的自动迁移。这么多事情发生的时间又是如此之集中,那么最终导致面积性的故障发生。

【问题总结】
此次问题之后,我们根据环境资源重新评估了HA和DRS等的策略,将激进策略修改为相对保守的策略。
本来虚拟化的HA和DRS策略是为了保障虚拟机的平衡和高可用性的机制,但是在某种不合理策略策略和极端物理故障场合下就有可能导致比正常故障范围还要大很多的面积性故障。试想,如果DRS处于非激进状态,那么在发生HA的时候,即使资源不够,那么故障范围仅限于很小一部分虚拟机,不会发生彼此影响,而且时间集中化的影响。尤其是Windows的虚拟机,成功热迁移的概率比Linux要低很多。所以提醒大家合理设置高可用策略。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关问题

相关资料

X社区推广