HA中的ESXI主机,踩雷案例!(注意红色部分)

以前贴HA工作原理的时候曾经提醒过这个. 今天终于有人踩了地雷.

今天上午, 网络运营部门运行DNS, 计费系统的20VM被ESX强制关机. 导致近20分钟的total outage.

它们有一个小VI3环境, 配置也很简单:

ESX01 - (SC IP: X.X.X.90, SC GW: X.X.X.10)
ESX02 - (SC IP: X.X.X.91, SC GW: X.X.X.10)
VC01 -  (IP: X.X.X.51, GW: X.X.X.10)
GW 是一个ROUTER的口地址.

ESX01与ESX02同属于一个HA/DRS cluster. 各运行10台VM

他们计划为ESX01添加一块网卡:

1. 首先将ESX01上的10台VM VMotion到ESX02
2. 关闭ESX01, 添加网卡
3. 启动ESX01
4. 将10台VM VMotion回到ESX01上.

第一步VMotion成功, 20台VM在ESX02上正常运行.  接着他们在ESX01的service console上将ESX01 shutdown, 安装网卡的过程中, 却发现原来在ESX02上正常运行的20VM全部被关闭了. 他们判断可能是ESX02的资源分配有问题. 手动启动了一些VM, 可是过不久, 启动后的VM又被ESX02关闭. 情急之下, 他们开始向其他部门求援. 我们分析象HA出现所谓的"脑裂"现象, 提示他们赶紧放弃trouble shoot ESX02, 立即启动ESX01, 果然, ESX01启动之后, ESX02不再自动关闭VM. 系统逐渐恢复正常.

分析原因:

1. 从service console shutdown ESX01, ESX01并没有退出HA cluster (应该在VC上先进维护模式在shutdown)

2. 由于ESX01/ESX02同处与一个HA cluster, 他们互相检查对方的状态.

3. 当ESX01被关闭后, ESX02发现失去与ESX01的联络, 这时ESX02要判断是ESX01出了故障还是ESX02本身出故障.

4. ESX02默认的的判断方式是PING SC 的网关 (可以手动设置成其他地址), 如果回应了, 则认为是ESX01出现问题, 如果没有回应, 则认为自己被孤立了(本机出现网络故障), 如果被孤立, ESX02就会关闭所有的VM, 释放对这些VM的盘文件的锁定, 以便让ESX01接管对这些VM的控制. 碰巧他们的SC 网关又被设置成不响应ICMP. 这下, 所有能出问题的地方的都出了问题, ESX02得不到来自ESX01及SC网关的响应, 认为自己是被孤立了, 便开始关闭VM.

其实这时候个轻易避免的错误: ESX01进入维护模式; 暂停HA; 开启SC GW的ICMP响应; 指定其他的故障检测地址; 或是将"孤立"默认响应从"关闭VM"改成"维持VM运行". 做了其中的任何一项都能避免问题的出现.(读者个人习惯是做任何类似于停机前必须要把之前的状态更改为维护状态,可以避免错误的发生,在部署桌面虚拟化中删除计算机目录前也必须这样干,删除域的计算机前,建议也先停)

解决故障时间不到10分钟, 检讨可就够他们去写一两个星期了...

你可能感兴趣的:(计划,service,工作原理,网卡,主机)