【VMware vSphere 5.0服务器虚拟化实践系列(9) :vSphere 5.0中的资源管理设置

在上一篇博文中我进一步使用脚本PowerCLI来完成其他虚拟机的部署,而在整个服务器虚拟化架构中,为了能充分利用ESXi 5.0主机资源并避免资源过量使用,防止虚拟机独占主机资源,那么就需要对vSphere 5.0中的相关资源包括CPU、内存、网络、存储进行设置管理。

VMkernel

ESXi虚拟化管理程序称为VMkernel,只支持64位CPU的主机,但同时支持32位和64位的客户操作系统(比如Windows Server 2008 R2,SuSE Enterprise Linux 11 SP1等等)。VMkernel从虚拟机监视器(VMM,它负责对虚拟机提供硬件资源抽象,为客户操作系统提供运行环境。)接收虚拟机的资源请求,然后将这些请求传送给物理硬件。 

份额(Share)

份额指定发生资源争用时虚拟机的相对重要性。例如虚拟机A的资源份额是虚拟机B的两倍,则在这两个虚拟机争用资源时,虚拟机A有权消耗两倍于虚拟机B的资源。

份额有3个固定的设置值(低、正常、高,这些值将分别按 4:2:1 的比例指定份额值),或者也可以选择自定义为各虚拟机分配特定的份额值。 

预留(reservation)

预留指定为虚拟机预留的CPU主频或物理内存大小。在启动虚拟机时,只有ESXi主机或者资源池中的资源满足虚拟机的预留值大小时,vCenter Server或ESXi才允许打开该虚拟机电源,这称之为接入控制。如果虚拟机预留的资源从未被该虚拟机使用过,那么其他虚拟机是能够使用这部分资源的。在对虚拟机的资源进行配置时建议使用预留指定该虚拟机可接受的最低 CPU 主频或内存大小,而不是该虚拟机想要使用的CPU主频或内存大小。 

限制(limit)

限制指定虚拟机可使用的资源的最大值,也就是说虚拟机所使用的资源可大于为其分配的资源预留值,但不会超过资源限制值。如果全部虚拟机所使用的资源的限制总和大大低于资源池可提供的资源,那么资源池中未被使用的资源并不能被充分利用。在没有设置限制值的情况下,虚拟机能够使用的资源的限制取决于创建该虚拟机时为其分配的资源。

存储I/O控制(Storage I/O Control)

虚拟机访问存储存在 I/O 拥堵时,存储I/O控制可以控制分配给特定虚拟机的存储 I/O 量,从而确保更重要的虚拟机优先于重要性较低的虚拟机获得 I/O 资源分配。当在数据存储上启用Storage I/O Control后,ESXi主机将监控主机与该数据存储通信时的时间延迟(latency)。当时间延迟超出阈值时,访问该数据存储的每个虚拟机都会按预先分配的份额比率分配相应的 I/O 资源。vSphere 5.0支持对光纤(FC)连接存储、iSCSI连接存储、NFS数据存储进行I/O控制。 

网络I/O控制(Network I/O Control)
使用网络I/O控制可以通过配置规则与策略指定虚拟机的业务优先级。当发生网络I/O拥塞时,网络I/O控制将根据规则自动分配可用的网络I/O资源。在vSphere 5.0中可以对单台虚拟机进行网络 I/O 控制。

    基于VMware vSphere 5.0的服务器虚拟化实践(9)_第1张图片 

在对vSphere 5.0的资源进行管理时需要明确以下两点:

1、vSphere 5.0包括标准版,企业版和企业增强版共三个版本,不同软件版本支持的vCPU、vRAM大小是不同的,而且只有企业增强版才支持网络I/O控制和存储I/O控制,而且网络I/O控制是在分布式虚拟交换机而不是标准虚拟交换机上进行的配置。

2、如下表二所示,vSphere 5.0的资源管理分为三大层次:vMkernel、虚拟机所有者以及vSphere管理员。作为一名vSphere管理员,应重点关注虚拟机四大资源CPU、内存、网络、存储的资源分配与控制,同时理解VMkernel对CPU周期以及内存资源的管理机制,确保虚拟数据中心的高效、稳定运行。 


    基于VMware vSphere 5.0的服务器虚拟化实践(9)_第2张图片