虚拟机管理:如何在实践中做好数据中心资源平衡

现今对数据中心的要求是稳固、有效,这首先要做到“合理使用”。虽然闲置资源对于一个环境来讲是种资金浪费。但若是没能对频繁使用的数据中心进行合理的资源配置,必将引发危险场景。单一硬件失灵可能导致其他物理主机发生故障。IT管理人员面临的困难在于:使用并管理好遍布整个环境的计算资源(通常包括物理的,虚拟的和云资源)。本文将和大家讨论作为达到资源优化这一目的所使用的手段--资源规划和问题缓解。我们还将说明如何在问题恶化之前解决它。

资源规划的最佳实践

当今,几乎所有的数据中心都已经拥有或是将会进行某种形式的虚拟化配置。这就要求我们在对物理平台进行虚拟化时需要作更多考虑。我们已经在单一硬件平台上建设了多种虚拟机应用,计算资源共享硬件平台的CPU、内存,网络资源共享I/O--有时流量共享磁盘。当谈及资源管理和问题定位时,主动规划可以帮助解决资源利用的问题。

资源的负载平衡

不管是在虚拟还是物理环境中,了解清楚哪种资源被使用以及资源分配给了哪些虚拟机是很重要的。例如,如果手边有一台物理主机,配置是8核和24GB随机内存,工程师不会把所有可用资源都用上,因为那样的话,就完全失去了应对调整和故障的余地。

 

图1 Citrix XenServer 6.0企业版管理程序,其配置为仅有本地内存支持的单一主机。对于小企业这样的部署能够满足良好运行;但随着业务的变化,多台主机则成为必要

如图1所示,单独一台XenServer主机为终端用户提供几项高使用频率的工作负荷。这个办法虽然可行,但是在面对业务应用高峰或者出现要添加虚拟服务器的潜在需求时,进行相应调整的空间几乎没有。在上述例子中,工程师将不得不从其他虚拟机上移走虚拟资源--本例中是随机存储内存--以便实现单台物理机上的内容增长。按照要求物理资源必须为所以虚拟机可用。在任何环境中,必须保证有空间来应对紧急情况和未来的扩展。这将是负载平衡和虚拟机管理起巨大作用的地方。

不论是虚拟机还是物理机都必须有合适类型的资源分配给它们。当部署了经常使用的工作负荷后,要在不影响其它虚拟或物理工作负荷前提下,对资源进行规划和传输。同样是这个案例场景,如图2所示,我们引入了第二台物理主机,有着类似硬件规格,开始对虚拟和物理的资源单位进行负载平衡处理。

 

图2 Citrix XenServer 6.0企业版管理程序,显示了在资源池里配置了多台主机。该资源池能够进行资源共享,原因是虚拟机能够在存储局域网(SAN)范围内实现在主机之间实时移动

在新场景中,我们有两台物理主机投入到资源池里,在这里,资源可以在虚拟机之间得到共享。由于每个环境都是独一无二的,需要对物理资源的负载平衡处理过程作个别规划。本例中,按照现在虚拟机的要求,两台物理主机具备额外可用资源。而且还为这个具体环境配备了备用CPU,RAM和存储,从而保证虚拟机运行的灵活性。

同样,许多环境将会出于高可用性(HA)考虑想要执行负载平衡。把XenServer 6.0作为示范管理程序,内置工具将会协助完成这一过程。通过使用“合并服务器”高可用性功能,管理员能够看到哪些机器可以安全地故障转移到另一台主机上。在这里,工程师可以确定每台物理机需要多少资源来处理它的负载。最重要是要记住一点,这两台服务器在满足了新创建虚拟机有可用资源,故障转移和工作流程自动化这些特性同时,实现了负载平衡。从HA角度来看,如果上述提到的物理主机之一发生了故障,另一台能够承载起故障主机上的关键虚拟机。

当资源在机器间达到平衡,虚拟机就有能力根据需求在物理主机间移动,而不影响现行的资源状态。把灾备(DR)当作一个有可能的例子。如果一台物理主机在这种类型的负载平衡场景中发生故障,虚拟机会转移到下一台能找到可用资源的主机上。如果任何一台主机都被全面利用,就不可能允许灾备和故障转移,这仅仅是因为另一台主机上已经没有可用资源来支持追加流入的虚拟机。