添加新的处理器到HyperV服务器?

我目前在支持两个处理器的主板上运行HyperV Server 2012 R2,但目前只有一个。 它有64GB的内存。 现在我想添加第二个处理器,将现有内存的一半移动到新的处理器上,每个处理器提供32GB。 稍后我会添加更多内存。

使用最多内存的两台虚拟机都分配了16GB。 还有其他的虚拟机最多使用4GB。

有什么我需要注意这样做,或者我不应该有什么理由? HyperV会在启动虚拟机时select具有足够空闲内存的处理器吗? 另外,是否可以分配比单个处理器更多的vCPU? 会有什么效果?

该板是华硕KGPE-D16,处理器是AMD Opteron 6320 OS6320WKT8GHKWOF,如果这样做有所不同的话。

是的,Hyper-V将select启动虚拟机时具有最大容量的节点(处理器和内存)。 如果虚拟机适合节点,那么它将运行最佳。 为避免碎片化,您可能需要configuration机器以首先启动大型虚拟机。 但请记住,远程访问您计算机上的内存的代价可能很小,您可能无法测量最佳configuration的虚拟机和“跨越”节点之间的差异。

而且,是的,可以分配比任何物理节点更多的虚拟处理器。 虚拟机可以跨越节点,运行良好。

如果虚拟机中的工作负载对性能特别敏感,则可以考虑configuration虚拟机,使其具有多个节点。 为了做到这一点,你必须禁用dynamic内存,也就是说虚拟机需要configuration一定数量的内存。 其次,进入虚拟机设置中处理器configuration下的“NUMA”选项卡。 (或者使用PowerShell。)你会看到“每个节点的最大处理器数量”。 将其设置为小于或等于物理机中的核心数量。 虚拟机将被分解成虚拟节点。 然后将每个虚拟节点分开放置到物理节点中。

最后,如果你觉得这很复杂,那么你可以点击“使用硬件拓扑”button,你的虚拟机将自己代表客户操作系统和应用程序堆栈,其节点和底层物理机器一样多。

如果您真的担心您的工作负载始终以最佳configuration运行,并且您不关心在内存过于分散而无法将虚拟机最佳configuration到内存时虚拟机是否无法启动,则可以在“禁用NUMA跨越”虚拟机通过PowerShell。 当然,如果你这样做,你会想确保这个虚拟机先启动,以避免碎片。 如果你确定它首先启动,那么即使不禁用NUMA跨越,它也能达到最佳状态。