适用场景
虚拟化的常见问题是「资源分出去容易收回来难」:vCPU 超分比没人管、快照开了一年没人删、数据存储水位到 95% 才告警。治理思路是把配额、快照、水位三件事制度化。
配置步骤(迁移与集群告警处理)
# 1) HA/DRS 检查
Get-Cluster | Select-Object Name,HAEnabled,DrsEnabled,DrsAutomationLevel
# 2) 主机进入维护模式前的检查
# - 该主机上是否有无法迁移的虚机(本地 CD/ISO、无共享存储)
# - 目标主机资源是否足够
Get-VMHost <host> | Get-VM | Select-Object Name,PowerState
# 3) 迁移
Move-VM -VM <vm> -Destination (Get-VMHost <target>)
# 或主机维护模式:Set-VMHost <host> -State Maintenance
# 4) 常见告警
# - 主机内存/CPU 告警:先看是否单机过载
# - 数据存储只剩警告:清快照或扩容
# - 虚机心跳丢失:看是否与网络/存储抖动同时发生
关键参数与建议
- 超分比:CPU 超分比控制在 3-5:1(按业务类型定),内存尽量不超分
- 预留与限制:核心虚机设预留,避免被邻居抢占;非核心设上限防止失控
- 快照规范:快照只用于变更窗口,超过 3 天必须清理,禁止长期快照
- 数据存储水位:70% 预警、80% 扩容、85% 必须处理
- 告警接入:主机硬件、集群 HA、数据存储、虚机心跳全部接入监控
- 版本与兼容:升级 vCenter/ESXi 前查兼容矩阵,先升级 vCenter 再升主机
- 账号权限:按角色分权,禁止所有人用管理员账号操作
- 变更留痕:虚机规格调整、迁移、克隆都要有工单记录
容易踩的坑
- 主机维护模式卡住,因为上面有 ISO 挂载的虚机
- 迁移不校验目标资源,迁移后目标主机过载
- DRS 完全自动化在生产环境乱迁移,影响业务
- 集群 HA 没配隔离响应,脑裂时重复启动虚机
- 告警只看单机不看集群整体,处理方向错
- 升级 ESXi 前没升级 vCenter,兼容性问题一堆
验证与巡检
# 集群与主机健康
Get-Cluster | Select-Object Name,HAEnabled,DrsEnabled
Get-VMHost | Select-Object Name,ConnectionState,PowerState,
@{N='Cpu%';E={[math]::Round($_.CpuUsageMhz/$_.CpuTotalMhz*100,1)}},
@{N='Mem%';E={[math]::Round($_.MemoryUsageGB/$_.MemoryTotalGB*100,1)}}
# 数据存储水位
Get-Datastore | Select-Object Name,
@{N='Free%';E={[math]::Round($_.FreeSpaceGB/$_.CapacityGB*100,1)}}
- 巡检:主机无过载、数据存储空闲 > 20%、HA 与 DRS 策略符合设计、告警有人跟进
小结
虚拟化运维验收:随便挑一台虚机,能说清它的资源预留、有没有快照、数据存在哪个存储、水位多少。答不上来说明治理没落地。
> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。