例如,一个客户希望低利用率机器的虚拟化的压缩比是20:1。然而,他们同时也有网络目标来压缩他们的网络需求。另一个限制因素是他们可以选择的硬件,因为他们被限制在一个特定的集上,适配器被精确地限制了。说明书上说,有了硬件,他们就可以做他们想做的事情,所以他们沿着这条路走下去。然而,硬件规范规定的未必是ESX的最佳实践,这导致他们在处理所选环境的问题时遇到了相当多的困难。通过更好地理解ESX对各种硬件的影响以及该硬件对ESX的影响,他们可以在早期减轻某些困难。(尽管大多数,如果不是全部的话,图表和笔记使用惠普的硬件,这些只是例子;类似的硬件可以从戴尔(Dell)、IBM、Sun和许多其他厂商获得。)
基本的硬件问题
了解基本硬件方面及其对ESX的影响可以极大地增加虚拟化成功的机会。首先,让我们看看构成现代系统的组件。
在为企业进行设计时,需要考虑的关键因素之一是要使用的处理器,特别是类型、可用缓存和内存配置;所有这些因素都在很大程度上影响着ESX的工作方式。错误的选择可能会使系统显得迟缓,并且会减少可以运行的虚拟机(vm)的数量,因此在设计虚拟环境时最好密切关注处理器和系统体系结构。
在选择任何硬件之前,请始终参考VMware硬件兼容性列表(HCLs),您可以在其中找到四个卷http://www.vmware.com/support/pubs/vi_pubs.html:
ESX服务器3。x系统兼容性指南
ESX服务器3。x I/O兼容性指南
ESX服务器3.x的存储/ SAN兼容性指南
ESX服务器3。x备份软件兼容性指南
处理器的考虑
处理器系列,这是不是在对事物的计划了巨大的代价,是一个考虑因素采摘多台机器时,为企业,因为不同类型的处理器架构的影响的ESX功能的可用性。具体而言,不匹配的处理器类型将防止VMotion的使用。通过VMotion允许运行VM从主机到主机的运动通过使用专门的网络连接。VMotion的暂时停住虚拟机,同时从主机VM的它复制存储器和寄存器足迹主机。随后,老主机上的虚拟机完全关闭,而新的开始。如果一切正常得当,虚拟机是不会知道的,但可以没有问题地吸收轻微的打嗝。然而,由于副本的VMotion从主机到主机寄存器和内存占用,处理器架构和芯片组的使用需求相匹配。这是不可能的,但无AMD处理器的处理器的功能适当的掩模于VMotion从至强或从单核处理器的双核处理器,即使它是在ESX版本2.5中引入处理器的同一家族。2。如果要移动的虚拟机是一个64位的虚拟机,则该处理器必须完全一样没有可用来掩盖处理器特征的方法相匹配。因此,处理器架构和芯片组(或指令集)是非常重要的,因为这可以从一代改变一代的机器,最好是在同一时间推出两款机到虚拟企业,以确保VMotion的实际工作。 When introducing new hardware into the mix of ESX hosts, test to confirm that VMotion will work.
最佳实践 -在单处理器和芯片组架构上标准化。如果这是不可能的,因为现有的机器的年龄,测试,以确保VMotion仍然工作,或引入主机对,以确保成功的VMotion。不同的固件版本也会影响VMotion的功能。
确保系统中的所有处理器速度或步进参数也都匹配。
注意,许多公司支持不匹配的处理器速度或单步执行系统。ESX更希望所有的处理器具有相同的速度和步进。在处理器的步进不同的情况下,每个供应商提供不同的处理器放置说明。例如,Hewlett-Packard (HP)将要求最慢的处理器位于第一个处理器槽中,而其他所有处理器位于其余的槽中。为了减轻任何类型的问题,处理器的速度或步进匹配是系统内的最佳实践。
在进入下一阶段之前,有必要简要介绍一下双核(DC)和单核(SC)处理器。ESX服务器在其许可方案中没有区分DC和SC处理器,因此它们之间的差异成为处理器的成本与性能收益的问题。与SC相比,DC处理器可以处理更多的vm,但成本也更高,并且只在ESX的后续版本中提供支持。在某些情况下,可以从SC处理器开始,并将ESX服务器的第一次升级为DC处理器,以保护硬件投资。如果性能是问题所在,那么DC就是正确的选择。然而,就目前而言,选择是成本与性能之间的平衡。由于DC的当前共享缓存机制,8核或4处理器服务器的处理能力与7个物理处理器相同,一旦共享缓存消失,DC的效率很有可能与真正的8路机器相匹配。
高速缓存注意事项
不像匹配处理器架构和芯片组,它并不重要到多个主机之间匹配L2高速缓存。不匹配将不会阻止来自VMotion的工作。然而,二级缓存是最有可能的,当涉及到性能,因为它控制内存频率主要访问是更重要的。该二级缓存越大越好的ESX服务器将运行。考虑图1.1在虚拟机而言是一个完整的过程和内存的访问路径。尽管ESX试图限制使用内存尽可能,40个虚拟机这仅仅是不可能的,所以二级缓存起着虚拟机如何进行显著部分。
内存访问路径
随着越来越多的vm被添加到具有相同操作系统类型和版本的主机上,ESX将开始在vm之间共享代码段。代码段是组成VM和中的操作系统的指令不包含虚拟机的内存中的数据段。虚拟机之间的代码段共享不违反任何虚拟机的安全性,因为代码永远不会改变,如果确实如此,代码段共享不再可用的虚拟机。这且不说,让我们来看看图1.1一次。当处理器需要向系统请求内存时,它首先进入L1缓存(通常达到1兆字节),查看所请求的内存区域是否已经在处理器上消失了。这个动作非常快,尽管对于大多数处理器来说是不同的,但是我们可以假设它是一条或两条指令(以纳秒为单位)。但是,如果内存区域不在L1缓存中,那么下一步就是通过一个通常以处理器速度运行的极快通道(绿色箭头)到达L2缓存,L2缓存通常处于关闭状态。然而,这比L1缓存访问花费更多的时间和指令,并且增加了访问内存的总时间。如果你想要的内存区域不在L2缓存中,它在主存的某个地方(黄色箭头),并且必须被访问并加载到L2缓存中,以便处理器可以访问内存,这需要另一个数量级的时间来访问。通常,高速缓存线是从主存(即所需的内存区域和一些相邻的数据)复制过来的,以加速将来的内存访问。当我们处理非统一内存访问(NUMA)架构时,因为这是AMD处理器的情况,如果需要的内存位于系统其他地方的处理器板上,那么还有另一个内存访问步骤。它离得越远,访问时间就越慢(红色和黑色箭头),通过CPU互连进行的访问将为内存访问时间增加另一个数量级,在处理器时间中可能相当慢。
好吧,但是这是什么意思在现实时间?假设我们使用的是3.06GHz的处理器,该时间可能如下:
L1缓存,一个周期(~0.33ns)
L2高速缓存,两个周期,第一个从L1高速缓存获得缓存未命中,另一个访问L2高速缓存(~0.66ns),以CPU速度运行(绿色箭头)
主存运行在333MHz,比L2缓存慢一个数量级(约3.0ns访问时间)(黄色箭头)
访问另一个处理器板上的主存(NUMA)要比访问同一个处理器板上的主存慢一个数量级(大约30-45ns的访问时间,取决于距离)(红色或黑色箭头)
这意味着,大量的L2 Cache的大小将受益更多的系统比小L2缓存大小;这样,较好的大,从而使处理器能够访问更大的连续的存储器大块,这是因为存储器被交换在将在更大的尺寸,这将有利于虚拟机的性能。这种讨论并没有说明基于NUMA架构本质上是慢于普通风格的架构,因为运行ESX Server大多数基于NUMA架构不需要去到其他处理器板经常来访问他们的记忆。
最佳实践 -为你选择的架构投入最大数量的L2缓存。
内存注意事项
在L2缓存之后是内存的速度,正如前面的项目符号列表所示。建议使用更高速度的内存,而且要大量使用!内存的数量和处理器的数量决定了有多少vm可以同时运行而不会过度提交这个重要的资源。在许多情况下,最高速度的内存常常伴随着较低的内存消耗。HP DL585就是这样一个例子,它可以存储32GB的高速内存,但是也可以存储64GB的低速内存。因此,很明显,在vm的数量和如何填充内存方面存在权衡,但通常最佳实践是高速和高数量。假设每个核心的最大vcpu数量是8个。在一个4处理器的机器上,可能是32个vm。如果每个虚拟机都是1GB,那么我们需要33GB的内存来运行这些虚拟机。为什么33 g ? Because 33GB gives both the console OS (COS, the service console) and the VMkernel up to 1GB of memory to run the VMs. Because 33GB of memory is a weird number for most computers these days, we would need to overcommit memory. When we start overcommitting memory in this way, the performance of ESX can degrade. In this case, it might be better to move to 64GB of memory instead. However, that same box with DC processors can, theoretically, run up to 64 VMs, which implies that we take the VM load to the logical conclusion, and we are once more overcommitting memory. However, eight VMs per processor is a theoretical limit, and it's hard to achieve. (It is not possible to run VMs with more vCPUs than available physical cores, but there is still a theoretical limit of eight vCPUs per core.) There are rumors that it has been done. Unfortunately, that pushes the machine to its limits and is not recommended. Recommended memory utilization differs significantly for each configuration.
最佳实践 -高速的内存和大量的它!但是,在选择最高速度的内存时要注意可能的权衡。更多的vm可能需要使用稍微慢一些的内存。
推荐的内存配置是什么?当我们详细讨论vm时,会讨论这个主题,因为它确实与这个问题有关;但是,强烈建议将硬件支持的最大内存设置为不超过ESX设置的64GB限制(因为过度提交内存会造成太多性能损失,应该只在极端情况下执行)。然而,这是一个非常主要的成本效益解决方案,因为在ESX的任何实现中都需要考虑冗余;因此,减少每台机器的内存需求以提供冗余系统是有益的。
I / O卡上的考虑
接下来要考虑的是其I / O卡的支持。不像其他的操作系统,有支持的I / O卡的有限列表。有便宜的驱动器(RAID)阵列,小型计算机系统接口(SCSI),用于外部设备,包括磁带库,网络接口卡(NIC)和光纤通道主机总线适配器适配器的冗余阵列上的限制。虽然名单经常变化,它归结为几个类型由设定的设备驱动程序ESX的一部分的限制支持的设备。表1.1覆盖设备和相关的驱动程序。