DRS已开启但虚拟机全部集中挤在单台ESXi主机故障排查处理 vSphere集群DRS功能已经启用集群内多台ESXi主机资源空闲但大量虚拟机仍然全部集中运行在其中一台主机DRS不会自动执行虚拟机迁移实现负载均衡。优先核查DRS Migration Threshold迁移阈值阈值设置过于保守会抑制自动迁移其次检查VM‑Host亲和/反亲和规则CPU、内存亲和性策略会强制约束虚拟机只能运行指定主机同时还需要确认DRS自动化级别、资源池、交换、balloon、主机维护模式等其他限制条件。一、机房现场故障踩坑背景三节点ESXi集群DRS开启为全自动模式其中一台主机CPU内存负载很高另外两台主机负载很低但虚拟机不会自动迁移出去业务全部挤在高负载主机。手动执行vMotion迁移虚拟机可以正常执行DRS却不会自动调度。1.1 初期无效排查操作关闭再重新打开DRS重启vCenter服务重启ESXi主机手动执行vMotion把虚拟机分散过一段时间又逐步汇集到同一台主机。1.2 分层定位真实故障根因DRS迁移阈值设置为最保守级别1DRS只在资源严重失衡时才会建议迁移轻微负载差异不会触发自动调度同时存在遗留VM‑Host亲和规则部分虚拟机被规则限制只能运行该主机。调高迁移阈值清理无效亲和规则DRS开始自动均衡负载。 现场验证修复调整DRS迁移阈值删除过期VM‑Host亲和性规则集群虚拟机自动vMotion分散到多台主机各主机负载趋于均衡。二、DRS不自动均衡虚拟机底层原理1、DRS迁移阈值Migration ThresholdDRS迁移阈值一共分为1‑5级1最保守5最激进。阈值越低DRS对负载差异容忍度越高只有资源严重不平衡才给出迁移建议阈值越高微小负载差异就会触发自动迁移。阈值设置1的时候很多负载不均衡场景DRS不会行动。2、VM‑Host亲和性规则VM‑Host亲和规则可以强制虚拟机只能运行在指定ESXi主机反亲和要求虚拟机分开运行。规则启用后DRS调度必须遵守该策略即使主机负载很高也不会将虚拟机迁移离开允许的主机。旧业务下线后规则未删除是常见隐形坑。3、DRS自动化级别影响DRS分为全自动、半自动、手动。手动模式DRS只给出迁移建议不会自动执行vMotion半自动仅开机时调度运行中负载变化不会自动迁移。自动化级别错误会表现为DRS开启但不自动迁移。4、其他阻止DRS调度因素主机处于维护模式、进入待机vMotion网络异常虚拟机有CPU/内存资源预留过高资源池限制DRS规则冲突虚拟机有快照、热迁移不兼容设备都会阻止自动迁移。5、DRS不是实时均衡DRS是周期性采样调度不是实时立刻均衡采样周期内负载变化不会马上触发迁移。三、标准化排查判断标准与操作流程1、检查集群DRS基础配置集群→配置→vSphere DRS确认DRS自动化级别查看Migration Threshold迁移阈值。生产环境一般建议设置为2‑3如果为1负载不均衡大概率不会自动迁移。2、核查VM‑Host亲和/反亲和规则集群→配置→规则逐条检查VM‑Host亲和规则确认是否有强制虚拟机绑定某台主机的策略。业务已经变更要及时删除废弃规则。规则状态为启用就会生效。3、确认vMotion基础能力正常手动对虚拟机执行vMotion迁移如果手动迁移报错DRS自动迁移同样无法执行。检查vMotion网络、端口组、MTU配置。4、检查主机状态与虚拟机特殊配置确认其余ESXi主机不在维护模式、待机模式检查虚拟机内存Reservation预留过高检查是否挂载不支持热迁移设备。5、查看DRS事件与建议集群监控→事件筛选DRS相关事件查看DRS给出的迁移建议、拒绝迁移原因事件会写明为什么不执行迁移。6、验证效果调整阈值、清理无效规则后等待DRS下一个调度周期观察虚拟机是否自动分散集群各主机负载均衡。四、高频故障排错清单故障现象根因分析标准解决方案DRS已开启VM全部挤一台主机其他主机空闲手动vMotion正常DRS迁移阈值设置过低保守级别1负载差异不足以触发迁移将DRS Migration Threshold调整为2‑3级别观察DRS调度行为DRS阈值正常虚拟机仍然强制集中在单台主机存在启用状态VM‑Host亲和规则强制VM只能运行指定ESXi主机进入集群规则列表核查并删除过期、废弃的VM‑Host亲和约束规则DRS配置为手动模式只看到迁移建议不会自动迁移VMDRS自动化级别设置错误仅生成建议不会自动执行vMotionDRS修改为全自动模式如果业务谨慎使用半自动需要人工确认迁移建议DRS想迁移但手动vMotion也失败完全无法移动虚拟机vMotion网络故障虚拟机挂载热迁移不兼容硬件设备排查vMotion网络移除不支持热迁移设备修复vMotion基础功能删除亲和规则调高阈值VM还是聚集在同一台主机DRS为周期采样调度非实时或者资源池、虚拟机高预留限制调度等待DRS调度周期检查资源池份额、虚拟机内存CPU预留配置五、运维高频误区避坑1.误区DRS开启就必须立刻把虚拟机均匀打散到每台主机纠正DRS是基于资源负载的智能调度不是平均分配虚拟机数量并且是周期执行不是实时动作。2.误区迁移阈值设置越高越好直接调到5纠正阈值5过于激进会产生大量频繁vMotion带来网络开销抖动生产不建议使用推荐2‑3区间。3.误区业务下线VM‑Host规则不去删除留着没有影响纠正亲和规则只要处于启用状态就持续生效会造成DRS调度异常废弃规则及时清理。4.误区手动vMotion可以迁移DRS就一定会自动迁移纠正手动迁移不受DRS阈值、规则约束DRS自动迁移会严格遵从阈值、规则、自动化级别多重条件。5.误区DRS不工作直接开关DRS功能就可以修复纠正开关DRS不会修改阈值和亲和规则根源配置不修改开关DRS无法解决聚集问题。六、DRS集群运维标准化规范DRS已开启但虚拟机全部集中挤在单台ESXi主机故障排查处理vSphere集群DRS功能已经启用集群内多台ESXi主机资源空闲但大量虚拟机仍然全部集中运行在其中一台主机DRS不会自动执行虚拟机迁移实现负载均衡。优先核查DRS Migration Threshold迁移阈值阈值设置过于保守会抑制自动迁移其次检查VM‑Host亲和/反亲和规则CPU、内存亲和性策略会强制约束虚拟机只能运行指定主机同时还需要确认DRS自动化级别、资源池、交换、balloon、主机维护模式等其他限制条件。一、机房现场故障踩坑背景三节点ESXi集群DRS开启为全自动模式其中一台主机CPU内存负载很高另外两台主机负载很低但虚拟机不会自动迁移出去业务全部挤在高负载主机。手动执行vMotion迁移虚拟机可以正常执行DRS却不会自动调度。 1.1 初期无效排查操作关闭再重新打开DRS重启vCenter服务重启ESXi主机手动执行vMotion把虚拟机分散过一段时间又逐步汇集到同一台主机。DRS迁移阈值设置为最保守级别1DRS只在资源严重失衡时才会建议迁移轻微负载差异不会触发自动调度同时存在遗留VM‑Host亲和规则部分虚拟机被规则限制只能运行该主机。调高迁移阈值清理无效亲和规则DRS开始自动均衡负载。 现场验证修复调整DRS迁移阈值删除过期VM‑Host亲和性规则集群虚拟机自动vMotion分散到多台主机各主机负载趋于均衡。二、DRS不自动均衡虚拟机底层原理DRS迁移阈值一共分为1‑5级1最保守5最激进。阈值越低DRS对负载差异容忍度越高只有资源严重不平衡才给出迁移建议阈值越高微小负载差异就会触发自动迁移。阈值设置1的时候很多负载不均衡场景DRS不会行动。VM‑Host亲和规则可以强制虚拟机只能运行在指定ESXi主机反亲和要求虚拟机分开运行。规则启用后DRS调度必须遵守该策略即使主机负载很高也不会将虚拟机迁移离开允许的主机。旧业务下线后规则未删除是常见隐形坑。DRS分为全自动、半自动、手动。手动模式DRS只给出迁移建议不会自动执行vMotion半自动仅开机时调度运行中负载变化不会自动迁移。自动化级别错误会表现为DRS开启但不自动迁移。主机处于维护模式、进入待机vMotion网络异常虚拟机有CPU/内存资源预留过高资源池限制DRS规则冲突虚拟机有快照、热迁移不兼容设备都会阻止自动迁移。DRS是周期性采样调度不是实时立刻均衡采样周期内负载变化不会马上触发迁移。三、标准化排查判断标准与操作流程集群→配置→vSphere DRS确认DRS自动化级别查看Migration Threshold迁移阈值。生产环境一般建议设置为2‑3如果为1负载不均衡大概率不会自动迁移。集群→配置→规则逐条检查VM‑Host亲和规则确认是否有强制虚拟机绑定某台主机的策略。业务已经变更要及时删除废弃规则。规则状态为启用就会生效。手动对虚拟机执行vMotion迁移如果手动迁移报错DRS自动迁移同样无法执行。检查vMotion网络、端口组、MTU配置。确认其余ESXi主机不在维护模式、待机模式检查虚拟机内存Reservation预留过高检查是否挂载不支持热迁移设备。集群监控→事件筛选DRS相关事件查看DRS给出的迁移建议、拒绝迁移原因事件会写明为什么不执行迁移。调整阈值、清理无效规则后等待DRS下一个调度周期观察虚拟机是否自动分散集群各主机负载均衡。四、高频故障排错清单故障现象根因分析标准解决方案DRS已开启VM全部挤一台主机其他主机空闲手动vMotion正常DRS迁移阈值设置过低保守级别1负载差异不足以触发迁移将DRS Migration Threshold调整为2‑3级别观察DRS调度行为DRS阈值正常虚拟机仍然强制集中在单台主机存在启用状态VM‑Host亲和规则强制VM只能运行指定ESXi主机进入集群规则列表核查并删除过期、废弃的VM‑Host亲和约束规则DRS配置为手动模式只看到迁移建议不会自动迁移VMDRS自动化级别设置错误仅生成建议不会自动执行vMotionDRS修改为全自动模式如果业务谨慎使用半自动需要人工确认迁移建议DRS想迁移但手动vMotion也失败完全无法移动虚拟机vMotion网络故障虚拟机挂载热迁移不兼容硬件设备排查vMotion网络移除不支持热迁移设备修复vMotion基础功能删除亲和规则调高阈值VM还是聚集在同一台主机DRS为周期采样调度非实时或者资源池、虚拟机高预留限制调度等待DRS调度周期检查资源池份额、虚拟机内存CPU预留配置五、运维高频误区避坑1.误区DRS开启就必须立刻把虚拟机均匀打散到每台主机纠正DRS是基于资源负载的智能调度不是平均分配虚拟机数量并且是周期执行不是实时动作。2.误区迁移阈值设置越高越好直接调到5纠正阈值5过于激进会产生大量频繁vMotion带来网络开销抖动生产不建议使用推荐2‑3区间。3.误区业务下线VM‑Host规则不去删除留着没有影响纠正亲和规则只要处于启用状态就持续生效会造成DRS调度异常废弃规则及时清理。4.误区手动vMotion可以迁移DRS就一定会自动迁移纠正手动迁移不受DRS阈值、规则约束DRS自动迁移会严格遵从阈值、规则、自动化级别多重条件。5.误区DRS不工作直接开关DRS功能就可以修复纠正开关DRS不会修改阈值和亲和规则根源配置不修改开关DRS无法解决聚集问题。六、DRS集群运维标准化规范配置规范生产集群DRS自动化级别使用全自动迁移阈值建议2‑3避免使用1过于保守或者5过度激进。规则管理规范VM‑Host亲和/反亲和规则要做好备注业务下线同步删除对应规则定期巡检集群规则列表。排障顺序规范DRS不自动均衡排查顺序自动化级别→迁移阈值→集群亲和规则→vMotion可用性→DRS事件日志。巡检规范日常巡检除主机负载同时查看DRS事件关注拒绝迁移、迁移建议事件提前发现调度异常。变更规范新增亲和规则之后观察DRS调度行为确认没有造成虚拟机异常聚集。1.2 分层定位真实故障根因1、DRS迁移阈值Migration Threshold2、VM‑Host亲和性规则3、DRS自动化级别影响4、其他阻止DRS调度因素5、DRS不是实时均衡1、检查集群DRS基础配置2、核查VM‑Host亲和/反亲和规则3、确认vMotion基础能力正常4、检查主机状态与虚拟机特殊配置5、查看DRS事件与建议6、验证效果配置规范生产集群DRS自动化级别使用全自动迁移阈值建议2‑3避免使用1过于保守或者5过度激进。规则管理规范VM‑Host亲和/反亲和规则要做好备注业务下线同步删除对应规则定期巡检集群规则列表。排障顺序规范DRS不自动均衡排查顺序自动化级别→迁移阈值→集群亲和规则→vMotion可用性→DRS事件日志。巡检规范日常巡检除主机负载同时查看DRS事件关注拒绝迁移、迁移建议事件提前发现调度异常。变更规范新增亲和规则之后观察DRS调度行为确认没有造成虚拟机异常聚集。