有时系统由于设置或配置失误而阻碍了虚拟机迁移或重启,而虚拟机迁移失败对数据中心的效率及可用性会产生不利影响。
虚拟机由底层的服务器硬件抽象出来,易于防护,而且能够在主机之间进行迁移。然而,虚拟化并不能保证百分之百的可靠性。让我们一起来看一下导致虚拟机迁移失败的五大常见原因以及如何避免这些问题。
1.硬件资源不足
你需要有足够可用的计算资源才能启动虚拟机。资源不足或者过量分配可能会立刻导致虚拟机发生故障。如果服务器的内存分配过量或者CPU预留过多,将不能为虚拟机提供足够的资源,很可能会发生上述情况。管理员通常会在过渡整合的服务器、高可用集群或者是在迁移虚拟机到其他利用率很高、没有足够的计算资源用于故障切换的服务器上时发现上述资源问题。
服务器升级将会增加资源,但是平衡工作负载是一个更好的解决方案。在服务器之间重新分配一台或多台虚拟机将会释放足够的资源用于保证虚拟机成功启动。
2.服务器硬件不兼容
虚拟化将工作负载从底层的硬件中抽象出来,但是硬件仍然要提供这些工作负载所需要的关键特性与功能。当你把虚拟机迁移到其他可能缺少硬件特性的服务器上时,可能会发生启动错误。
挂起虚拟机使用了CPU特有的电源管理状态;如果虚拟机迁移到的目标服务器的CPU缺少上述电源管理状态,那么虚拟机将不能正常重启。在这种情况下,你可能需要使用命令行选项手动重启虚拟机或者将虚拟机迁移至配置了具有类似功能CPU的服务器然后再重启虚拟机。然后再迁移运行的虚拟机到目标服务器。
你可能还会发现CPU缺少虚拟化特性,比如Intel VT或者AMD-V,或者存在未激活的扩展特性导致无法为虚拟机提供支持。在你迁移或者启动虚拟机之前,验证一下目标服务器提供的虚拟化扩展功能,而且一定要在BIOS中启用这些扩展功能。
IT专业人员需要按需调整迁移规划以确保能够使用兼容的服务器硬件。在某些情况下,IT专业人员可能能够编辑虚拟机来移除对CPU特定特性的需求。