我们往往认为物理服务器是内存与CPU核心的集合,但虚拟化引发了冲突,因为有多个核工作在共享的内存空间内。如果虚拟化管理员没有完全掌握NUMA节点的规模及其对大型虚拟机的影响,那么虚拟机运行时可能会导致性能问题。 Intel在CPU内处理内存 自Nehalem芯片起,Intel改变了其处理器微架构。Intel在CPU芯片内而不是由北桥芯片对内存进行管理。
在该架构中,一个特别的双内联内存模块(DIMM)只会连接到一个CPU插槽。为使内存连接另一个CPU插槽,必须通过连接CPU插槽的互联总线请求内存页,然后远程CPU插槽再访问DIMM并返回数据。 由于经过了其他总线,所以访问远程DIMM要比本地DI……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
我们往往认为物理服务器是内存与CPU核心的集合,但虚拟化引发了冲突,因为有多个核工作在共享的内存空间内。如果虚拟化管理员没有完全掌握NUMA节点的规模及其对大型虚拟机的影响,那么虚拟机运行时可能会导致性能问题。
Intel在CPU内处理内存
自Nehalem芯片起,Intel改变了其处理器微架构。Intel在CPU芯片内而不是由北桥芯片对内存进行管理。在该架构中,一个特别的双内联内存模块(DIMM)只会连接到一个CPU插槽。为使内存连接另一个CPU插槽,必须通过连接CPU插槽的互联总线请求内存页,然后远程CPU插槽再访问DIMM并返回数据。
由于经过了其他总线,所以访问远程DIMM要比本地DIMM的速度慢,这导致了非统一内存访问(NUMA)。一个插槽内的CPU核心与本地内存的组合称为NUMA节点;物理服务器的BIOS在启动时将该信息传输给ESXi服务器。
vSphere如何将虚拟机迁移到NUMA节点
让我们举个例子:一台虚拟主机可能有4个插槽,每个插槽有6个核心、16内存插槽,内存大小为8GB。因此整台主机有24个核心、128GB的内存。每个NUMA节点将有六个CPU核心、32GB的内存。看起来运行配置了4个vCPU、40GB 内存或者配置了8个vCPU以及24GB内存的虚拟机应该不成问题,但是上述虚拟机配置给VMkernel出了难题而且可能会引起潜在的性能问题。
自动ESX 3起,vSphere hypervisor就能够感知NUMA,而且其试图将虚拟机保留在单个NUMA节点内以提供最好以及最稳定的性能。大型虚拟机可能不适合保留在单个NUMA节点上。配置了4个vCPU以及40GB内存的虚拟机可能不适合我所列举的NUMA节点。该大型虚拟机需要在两个NUMA节点之间进行扩展。大多数内存将位于一个NUMA节点内,但是某些内存将会位于另一个NUMA节点内,因此访问速度会有些慢。所有的CPU将会位于第一个节点内,这样所有的vCPU能够以相同的速度访问内存页。虚拟机配置8个vCPU以及24GB内存非常常见,尽管其内存位于一个NUMA节点,但两个vcPU将会被安排到另一个节点上。对于这两个vCPU来说,所有的内存都不在本地,因此其运行速度会比较慢。
知道应用负载以及架构至关重要。如果高配置虚拟机能够拆分为两个小虚拟机,那么每个虚拟机将会位于一个NUMA节点内,你很可能会获得更好的性能。至少,你将会得到更为一致的结果,在发生故障时将会有利于故障诊断。
如果应用能够感知NUMA,那就更好了。vSphere使用vNUMA可以创建能够感知NUMA的虚拟机。该虚拟机将会被分割为虚拟NUMA节点,每个vNUMA节点将会被放置到一个不同的物理NUMA节点。尽管虚拟机仍旧在两个NUMA节点之间扩展,但虚拟机内的操作系统和应用能够感知NUMA,资源使用将会得到优化。
管理员需要了解硬件配置
了解硬件也很重要。这意味着要了解物理服务器的NUMA节点规模并使虚拟机与节点规模相匹配。集群中的所有主机拥有相同的NUMA节点规模,保持集群的一致性同样很重要,因为与拥有六核CPU的NUMA节点相匹配的虚拟机可能不适合四核CPU主机。这同样会影响你分配给虚拟机的vCPU的数量;如果有几台虚拟机使用了两个以上的vCPU,那么一定要确保多个虚拟机与NUMA的核心数相匹配。比如6核NUMA节点适合配置了2个vCPU以及3个vCPU的虚拟机,可能不适合配置了4个vCPU的虚拟机,配置了4个vCPU的虚拟机更适合CPU配置为4核以及8核的NUMA节点。
和很多事情将会影响vSphere设计类似,个人意识是避免问题的关键。小型虚拟机不需要了解或者关心NUMA但是大型以及核心的虚拟机需要感知NUMA才能够高效运行。在设计大型虚拟机时要适合主机的NUMA架构,并确保HA和DRS集群NUMA节点规模的一致性。
相关推荐
-
vSphere Web客户端升级并没有让用户停止抱怨
VMware针对困扰 vSphere Web客户端性能问题的解决方案是全新的基于HTML5的图形用户界面,但用 […]
-
存储IO控制能够避免哪些vSphere问题?
存储I/O控制(storage I/O control)可以帮助解决某些共享存储问题,但是其并非适用于所有虚拟机。
-
OpenStack项目:哪一个VMware贡献最多?
曾经有一段时间,VMware只专注于专有的软件上。随着IT世界的扩展,VMware的视野也越来越大。除了云服务、网络虚拟化和软件定义存储之外,VMware已经成为许多开源项目,包括OpenStack的重要贡献者。
-
从2016到2017:关于VMware云的疑惑也跨年
VMware NSX产品向前迈出了一大步,同时新版vSphere以及VSAN也初次登台。另一方面,业界对VMware云服务的定位仍旧存在困惑。