服务器虚拟化计算器
计算虚拟机工作负载的 ESX 主机要求
如何使用服务器虚拟化计算器
- 1输入物理服务器数量与当前的 CPU/内存平均利用率。
- 2输入目标整合比与新虚拟主机的规格。
- 3查看减少后的主机数、节电与释放的机柜空间。
建模服务器虚拟化
所需主机 = ceil(物理负载 / (主机容量 × 整合比));节电 = 物理功耗 − 所需主机 × 主机功耗虚拟化让多台利用率不足的物理服务器共享更少但更大的主机,将利用率从常低于 15% 提升到 60–80%。
最大收益在于更少的需要供电散热的设备、更少的机柜空间,以及更简单的硬件生命周期管理。
虚拟化整合比(Consolidation Ratio)指每台物理机上运行多少台虚拟机。**不能只看 CPU 利用率**——真正决定上限的通常是内存和磁盘 IOPS。经验做法:① CPU 可按 3:1 到 5:1 超配(vCPU 总和 vs 物理核),因为 VM 的 CPU 峰值很少同时出现;② **内存基本不能超配**(除非启用内存复用技术如透明页共享 TPS、内存气球 ballooning、压缩;VMware 的内存超配通常控制在 1.2:1 以内);③ **存储 IOPS 是最容易被低估的瓶颈**——10 台各需 200 IOPS 的 VM 就需要 2,000 IOPS,普通机械盘阵列(每块 150 IOPS)要十几块才够。
**规划容量时必须留 N+1 冗余**:整合理念是「任意一台物理机故障时,剩余主机仍能承载全部 VM」。所以 4 台主机的集群,每台的平均负载不应超过 75%(4 台变 3 台,3 ÷ 4 = 75%)。如果要求 N+2(可承受两台同时故障),则不超过 66%。**另外要为 VM 本身的资源开销预留**:每台 VM 有 200–500 MB 的内存开销(虚拟化层运行的开销),vCPU 数量过多还会因调度等待导致性能下降(**「vCPU 越多越慢」是常见误区**——分配超过实际需求的 vCPU 会因 CPU 就绪时间上升反而变慢)。
| 工作负载类型 | CPU 利用率 | 建议整合比 | 瓶颈 |
|---|---|---|---|
| 文件/打印服务器 | 5% – 10% | 10:1 到 15:1 | 内存、磁盘 IO |
| Web 服务器 | 10% – 30% | 8:1 到 12:1 | 网络、并发 |
| 应用服务器 | 20% – 40% | 5:1 到 8:1 | CPU |
| 数据库(中小型) | 30% – 60% | 2:1 到 4:1 | 内存、磁盘 IOPS |
| 数据库(大型 OLTP) | 50% – 80% | 1:1 到 2:1 | IO、延迟敏感 |
| VDI 虚拟桌面 | 波动大 | 4:1 到 8:1(每核) | 启动风暴、内存 |
| 开发/测试环境 | 低且间歇 | 15:1 到 20:1 | 无(可超配) |
虚拟化整合比参考
常见问题
整合比多少算合理?
通用负载常见 10:1 到 20:1,对延迟敏感型则更低。
虚拟化一定省电吗?
整体设施功耗一定下降,尽管单台主机比被替换的旧服务器更费电。
授权怎么办?
虚拟化层与客户机操作系统授权可能抵消收益,承诺前应一并建模。
为什么物理机跑得好好的,虚拟化后变慢?
四个常见原因:① **CPU 就绪时间(CPU Ready)**——VM 等待物理 CPU 的时间,超过 5% 就明显卡顿,通常因超配过高或 vCPU 过多;② **内存交换(Swap/Balloon)**——内存超配导致主机内存不足,把 VM 内存换到磁盘,性能断崖式下降;③ **存储 IO 争抢**——多个 VM 共享同一 LUN,IO 队列排队(检查存储延迟,> 20 ms 就有问题);④ **NUMA 跨节点访问**——给 VM 分配的内存超过单个 NUMA 节点时,跨节点访问延迟高 30%–50%。**排查顺序:先看 CPU Ready 和内存交换,再看存储延迟。**
超配(Overcommit)安全吗?
取决于类型和比例。CPU 超配 2:1 到 4:1 通常安全(只要监控 CPU Ready);内存超配要极其谨慎,建议不超过 1.2:1,且依赖内存复用技术(但应用程序无法感知这些技术,可能触发内部 GC 或 OOM);**存储容量可以用精简置备(Thin Provision)超配,但要密切监控剩余空间——一旦写满,所有 VM 会同时崩溃**,这是最危险的故障场景,建议保持至少 20% 的空闲空间并设置告警。
