2. vSphere高可用架构基础

在讨论灾难恢复之前,必须先厘清一个容易混淆的问题:vSphere 自带的可用性特性,究竟解决的是“故障域内的高可用”,还是“跨站点灾难恢复”?答案很明确——vSphere HA、DRS、vMotion、Storage vMotion、FT 主要解决的是单站点、共享存储前提下的计划内维护与计划外故障,它们是灾难恢复体系的“第一道防线”,而不是 DR 本身。理解这一点,才能正确地把它们放进整体连续性架构中。

一、vSphere HA:主机级故障的自动重启

vSphere HA 的核心机制是“集群 + 心跳 + 重启”。集群内每台 ESXi 主机通过管理网络和存储心跳相互探测,同时每台主机上运行 FDM(Fault Domain Manager)代理,负责与首选主机(Master)通信。当某台主机失联超过设定阈值(默认约 15 秒,可通过 das.failuredetectiontime 调整),Master 会判定其故障,并在其余主机上按优先级重启受影响的虚拟机。

HA 的关键参数包括:主机监控(Host Monitoring)、接入控制(Admission Control)、虚拟机重启优先级、响应隔离(Isolation Response)。接入控制决定集群预留多少资源用于故障切换,常见策略有“集群资源百分比”“插槽策略”“专用故障切换主机”。例如一个 6 主机集群,每主机 128 GB 内存,若预留 25% 资源,则允许同时宕掉约 1.5 台主机的容量,实际规划中通常按 N+1 或 N+2 设计。

需要特别注意的是:HA 依赖共享存储。如果存储本身不可用,HA 无法完成重启,因为虚拟机文件不可访问。因此 HA 解决的是“计算节点故障”,不解决“存储故障”和“站点故障”。

二、DRS 与 vMotion:资源调度与在线迁移

DRS(Distributed Resource Scheduler)负责集群内的资源均衡。它周期性采集 CPU、内存等指标,生成迁移建议,并在全自动模式下直接触发 vMotion。DRS 的价值不只是“均衡负载”,更在于计划内维护的零停机:进入维护模式时,DRS 会自动把虚拟机迁走,而不是强制关机。

vMotion 是 DRS 的执行引擎,实现虚拟机运行状态在主机间的在线迁移。其原理是:先建立目标主机的内存镜像,通过迭代式内存预拷贝(pre-copy)不断同步脏页,当剩余脏页足够小(通常几十毫秒可传完)时,短暂暂停源虚拟机、切换执行权到目标主机,再更新网络与存储的归属。整个过程业务中断通常在毫秒到秒级,用户基本无感知。

vMotion 的硬性前提包括:源和目标主机共享同一存储、同一二层网络、兼容的 CPU 特性(EVC 可屏蔽差异)、足够的带宽与低延迟。跨 vSwitch 或跨三层网络的 vMotion 需要额外配置,而跨站点 vMotion 则对 RTT 有严格要求(通常建议小于 5 ms,长距离 vMotion 需专用方案)。

三、Storage vMotion:存储层的在线迁移

Storage vMotion 解决的是“虚拟机文件在存储之间的在线搬迁”。它先把虚拟机磁盘的初始副本复制到目标存储,然后通过 Changed Block Tracking 持续同步变更块,最后短暂停顿完成切换。它常用于:存储阵列更换、LUN 扩容、把虚拟机从厚置备迁到精简置备、或把热数据迁到高性能存储层。

Storage vMotion 与 vMotion 可以组合使用,实现“计算 + 存储”同时迁移。但要注意:Storage vMotion 不改变虚拟机的网络归属,也不解决存储阵列本身的单点故障——它只是迁移工具,不是冗余机制。

四、FT:连续可用性的极限方案

Fault Tolerance(FT)通过在主虚拟机之外运行一个“影子虚拟机”,并利用 FT 日志记录主虚拟机的指令流,在另一台主机上重放,实现零中断、零数据丢失。主虚拟机故障时,影子虚拟机立即接管,切换时间通常在 1 秒以内,且不丢失任何已提交状态。

FT 的代价也很明显:影子虚拟机占用与主虚拟机相同的 CPU 和内存资源,且 FT 对网络延迟敏感,要求主备主机在同一二层网络、共享存储,并限制每台主机可运行的 FT 虚拟机数量。因此 FT 适合极少数对连续性要求极高、但负载较轻的关键业务,例如交易撮合、核心认证服务,而不适合大规模部署。

五、各特性在灾难恢复体系中的定位

把上述特性放进 DR 体系,可以形成清晰的分层:

  • vMotion / Storage vMotion:计划内维护层,消除主动运维带来的停机。
  • DRS:资源调度层,保证集群内负载均衡与维护自动化。
  • vSphere HA:主机故障层,实现单站点内计算节点故障的自动恢复。
  • FT:连续可用层,针对极关键业务的零中断保护。
  • 站点级 DR:由 SRM、复制、备份等技术承担,解决站点整体失效。

换言之,HA、DRS、vMotion、FT 共同构成“站点内高可用”,它们让单站点尽可能不中断;而真正的灾难恢复,需要在此之上叠加跨站点复制、编排与切换能力。两者是互补关系,不能互相替代。

vSphere 可用性特性分层与灾难恢复定位 站点内高可用(单站点、共享存储前提) FT 连续可用层 主/影子虚拟机指令重放 · 零中断零丢失 · 资源开销大 · 适合极关键轻负载 vSphere HA 主机故障层 心跳检测 · 接入控制 · 虚拟机重启 · 解决计算节点故障,不解决存储/站点故障 DRS 资源调度层 负载均衡 · 维护模式自动迁移 · 全自动/半自动/手动模式 vMotion / Storage vMotion 计划内维护层 计算在线迁移 · 存储在线迁移 · 消除主动运维停机 叠加 站点级灾难恢复(跨站点) SRM 编排 · 存储/主机复制 · 备份恢复 · DNS/IP 切换 · 站点切换与回切 解决站点整体失效、区域性灾难,与站点内 HA 互补而非替代 RPO / RTO 由复制方式与编排策略决定 故障域 逐级扩大 保护逐级增强

六、选型与组合建议

实际规划中,建议按业务等级组合使用:普通业务开启 HA + DRS 即可;重要业务在 HA 基础上增加 Storage vMotion 用于存储维护;核心业务可考虑 FT,但必须评估资源开销与规模上限;所有业务都应纳入站点级 DR 方案,明确 RPO/RTO 目标。需要强调的是,HA 的接入控制预留、DRS 的自动化级别、FT 的主机数量限制,都会直接影响可承载的故障规模,规划时应结合真实资源做容量核算,而不是简单“全开”。

判断一个特性是否属于 DR 体系,可以问三个问题:它能否跨站点?它是否依赖共享存储?它能否应对存储阵列整体失效?如果答案是否定的,它属于站点内高可用,而不是灾难恢复。