我有一个 Hyper-V 群集,其中有 4 个主机,51 个 VM(角色)。我想保留它,以便我仍然可以一次关闭 1 个主机进行维护/修补。所以我正在查看我的资源。在性能监视器中,我只使用了 7-8% 的 CPU,但是当我查看故障转移群集管理器中的节点时,它显示 75% 的 CPU 使用率。
每台主机大约有 1TB RAM 和 96 个 Intel Xeon E7-8890 @ 2.2Ghz 处理器,共 192 个核心。我很难相信 51 个虚拟机会占用 4 台主机上 75% 的处理器。RAM 我每台主机仍有 800-900GB 可用。
我想将大约 100-120 个虚拟机迁移到这个集群,但是它的 CPU 使用率让我有点担心。
我读到的 CPU 使用率正确吗?是否有 Hyper-V 大小调整工具可以提供帮助?
编辑:为了进行比较。我查看了旧集群上的现有主机之一,其中 1 台主机有 60 台 Xeon E7-4890 @ 2.8Ghz,120 个核心,利用率为 50%,上面运行着 32 个虚拟机。这让我怀疑是不是配置不正确。
编辑 2:进一步深入研究后,我运行以下命令
Get-WmiObject win32_processor | Select-Object -ExpandProperty LoadPercentage
1
100
100
100
对我来说,这意味着有 4 个插座,并且某些东西将最后 3 个固定在 100%,因此利用率为 75%。
答案1
在性能监视器中,我只使用了 7-8% 的 CPU
看起来很高。请注意,出于兼容性原因,性能监视器仅使用您登录的 VM - 即主 VM(是的,虚拟机管理程序在 Windows 下运行,从技术上讲,您的 Windows 实例位于 VM 中)。
但是,当我查看故障转移群集管理器中的节点时,它显示 CPU 使用率为 75%。
也就是使用所有的虚拟机 - 所以使用率为 75%。
对我来说,这意味着有 4 个插座,并且某些东西将最后 3 个固定在 100%,因此利用率为 75%。
如果它有 4 个插槽,那它将是一台非常古老的机器或非常罕见的机器——多年来我一直找不到超过双插槽的服务器。
我检查了一下,你指出的 CPU 有 24 个内核、48 个线程 - 它也是 2016 年的型号。它比之前的版本晚了 3-4 代。事实上,这是服务更新的终止日期(2022 年 6 月 30 日)。
我不希望它运行很多 - 内存速度会很糟糕,CPU缓存会出现问题。
我想迁移大约 100-120 台虚拟机
那么您可能想要获得一个不会过期的服务器。
运行着 32 个虚拟机,利用率为 50%
真的不是。51 VM 可以运行很多性能,但性能并不高,这取决于它们在做什么 - VM 与其他 VM 不一样。而且在如此老旧的硬件上,RAM 标准也如此老旧 - 您还能指望什么呢?
没人能帮你——你需要再确定一点。它可能是一个驱动程序。没人能制作尺寸测量工具——因为一根绳子有多长?什么是 VM?
RAM 我在每个主机上仍然有 800-900GB 可用。
这表明有些事情不正常。就像它们不是无所事事的服务器一样。此外,这并不意味着 RAM 在速度方面没有超载。有趣的是,专业做这件事的人只使用 RAM 数量,而忽略了 RAM 的速度。根据规格,您在这些东西上只有 85gp/s 的内存带宽。- 假设它已完全设置并配备最快的 RAM。如果不是 - 这可能是导致 CPU 使用率过高的分隔符。
伙计,说真的,想要整合,就买一台现代服务器。AMD 刚刚推出了不错的 GENOA-X,它有大量缓存(高达 1GB),非常适合虚拟化。那就是——你得到的几乎是我所期望的。
答案2
我读出的 CPU 使用率正确吗?
不是。按照 VMware 的说法,您所做的相当于在 ESX 主机上查看“esxtop”时却查看了“top”。故障转移群集管理器从与任务管理器相同的性能计数器读取数据,该计数器只知道监控程序(Windows Server),而不了解虚拟机管理程序。故障转移群集管理器看到的任何内容都发生在管理操作系统中,与虚拟机无关。从您报告的症状来看,您的主机上出现了一些问题。如果您的虚拟机仍在正常运行,则说明它们没有使用太多资源。
如果您想知道虚拟机正在做什么,请使用性能监视器。特别查看 Hyper-V 虚拟机管理程序逻辑处理器下的计数器。“% 总运行时间”本质上是 LP(映射到物理核心)正在执行的操作的完整视图。如果您只关注虚拟机活动,请查看“% 客户机运行时间”。