适用场景

虚拟化的常见问题是「资源分出去容易收回来难」:vCPU 超分比没人管、快照开了一年没人删、数据存储水位到 95% 才告警。治理思路是把配额、快照、水位三件事制度化。

配置步骤(资源池与超分治理)

# 1) 集群超分现状(PowerCLI)
Connect-VIServer -Server vcenter.example.com
Get-Cluster | Select-Object Name,
  @{N='CpuGHz';E={[math]::Round(($_.ExtensionData.Summary.TotalCpuMHz)/1000)}},
  @{N='CpuUsedGHz';E={[math]::Round(($_.ExtensionData.Summary.UsedCpuMHz)/1000)}},
  @{N='MemGB';E={[math]::Round(($_.ExtensionData.Summary.TotalMemory)/1GB)}},
  @{N='MemUsedGB';E={[math]::Round(($_.ExtensionData.Summary.UsedMemory)/1GB)}}

# 2) 找出超分大的虚机(vCPU 远大于实际使用)
Get-VM | Where-Object {$_.NumCpu -ge 8} | Select-Object Name,NumCpu,MemoryGB

# 3) CPU Ready 高说明抢得厉害
Get-Stat -Entity (Get-VM) -Stat cpu.ready.summation -Realtime | Where-Object {$_.Value -gt 2000}

关键参数与建议

  • 超分比:CPU 超分比控制在 3-5:1(按业务类型定),内存尽量不超分
  • 预留与限制:核心虚机设预留,避免被邻居抢占;非核心设上限防止失控
  • 快照规范:快照只用于变更窗口,超过 3 天必须清理,禁止长期快照
  • 数据存储水位:70% 预警、80% 扩容、85% 必须处理
  • 告警接入:主机硬件、集群 HA、数据存储、虚机心跳全部接入监控
  • 版本与兼容:升级 vCenter/ESXi 前查兼容矩阵,先升级 vCenter 再升主机
  • 账号权限:按角色分权,禁止所有人用管理员账号操作
  • 变更留痕:虚机规格调整、迁移、克隆都要有工单记录

容易踩的坑

  • 超分比做到 10:1,业务高峰集体卡顿
  • vCPU 给了 16 核,实际用 1 核,浪费且影响调度
  • 内存超分 + 未设预留,出现 ballooning 与 swap
  • 资源池没设上限,测试环境把生产资源吃光
  • 没人看 CPU Ready,只看到「CPU 使用率不高」
  • 扩容只加主机,不调整数据存储与网络带宽

验证与巡检

# 集群与主机利用率
Get-Cluster | Select-Object Name,NumHost,CpuTotalMhz,CpuUsedMhz
esxtop -n 5 | head

# 关键指标
# CPU Ready > 5% 需关注;内存 balloon 与 swap 不为 0 需关注
Get-Stat -Entity (Get-VMHost) -Stat mem.balloon.average,mem.swapused.average -Realtime | Where-Object {$_.Value -gt 0}
  • 巡检:超分比在阈值内、无 balloon/swap、CPU Ready < 5%、数据存储水位 < 80%

小结

虚拟化运维验收:随便挑一台虚机,能说清它的资源预留、有没有快照、数据存在哪个存储、水位多少。答不上来说明治理没落地。

> 说明:文中命令为通用写法,不同型号/版本可能略有差异,落地前请对照设备实际版本的官方文档;带外管理与安全设备变更建议先在测试设备验证。