如果不加检查,虚拟机蔓延会逐步侵占数据中心资源并最终影响到应用的性能。
防止这一问题的第一步就是记录和跟踪环境中的工作负载。这看起来足够让人头疼,尤其是缺少完善的分发机制的时候。如果意识到这一点,您应该部署高效的策略来防止虚拟机蔓延,并达到一劳永逸。
跟踪虚拟机的方法
无论您是否相信,有些管理员依然采用电子表单的方式跟踪虚拟机。辛运的是,有生命周期管理工具和其它一些策略可以帮助完成这一让人抓狂的手动过程。这并不是说精心管理的表单不是有用的资源,但是通过手动跟踪和更新Excel表单的方式,可能会出现由于缺乏维护而出现错误的或过时的数据。
至少,我们应该建立授权规则防止不安分的管理员在闲暇时间随便创建虚拟机。我们应该让应用所有者通过使用申请表来提交新虚拟机需求。这听起来太严厉而且违反敏捷流程的理念。但是仅仅简单地通过表单和输入数据来维护远远不够。从我的经验看,这些系统通常缺少维护。如果您还通过表格来记录IP地址,那么这些过时的数据终将导致IP地址冲突。
当然,您总会需要记录一些信息。通过PowerShell脚本是生成周报的最佳方式,而且有很多免费的脚本可用,包括Al Renouf’s vCheck for VMware vSphere。它可以生成所监控环境的报告,并标示出配置问题。
如果资金充足,您还可以购买商业化的报告工具,例如Veeam的Reporter。它的免费版本可以报告虚拟机的使用状况,而且通过裁剪不必要的虚拟机发现潜在的成本节省空间。
Veeam的Business View应用也是免费的。它可以根据业务单元对虚拟机归类并显示它们的消耗情况。很多这类应用都可以支持把数据输出到Excel表单中,如果您确实需要建立.xls文件实现审计跟踪的需求,那么通过软件导出系统生成的数据总比手动编辑和维护的要好一些。或许您还会需要一张更为完善的列表,可以记录所有物理机和虚拟机的IP地址等信息。
把虚拟机蔓延扼杀在萌芽期
防止虚拟机蔓延最好的办法就是通过部署合理的不会影响性能的策略。创建合适的生命周期管理入口,可以让用户通过它申请到新的虚拟机。如果您的企业使用的是VMware vSphere、VMware vCenter Orchestrator(vCO)是个不错的选择。
vCO功能很强大,在vSphere 4 Standard或更高版本中,vCO是免费的。该产品包含了一系列的内置工作流,可以帮助客户建立自己的工作流。VMware客户可以通过vCO Team Blog找到介绍如何创建简单的自助虚拟机分发入口机制的demo演示视频。该系列的第二和第三部分视频也可以在线查看。
另外,微软的Hyper-V也有内置的自助分发入口机制,它是System Center Virtual Machine Manager (SCVMM)的一部分。该机制可以让管理控制分配每个用户的虚拟机数量,这样可以限制虚拟机总的创建数。或许您开始期待思杰也可以在自己的虚拟化平台XenServer中提供自助工具。最初作为Cowley项目的一部分,思杰提供了可下载的自助工具,大约200MB的一个应用,是以Linux操作系统核心为基础的。
思杰用户需要做的就是下载应用并添加到已有的XenServer池中。该产品通过微软的AD规则导入用户,配合授权系统,可以支持用户对自己的虚拟机做开始、停止和悬挂等操作。
需要注意的是VMware 、思杰和微软的工具都仅专注于自己的平台。如果您是混合应用环境,可能需要第三方工具,例如Quest的vControl。
多数免费工具的另一缺点在于主流hypervisor供应商都没有把“charge back”和“showback”模块包含在内,因为这是一个单独收费的功能。这让人很失望,因为为每台虚拟机增加“一美元”的投资可以减少蔓延。表面看这以免费的方式帮助用户管理虚拟机,因为增加一个虚拟机只需简单点击鼠标而已。但实际上,每台虚拟机都是有成本的,一方面来自于子OS和应用的软件许可成本,另一方面分配给它的硬盘、内存和CPU资源也有成本。