回归基本面:确保虚拟机不超过主机容量
我的雇主最近购买了需要新虚拟机的软件产品,正好可以趁此机会来审查为每个虚拟机合理分配硬件内存和计算资源的几个重要基本面。
这样做,我们才能处于故障切换就绪状态;在我们的环境下,由于新软件特别耗费资源,这意味着为生产级应用程序运行虚拟机的两个集群物理主机适当分配资源尤为重要。
该任务还提供了审查和调整分配给我们所有现有虚拟服务器的资源的机会,以便分配的资源数量适中。
为了启动该项目,需要对使用物理资源的已有系统进行审查,以便我们清楚地了解哪里还有余地可以创建新实例,哪里存在资源分配不当。也正好可以趁机为即使在高峰使用期间也未充分利用的服务器调整资源多寡,并且停用不再使用的服务器。
总之,这种审查的主要价值归结为两点:平衡内存和处理器分配以及停用服务器。
平衡内存和处理器资源
在分配内存资源和处理器资源时,目标一样:任何分配的资源不应超过物理主机支持的总量的一半。因此,如果每台物理机有128个处理器,为该主机上所有虚拟机分配的处理器总数不应超过64个。同样,如果有500GB的内存,那么该主机上所有虚拟机之间已分配的内存总量不应超过250GB。
值得一提的是,为每个虚拟机分配的内存和处理器通常也远高于哪怕高峰时段的实际使用量,这是为了两者的需求激增时留有余量。
平衡这些资源的一种方法是,在电子表格上记下分配给每个物理主机上每个虚拟机的内存和处理器资源,并为每个主机记下总量。如果任何一台主机上存在资源分配过度,可以在主机之间移动虚拟机,以达到所需的平衡。如果需要的资源多于可用资源,可以通过重新评估已分配的内存和处理器来找到更多资源,找出可以在不降低性能的情况下缩减哪些虚拟服务器的资源。为此,明智的做法是观察已分配资源的实际使用情况,衡量它们在高峰期间离耗尽资源有多近。一条好的经验法则是,允许内存和处理器的使用量高达已分配资源的80%,因为超过这个比例,进程会开始出故障。如果你发现一个虚拟服务器使用的内存或处理器资源从不超过15%,就可以精简。
服务器停用
当业务应用程序或网络部件报废或被替换时,它需要合理停用。停用频次在很大程度上取决于服务器环境的大小、业务需求以及硬件/软件支持生命周期。在我工作的公司,这种情况每年发生两到五次。
要考虑的一件事是,先针对可能驻留在用户工作站上的应用程序删除客户端。从应用程序本身删除客户端可能是最简单的方法,但其他方法包括使用组策略、登录脚本或SCCM,可实现同样的目标。
一旦完成这一步,关闭托管应用程序的虚拟机,将其从集群中断开。在Windows环境下,这可以由Hyper-V集群管理器来完成。从集群中断开可防止虚拟机成为任何故障切换操作的一部分;在Hyper-V的情况下,您无法在虚拟机仍在集群中时删除它。由于它是虚拟机,它只作为虚拟硬盘驱动器文件而存在,存在于物理主机或SAN中的某个地方。
下一步是将这些虚拟硬盘驱动器文件移到归档或冷存储,以便在需要时可以恢复它们,并从主机中删除虚拟机实例。然后,同样在微软环境下,禁用Active Directory中的计算机对象,并将它移到非生产级组织部门。
最后,精简已停用服务器的备份内容,只保留最近一份好的镜像,本地和云端各留一份。
原文标题:??Back to basics: Make sure VMs don’t exceed host capacity??,作者:Michael A.Flowers Sr.