VMware容错技术以及使用操作
2026-07-24
VMware 容错(FT)通过维护一个实时的辅助实例,为虚拟机提供持续可用性,可防范主机故障且实现零停机时间。该功能采用同步记录/重放技术来镜像虚拟机的执行过程,需要对 CPU、网络和存储进行精细配置。本指南从基础概念出发,逐步深入至技术细节,涵盖先决条件、工作原理、配置方法、测试流程、监控方式,以及与高可用性(HA)方案的权衡对比。
什么是 VMware 容错功能?
VMware 容错功能通过让辅助虚拟机与主虚拟机严格同步运行,实现零停机。它捕获主虚拟机上的非确定性事件,并在执行前将其应用于辅助虚拟机。辅助虚拟机对外部 I/O 保持被动状态,但在重放过程中保持活跃。一旦主主机发生故障,辅助虚拟机会立即接管。容错功能采用 vLockstep 技术,对 CPU 和内存状态进行指令级复制,从而确保零数据丢失和业务连续无中断。
VMware 容错机制的工作原理
容错(FT)依赖于指令级别的同步状态复制。它在主虚拟机上记录 CPU 寄存器、内存更新以及中断和网络数据包等非确定性输入。这些记录通过专用的 FT 日志网络传输至辅助虚拟机。辅助虚拟机以严格同步的方式重放指令,但在发生故障切换之前,会阻塞所有外部 I/O 操作。只有主虚拟机会执行存储写入或网络发送操作。这种设计通过确保单一活跃 I/O 源来防止“脑裂”现象。FT 在共享存储上使用原子锁(例如 SCSI-3 持久预留)协调故障切换,从而保证在发生故障后仅有一个虚拟机实例作为主虚拟机运行。
容错(FT)功能使用 VMkernel 容错日志记录适配器。主虚拟机捕获事件,并在指令执行前将这些事件发送至辅助虚拟机;辅助虚拟机按相同顺序重放这些事件。网络和存储 I/O 在主虚拟机上完成,辅助虚拟机则处于等待状态。若主虚拟机所在主机发生故障(如断电、紫色屏幕错误 PSOD、管理网络隔离超时,或 vmx 进程崩溃),心跳信号将中断;此时辅助虚拟机会立即接管主虚拟机角色,并以其重放所得的状态继续运行。随后,系统会自动在另一台主机上生成新的辅助虚拟机。容错功能通过原子级存储锁及同步状态同步机制,避免数据丢失。
⚫vLockstep 和非确定性事件
vLockstep 捕获可能改变执行路径的事件:中断、I/O 完成以及基于时间的指令(例如 RDTSC)。它在主虚拟机上记录这些事件,并通过容错(FT)日志机制将其发送出去;随后,在备用虚拟机执行相应指令前,将这些事件注入其执行流程中。此举确保主备两台虚拟机接收到完全相同的输入。仅记录非确定性输入,可显著减小日志数据量,相比完整状态转储更为精简。备用虚拟机同步重放 CPU 和内存状态,但在发生外部 I/O 时会暂停等待,直至接管发生。
⚫ 状态的同步复制
容错(FT)技术以指令粒度复制CPU寄存器和内存状态,而非块级复制。这确保了备用虚拟机在每条指令执行点上的内部状态与主虚拟机完全一致。FT日志网络必须以极低延迟传输日志记录;一旦发生延迟,缓冲区填满便会导致虚拟机暂停运行。因此,专用带宽和低延迟传输路径至关重要。对于CPU密集型虚拟机,FT日志流量可达数百兆比特每秒(Mbps)。
⚫ 输入/输出处理与脑裂预防
仅主虚拟机执行外部 I/O 操作:向磁盘写入数据、发送网络数据包。备用虚拟机在发生故障转移前对 I/O 保持被动状态,从而避免出现两个活跃的 I/O 源。共享存储采用原子文件锁定机制(通常通过 SCSI-3 持久预留实现),以防止故障发生后两台虚拟机同时将磁盘视为主用设备进行访问。发生故障转移时,备用虚拟机会获取该预留并继续运行;而原主虚拟机若恢复运行,则会启动一台新的备用虚拟机,而非重新担任主虚拟机角色。
⚫故障转移触发器
容错(FT)故障切换会在主主机变得不可访问或发生故障时触发。触发条件包括主机断电、出现紫色诊断屏幕(PSOD)、vmx 进程崩溃(例如,通过 esxcli 命令终止)或管理网络隔离时间超过高可用性(HA)超时阈值。FT 通过 FT 日志记录通道监控心跳信号;当心跳信号中断时,辅助虚拟机将立即接管主虚拟机角色。vCenter 会记录该事件,并自动在一台兼容主机上部署新的辅助虚拟机。
如何在 VMware 中设置和使用容错功能?
本节将指导您完成容错(FT)功能的先决条件配置、启用步骤、故障转移测试以及维护操作。要求您已熟悉 vSphere 相关概念,例如增强型虚拟机兼容性(EVC)、分布式资源调度(DRS)和高可用性(HA)。
先决条件与配置
在启用容错(FT)之前,需通过启用增强型vMotion兼容性(EVC)来满足CPU兼容性要求。确保各主机共享一个涵盖虚拟机所用CPU指令的基线EVC版本。若后续需提升EVC版本,请先为受影响的虚拟机禁用容错功能。请使用支持硬件虚拟化技术(Intel EPT 或 AMD RVI)的CPU,例如Intel Sandy Bridge及更新型号,或AMD Bulldozer及更新型号。
配置低延迟网络。使用专用的容错(FT)日志网络,建议采用10GbE或更高速率。VMware建议往返时间(RTT)低于10毫秒,理想情况下应低于1毫秒,以避免重放延迟和中断现象。使用独立的物理网卡或VLAN隔离容错流量。若设备支持,请端到端启用巨帧(MTU 9000)。预留专用带宽,防止日志通道饱和。
确保共享存储满足延迟要求。持续的存储 I/O 延迟应保持在约 15 毫秒以下,以保证容错同步(FT sync)正常进行。请使用光纤通道(Fibre Channel)、iSCSI 或性能稳定的 vSAN。避免出现可能导致主节点 I/O 确认延迟的峰值。较低的存储延迟可降低状态偏离风险。请监控数据存储延迟指标,以便及时发现异常。
单独配置 vMotion 网络。vMotion 网络负责初始辅助虚拟机的放置以及维护期间的迁移。请确保 vMotion 路径具备足够的带宽和较低的延迟。容错(FT)日志记录流量不会取代 vMotion 流量;两者均需依赖可靠的网络。使用 DRS 将辅助虚拟机部署到合适的主机上。资源池不得导致容错虚拟机资源匮乏。避免设置限制或存在竞争关系的资源预留,以免影响重放或日志记录性能。请在主机上为容错工作负载预留 CPU 和内存资源。
配置 VMkernel 适配器:一个用于管理,一个用于 vMotion,一个专用于容错(FT)日志记录。将 FT 日志记录用的 VMkernel 适配器分配给争用最少的物理网卡。验证主机之间的网络路径跳数最少。谨慎配置高可用性(HA)设置以应对网络分区;避免隔离运行容错虚拟机(FT VM)的主机。
1. 在虚拟机上启用容错功能
启用容错(FT)前,请确认主虚拟机和潜在的辅助虚拟机所在主机均具备充足的资源,包括CPU、内存和网络带宽。在vSphere客户端中,右键单击该虚拟机,然后选择启用容错。系统将创建一个与主虚拟机在CPU、内存和磁盘配置方面完全一致的辅助虚拟机模板,并在两台虚拟机之间启动FT日志记录。请留意状态指示器:其显示应为已受保护;若未显示,请检查网络连接、增强型vMotion兼容性(EVC)设置或资源限制。容错功能可能会为此虚拟机禁用DRS,请提前做好相应规划。
确保客户操作系统和虚拟硬件版本受支持。移除不受支持的设备:避免使用快照,不使用半虚拟化 SCSI/网络适配器,不使用 NPIV,不使用 RDMA 直通。请查阅 VMware 兼容性指南。确认您的许可证支持所需 vCPU 数量的容错(FT)功能。常见限制示例:vSphere 8 Enterprise Plus 版本最多可能支持 2 个 vCPU;具体数值请参阅最新官方文档。
2. 测试容错能力
通过测试容错能力(FT)来增强信心。除简单关闭主机电源外,还应采用更安全的测试方法。例如:在主虚拟机上执行 esxcli system process kill -t force -p <vmx-pid> 命令终止 vmx 进程;模拟网络分区以隔离主机;或在客户机内部终止关键进程,以验证应用程序连续性。观察备用虚拟机是否持续运行且服务不中断。
通过PowerCLI验证故障转移:运行命令 Get-VM | Select Name, FaultToleranceState。观察状态变化以确认接管已发生。检查vCenter事件中与容错(FT)故障转移相关的条目。利用应用程序日志确认会话持久性及服务连续性。故障转移完成后,验证vSphere是否已生成新的辅助虚拟机:检查是否返回已保护状态。仅当新的辅助虚拟机完成同步后,方可认定测试完成。
检查网络连接:尽可能确保TCP会话保持完整。某些应用程序可能需要支持会话感知的故障转移。审查应用程序特定的健康检查。记录测试结果。如需在生产环境中测试,请使用计划内的维护窗口。
3. 监控与维护
持续监控容错(FT)健康状态。检查容错日志记录的流量速率(MBps)、延迟以及容错虚拟机内核端口上的数据包丢失情况。使用vSphere性能图表或PowerCLI命令(Get-VM | Get-FaultToleranceVM)查看心跳状态和追赶状态。注意反复出现的暂停(stun)或缓冲区溢出,这些可能是网络问题的征兆。
为与容错(FT)相关的事件设置警报。在容错功能被禁用或发生重复故障切换触发时发出警告。检查主机兼容性变更:在添加主机或更新固件时,请确保其符合容错功能的增强型vMotion兼容性(EVC)及硬件要求。
修补主机时,请遵循以下步骤:将启用容错(FT)保护的主机置于维护模式。DRS 会将其他虚拟机迁移走。容错辅助虚拟机将在主机进入维护模式前,通过 vMotion 迁移至另一台兼容主机。对主机进行补丁更新并重启。退出维护模式。vSphere 可能会自动将辅助虚拟机迁移回原主机,或自动生成一个新的辅助虚拟机。此过程依赖于已启用的 DRS 和 HA 功能。请确认同步功能已恢复正常。
在主机间保持固件和驱动程序版本的一致性。统一CPU微代码版本,以避免增强型vMotion兼容性(EVC)漂移。确保存储多路径和网络路径配置一致。尽可能在实验室环境中测试变更。记录所有容错(FT)配置。
VMware 容错与高可用性对比
容错(FT)和高可用性(HA)均旨在降低停机时间,但在恢复时间目标(RTO)、资源开销及实现复杂度方面存在差异。两者均能在故障发生时刻实现虚拟机状态的 RPO=0:FT 通过持续复制状态达成;HA 则可快速重启虚拟机,但可能丢失内存中的状态——若崩溃时数据尚未写入磁盘,则可能出现部分数据丢失。核心区别在于 RTO:FT 可提供近乎零的 RTO(毫秒级),因备用虚拟机会即时接管;而 HA 需重启虚拟机,导致数分钟的停机时间。
容错(FT)会产生更高的开销:它以重放模式运行一个辅助虚拟机,所消耗的 CPU 周期与主虚拟机相等,实际上使 CPU 预留量翻倍。对于 CPU 和内存密集型虚拟机,FT 日志传输流量可达数百 Mbps;网络延迟必须保持较低水平。存储 I/O 仅在主虚拟机上运行,但日志记录会带来额外开销。因此,FT 最适合小型虚拟机(1–2 个 vCPU)或关键性极高的工作负载。高可用性(HA)资源消耗更少:它会在另一台主机上重启虚拟机,导致短暂的重启过程。对于规模较大或关键性较低、可接受数分钟停机时间的虚拟机,应使用 HA。
考虑复杂性:容错(FT)要求严格,需仔细监控;高可用性(HA)则需共享存储和高可用集群配置,但实现相对简单。仅在必须实现零停机且资源成本合理的情况下才规划容错方案。请思考:您的应用程序能否容忍短暂重启?若可以,高可用性方案可能已足够;若不行,则容错方案所增加的成本可能是值得的。
使用Vinchin备份VMware虚拟机
容错(Fault Tolerance)可防范主机故障,但备份才能保护数据免受损坏、人为误操作或站点级灾难的影响。Vinchin提供面向VMware环境的企业级虚拟机备份解决方案,与vSphere无缝集成,确保您的虚拟机在容错保护之外仍可可靠恢复。
Vinchin 备份与恢复 是一款专业的企业级虚拟机备份解决方案,支持 VMware 及包括 Hyper-V、Proxmox、oVirt、OLVM、RHV、XCP-ng、XenServer、OpenStack、ZStack 等在内的 45 种以上平台,功能丰富。
Vinchin 提供永久增量备份,节省时间和存储空间。它采用数据去重和压缩技术,以减小备份数据体积。虚拟机到虚拟机(V2V)迁移功能可帮助在不同主机或平台之间迁移虚拟机。它支持变更块跟踪(CBT),仅捕获已更改的数据块。它提供即时恢复功能,实现虚拟机的快速还原。此外,还具备数据加密、多线程传输、备份验证、细粒度恢复、云/磁带归档、限速策略以及祖父-父亲-儿子(GFS)保留机制。以上仅为 Vinchin 提供的众多功能中的一部分。
Web 控制台操作直观。备份虚拟机只需四个步骤:
1. 选择要备份的 VMware 虚拟机。
2. 选择备份存储。
3. 配置备份策略。
4. 提交任务。
这一简单流程可帮助管理员高效保护其 VMware 工作负载。Vinchin 全球庞大的客户群和高评分,体现了用户对其性能的高度信任。立即享受为期15天的全功能免费试用,在您的环境中全面测试所有功能。下载安装程序,轻松部署,即刻保护您的虚拟机。
下载免费试用版
适用于多种数据备份
* 15天全功能免费安全下载
VMware 容错(Fault Tolerance)常见问题解答
问题1:VMware 容错功能有哪些限制?
A1:容错虚拟机(FT VM)的vCPU数量取决于vSphere版本和许可证类型;例如,vSphere 7最多支持8个vCPU,而vSphere 8在Enterprise Plus版中通常限制为2个vCPU;容错功能不支持快照、存储vMotion、半虚拟化设备、NPIV以及RDMA直通。
Q2:如何添加FT日志记录网络?
A2:在 vSphere 客户端中,选择主机 > 配置 > 网络 > VMkernel 适配器,单击 添加网络,选择 容错日志记录,分配端口,绑定到专用物理网卡(10GbE 或更高),如果路径支持 MTU 9000,则启用巨型帧。
Q3:如何在不中断FT的情况下进行维护?
A3:使用DRS:将非容错虚拟机迁移走,允许容错辅助虚拟机通过vMotion迁移到另一台主机,为主机打补丁,退出维护模式,验证新的辅助虚拟机同步状态;确保已启用DRS和HA以实现自动化。
第四季度:FT 如何影响虚拟机性能?
A4:FT 会因记录流量和二次重放而增加开销;主节点性能预计下降 5–20%,具体取决于工作负载和延迟;在生产环境部署前,需在实际负载下测试以验证影响。
结论
VMware 容错(Fault Tolerance)通过让一个被动的辅助虚拟机与主虚拟机严格同步运行,实现零停机保护。其部署要求极为严格:需借助增强型vMotion兼容性(EVC)确保CPU兼容性,配置专用的低延迟网络,并保持存储延迟处于较低水平。通过测试与持续监控可保障系统可靠性;而容错(FT)与高可用性(HA)之间的取舍,则取决于恢复时间目标(RTO)要求及资源成本。
将容错(FT)与Vinchin备份相结合,可同时应对主机故障和数据层面的风险。Vinchin的高级功能(如永久增量备份和重复数据删除)进一步提升了系统韧性。请定期测试容错功能、制定备份计划并审查各项指标,以保障VMware环境的稳健运行。Vinchin为您提供全面的虚拟机保护,值得信赖。