VCSA DRS & HA
Ⅰ 回顾
01 末尾,我们提到 ESXi 加入 vCenter 之后自动创建了少量 vCLS 虚拟机,他们是什么用途的呢?
vCLS 是从 vSphere 7 开始引入的一个系统组件,用来保证 DRS、HA、集群健康检查等功能在没有 vCenter 的情况下也能继续运行。
换句话说:
vCLS = 集群的“最小控制平面”,让集群不依赖 vCenter 也能保持基本功能。
vSphere Cluster Services,用来让 DRS 和集群控制平面在 vCenter 挂掉时仍能运行。
它们是自动创建、自动管理、不可以删除的系统虚拟机。
只要创建了 vSphere Cluster(虚拟机集群)
vCenter 就会自动在集群里部署 2~3 台 vCLS 虚拟机
vCLS 的主要作用是:
- 让 DRS 在 vCenter 挂掉时仍能运行,即使 vCenter 宕机,DRS 仍然能继续工作。
- 负载均衡决策
- 虚拟机放置策略
- 主机资源监控
- 让集群保持“健康状态”
- 集群心跳
- 主机状态同步
- 集群一致性维护
- 让 vCenter 不再是“单点故障”
- 以前:vCenter 挂了 → DRS 失效
- 现在:vCenter 挂了 → vCLS 继续维持集群运行
DRS (Distributed Resource Scheduler) vSphere 的分布式资源调度功能。
- 它会根据集群中各主机的负载情况,自动把虚拟机在不同主机之间迁移(vMotion),以实现负载均衡和资源优化。
HA (High Availability) 高可用功能。
- 当某个主机发生故障时,HA 会在集群中其他可用主机上自动重启受影响的虚拟机,从而减少停机时间,保证业务连续性。
一句话总结:DRS 负责智能调度和负载均衡,HA 负责故障恢复和业务连续性。
Ⅱ vSphere DRS 的原理与实现方式
在 VMware 虚拟化集群中,DRS(Distributed Resource Scheduler,分布式资源调度器)是与 HA 并列的核心功能之一。它的目标不是“故障恢复”,而是让集群中的计算资源始终保持最优分配,从而提升整体性能与资源利用率。
下面从原理、机制和实现方式三个角度快速介绍 DRS 的工作方式。
一、DRS 的核心原理
DRS 的核心思想可以概括为一句话:
通过实时监控集群中所有 ESXi 主机与虚拟机的资源使用情况,自动或半自动地执行 vMotion,将虚拟机迁移到最合适的主机上,实现负载均衡。
它的底层逻辑包括三个关键步骤:
1. 资源监控
DRS 会持续收集以下信息:
- 每台 ESXi 的 CPU/内存使用率
- 每台虚拟机的资源需求
- 主机间的资源差异
- 资源池的限制、预留、份额(Reservation/Limit/Shares)
这些数据会被输入到 DRS 的调度算法中。
2. 资源评估
DRS 会根据集群的资源状态计算一个“平衡度评分”(Cluster Balance Score)。
如果评分低于阈值(说明负载不均衡),DRS 会生成迁移建议。
3. 自动迁移(vMotion)
当 DRS 判断某台主机过载或某台虚拟机资源不足时,会自动执行:
- 将虚拟机从高负载主机迁移到低负载主机
- 遵循资源池策略
- 避免影响关键虚拟机
- 保证迁移不会造成性能下降
整个过程依赖 vMotion 技术,因此迁移是无中断的。
二、DRS 的实现方式
DRS 的实现方式可以从三个层面理解:调度模式、调度策略、调度触发条件。
1. 调度模式(Automation Level)
DRS 提供三种自动化级别:
- Fully Automated(全自动):DRS 自动生成并执行迁移操作(最常用)
- Partially Automated(半自动):开机时自动选择主机,但迁移需要管理员确认
- Manual(手动):只提供建议,不自动迁移
企业环境通常使用 Fully Automated。
2. 调度策略(Migration Threshold)
DRS 提供五档迁移敏感度,从“保守”到“激进”:
- 保守:只有在明显不均衡时才迁移
- 激进:只要有轻微不均衡就迁移
激进模式会产生更多 vMotion,但能保持更高的资源利用率。
3. 调度触发条件
DRS 会在以下情况下触发迁移:
- 主机负载过高
- 虚拟机资源不足
- 新虚拟机开机需要选择最佳主机
- 资源池策略发生变化
- 主机进入维护模式(自动清空虚拟机)
- 虚拟机的 Reservation/Limit/Shares 调整
- 集群资源分布不均衡
三、DRS 的关键能力
负载均衡:自动迁移虚拟机,使集群资源分布更均匀。
智能放置(Initial Placement):虚拟机开机时自动选择最合适的主机。
资源池管理:根据资源池的份额和预留,动态调整虚拟机分布。
维护模式自动迁移:主机进入维护模式时,DRS 会自动迁移所有虚拟机。
与 HA 协同工作:HA 负责“故障恢复”,DRS 负责“负载均衡”,两者互补。
四、DRS 的前提条件
要让 DRS 正常工作,需要满足:
- 至少两台 ESXi 主机
- 主机之间网络互通
- 配置 vMotion 网络
- 虚拟机存储在共享存储上(NFS/iSCSI/vSAN)
- 集群已启用 DRS
Ⅲ VCSA HA
在 VMware 虚拟化平台中,高可用(High Availability, HA)是核心能力之一。但很多人只知道 vSphere HA,其实在 VMware 生态中,能够实现“高可用”的方式远不止一种。不同方式适用于不同规模、预算和业务需求。
本文将从架构角度系统性总结所有可用于实现虚拟机高可用的方式,包括官方支持的、工程上常用的、以及替代性方案。
一、真正意义上的 VMware HA
这类 HA 是 VMware vSphere HA 的核心能力:当一台 ESXi 主机故障时,虚拟机会在其他主机上自动重启。
要实现这一点,必须满足两个前提:
- 至少两台 ESXi 主机
- 虚拟机文件必须存放在共享存储上
1. 共享存储 + 多台 ESXi(最标准的 HA 架构)
这是最常见、最稳定的 HA 方式。共享存储可以是:
- NFS(NAS 提供)
- iSCSI(NAS 或 SAN 提供)
- FC SAN(光纤存储)
- 共享 VMFS(通过 FC/iSCSI)
架构逻辑:虚拟机文件放在共享存储上,任何一台 ESXi 都能访问。当某台主机宕机时,其他主机可以直接读取同一份虚拟机文件并重启虚拟机。
2. vSAN(分布式存储)
vSAN 是 VMware 自家的 SDS(软件定义存储)方案,通过多台 ESXi 的本地磁盘组成一个分布式共享存储池。
特点:
- 不需要 NAS 或 SAN
- 性能高、扩展性强
- 至少需要 3 台 ESXi(或 2 台 + Witness)
适合中大型企业或实验室环境。
3. 双节点 SDS(StarWind、DataCore 等)
适合预算有限但需要 HA 的小型环境。
常见方案:
- StarWind Virtual SAN
- DataCore SANsymphony
- 小规模 Ceph(不推荐)
这些软件可以将两台 ESXi 的本地磁盘做同步镜像,形成共享存储,再配合第三台 Witness 实现 HA。
二、准 HA
这类方案不依赖共享存储,也不一定能做到“主机故障自动重启虚拟机”,但仍然能提供不同级别的高可用。
4. Fault Tolerance(FT)
FT 是比 HA 更高级的技术:
- 两台主机同时运行同一台虚拟机
- 主机 A 故障时,主机 B 无缝接管
- 虚拟机不会重启,也不会中断
限制:
- 至少两台 ESXi
- 对 vCPU 数量有限制
- 适合关键业务系统
这是实时 HA,而不是重启式 HA。
5. vSphere Replication + SRM(灾备级 HA)
适合跨机房、跨城市的灾备场景。
- 虚拟机异步复制到另一个站点
- 主站点故障后手动或自动恢复
- 恢复时间为分钟级
- 不需要共享存储
适合灾备(DR),不是实时 HA。
6. 应用级 HA(由应用自身实现)
例如:
- MySQL 主从
- Redis Sentinel
- Windows Failover Cluster
- Kubernetes
- Oracle RAC
这些 HA 不依赖 VMware,而是应用层自己实现高可用。
适合对业务连续性要求极高的系统。
三、非 VMware 的硬件级 HA
这类方式不能实现“主机挂了虚拟机自动重启”,但能降低故障概率。
7. 单主机硬件冗余
包括:
- RAID
- 双电源
- UPS
- ECC 内存
- 冗余风扇
- 冗余网络
适合每个独立的 ESXi 主机,但无法替代 VMware HA。
8. 双主机热备
某些专用硬件或虚拟化平台提供主机级同步热备功能:
- 主机 A 和主机 B 做整机同步
- 主机 A 故障后主机 B 接管整个主机
四、HA 方式对比表格
| 类别 | 方式 | 是否真正 HA | 是否需要共享存储 |
|---|---|---|---|
| 标准 HA | 共享存储(NFS/iSCSI/FC) | ✅ | ✅ |
| 标准 HA | vSAN | ✅ | ✅ |
| 标准 HA | 双节点 SDS(StarWind 等) | ✅ | ✅ |
| 高级 HA | Fault Tolerance(FT) | ✅ | ✅ |
| 灾备 HA | vSphere Replication + SRM | ✅ | ❌ |
| 应用级 HA | MySQL/K8s/Windows Cluster | ✅ | ❌ |
| 硬件级 HA | RAID/双电源/UPS | ❌ | ❌ |
| 硬件级 HA | 双主机热备 | ✅ | ❌ |
