虚拟化技术,特别是VMware虚拟机,已经成为许多企业IT基础设施的核心部分
然而,即使是最可靠的技术也可能面临故障
为了应对这一挑战,VMware引入了虚拟机容错(Fault Tolerance,简称FT)功能,这一技术能够在主机发生故障时提供无缝的虚拟机保护和恢复能力
本文将深入探讨VMware虚拟机容错的工作原理、配置要求、应用场景以及测试方法,以展示其作为企业业务连续性策略的重要价值
一、VMware虚拟机容错的工作原理 VMware虚拟机容错功能基于ESX/ESXi主机平台构建,通过虚拟锁步(vLockstep)技术实现
这一技术创建并维护一个与主虚拟机(Primary Virtual Machine)完全相同的辅助虚拟机(Secondary Virtual Machine),该辅助虚拟机在另一台主机上运行
主虚拟机和辅助虚拟机通过共享存储器和专用网络进行同步,确保它们在任何时间点上的状态完全一致
具体来说,主虚拟机捕获所有输入和事件,包括处理器指令和虚拟I/O设备事件,并将这些信息发送到辅助虚拟机
辅助虚拟机执行与主虚拟机相同的指令序列,但仅显示单个虚拟机映像(即主虚拟机)在执行工作负载
如果运行主虚拟机的主机发生故障,系统将立即执行透明故障切换,启用辅助虚拟机以替换主虚拟机,并在几秒钟内重新建立容错冗余
这一整个过程对用户是透明的,不会造成服务中断或数据丢失
二、VMware虚拟机容错的配置要求 要使VMware虚拟机容错按预期工作,群集、主机和虚拟机必须满足一系列特定要求
以下是一些关键配置要求: 1.群集和主机要求: - 必须启用VMware HA(高可用性)群集
- 必须为每台主机配置VMotion和容错日志记录网卡,这些网卡应位于不同子网上
- 所有主机的处理器必须来自同一兼容处理器组,尽管容错支持异构群集,但同组处理器提供了最大的灵活性
- 所有主机的ESX/ESXi版本和修补程序级别必须相同
- 必须启用主机证书检查以确保安全的环境
2.虚拟机要求: - 虚拟机文件必须存储在共享存储器上,如光纤通道、iSCSI、NFS或NAS
- 虚拟机必须存储在虚拟RDM或厚置备的虚拟机磁盘文件(已启用“群集功能”选项)中
如果虚拟机存储在精简置备或厚置备但未启用群集功能的VMDK文件中,启用容错时需要转换VMDK文件
- 虚拟机必须在一个受支持的客户机操作系统上运行
3.不兼容功能: - 容错虚拟机不支持快照功能,启用容错前必须移除或提交快照
- 不能对已启用容错的虚拟机执行Storage VMotion操作
- 容错虚拟机会自动配置为禁用DRS(分布式资源调度器),DRS不会提出主虚拟机或辅助虚拟机的负载平衡建议
三、VMware虚拟机容错的应用场景 VMware虚拟机容错提供了比VMware HA更高级别的业务连续性
它适用于以下场景: 1.需要始终保持可用的应用程序: - 特别是那些具有长时间客户端连接的应用程序,用户希望在硬件故障期间保持这些连接
2.自定义应用程序: - 不能通过任何其他方式实现群集功能的自定义应用程序
3.复杂配置: - 可以通过自定义群集解决方案提供高可用性,但这些解决方案太复杂,难以配置和维护
4.按需容错: - 在某些关键期间,可能需要增强虚拟机的保护
例如,在执行季末报告时,如果发生中断,可能会延迟任务关键信息的可用性
使用VMware容错可以在这些关键时间段保护虚拟机
四、VMware虚拟机容错的测试方法 为了确保VMware虚拟机容错在需要时能够正常工作,必须进行测试
测试可以分为确定性测试和反应式测试
1.确定性测试: - 这些测试场景具有确定性结果,例如主机完全故障、主要虚拟机进程失败或从vCenter服务器发起容错测试
- 在这些测试中,可以预测故障转移将如何发生
2.反应式测试: - 这些测试场景可能导致故障转移,但事先不知道预期结果
- 例如,容错日志记录网卡通信中断或失败,或通信非常缓慢
- 在这些测试中,由于主要和次要虚拟机之间存在一个确定哪台虚拟机将启动的竞赛,因此结果可能不一致
为了确保测试的可靠性,VMware提供了虚拟机的测试故障转移功能
然而,反应式测试可能会产生意外结果,因此应谨慎进行
五、结论 VMware虚拟机容错功能通过创建和维护一个与主虚拟机完全相同的辅助虚拟机,提供了无缝的故障保护和恢复能力
这一技术基于虚拟锁步技术,确保主虚拟机和辅助虚拟机在任何时间点上的状态一致
为了使VMware虚拟机容错按预期工作,必须满足一系列特定的群集、主机和虚拟机配置要求
VMware虚拟机容错适用于需要始终保持可用的应用程序、自定义应用程序以及复杂配置的场景
此外,按需容错功能可以在关键时间段增强虚拟机的保护
为了确保容错功能的有效性,应进行确定性测试和反应式测试,但应注意反应式测试可能产生意外结果
总之,VMware虚拟机容错功能为企业提供了确保业务连续性的高级解决方案,能够在主机发生故障时提供无缝的虚拟机保护和恢复能力
通过合理配置和测试,企业可以确保其关键应用程序在任何情况下都能保持高可用性和数据完整性