joe*_*rty 7 high-availability vmware-vsphere
我在跨两个主机(vsphereA 和 vsphereB)的 HA 集群中运行 vSphere 5。我为主机监控和数据存储心跳监控配置了 HA 集群,禁用了准入控制(希望我正确理解数据存储心跳监控可以防止由于管理网络隔离而导致的无意和不需要的 HA 故障转移)。每个主机都有一个到专用 iSCSI 网络和 iSCSI 目标(无 MPIO)的连接。所有 VM 的所有 vmdk 都存在于 iSCSI 数据存储中。作为 HA 测试,我断开了 vsphereB 上的 iSCSI 连接,并惊讶地发现 vsphereB 上正在运行的 VM 继续在 vsphereB 上运行。关闭的 VM 显示为无法访问(这是我预期的,因为它们不是 t 运行并且从 vsphereB 到 iSCSI 目标的连接被切断)但正在运行的 VM 继续运行并继续由 vsphereB“拥有”。我希望看到这些 VM 发生 HA 故障转移,并希望在 HA 故障转移(没有发生)后看到它们由 vsphereA“拥有”。我不明白为什么这些虚拟机没有发生 HA 故障转移。我是否误解了在哪些情况下应该发生 HA 故障转移?
您似乎混淆了 vMotion 和 HA,它们是执行不同操作的不同功能。
vMotion 是一项功能,它允许将虚拟机从一个物理主机迁移到另一个物理主机,而不会造成停机和服务中断(毫秒)。它在维护之前完成,并且要求 VM 以及源主机和目标主机都已经处于健康状态。HA 是一项功能,可重新启动出现故障的虚拟机(或无法访问的虚拟机,如果配置了主机隔离),并且确实会导致 VM 停机,因为整个虚拟机已关闭电源并重新启动。
重要提示:vMotion 不是 HA 故障转移。HA 故障转移是 HA 故障转移。
vMotion 由以下事件触发:
HA 故障转移由以下事件触发:
底线:vMotion 是由于性能事件而发生的,而 HA 故障切换是由于可用性事件而发生的。
您所做的是从正在运行的 VM 下拉出磁盘。在这种情况下,vSphere 和大多数虚拟机管理程序的标准行为是让虚拟机单独存在,让它处理自己的磁盘问题。这有几个很好的理由:
另一方面,对于许多工作负载(想到数据库),最好在可能发生损坏或丢失事务时立即关闭。但是,在最好的情况下,由于您无法在没有磁盘的情况下完全停顿数据库,因此无论如何您最终可能会处于不一致的状态。
归根结底:有一些很好的用例可以让 HA 响应不可靠的存储,但今天它没有这样做,而且您看到的行为是完全正常的。