在最基本的层次上,服务器虚拟化管理指的是创建、编辑和删除虚拟机的能力。所有主要的虚拟机管理程序都包含可以执行这些基本功能的工具。例如,Microsoft Hyper-V包含一个称为Hyper-V Manager的工具,管理员可以使用该工具来创建虚拟机和执行其他一些基本管理任务。
尽管这些基本工具有着一席之地,但生产环境通常需要的功能要超出其必须提供的功能。这就是服务器虚拟化管理软件发挥其重要作用的地方。这些工具提供的功能未包含在原生管理工具中。
微软公司的SCVMM(系统中心虚拟机管理器)就是旨在代替Hyper-V Manager的一种付费管理工具。它使管理员可以从单个控制台查看其整个虚拟化基础设施,而不必分别管理每个Hyper-V主机。SCVMM还引入了Hyper-V Manager中未提供的其他功能,例如从模板生成新的虚拟机的功能。
市场上有许多服务器虚拟化管理工具,所有这些工具都是为填补特定的市场空白而设计的。系统管理程序供应商提供了一些工具(例如SCVMM和VMware vCenter Server),旨在使更加容易管理虚拟机和虚拟化主机。其他工具由第三方供应商出售,并且非常重视资源管理,故障排除或支持多个虚拟机管理程序。最终,组织必须根据自身的独特情况确定哪些功能最重要。只有这样,组织才能选择最能满足其需求的虚拟化管理工具。
重要的虚拟化管理软件功能
选择虚拟化管理软件时,需要具备几个重要功能。其中包括:
创建、修改和删除虚拟机的能力。
支持多个虚拟机管理程序。
支持基于云计算的虚拟机实例。
修改正在运行的虚拟机的能力。
报告。
自助式虚拟机调配。
退单和其他多租户功能,例如配额。
从模板创建虚拟机的能力。
排除故障。
协助进行物理资源管理的能力。
以下是一些要考虑的其他因素:
许可
在组织选择和购买服务器虚拟化管理软件时,许可是必须考虑的重要因素。这些工具以多种方式获得许可。重要的是,所选软件必须以适合组织的财务需求和业务需求的方式获得许可。组织的规模有多大?必须管理多少个虚拟机?这些是评估许可选项时要问的问题。
预算有限的小型组织将更适合于以开源版本或基本标准版本提供的软件。VMware公司提供了一个名为VMware Server Essentials的标准版许可证,该许可证专为规模非常小的虚拟化环境设计。Microsoft System Center 2012 R2 Virtual Machine Manager还具有两个许可选项。标准版选项适用于非虚拟化或轻度虚拟化环境。另一个有限预算选项是Citrix XenCenter,它是根据BSD 2条款许可证获得许可的。该软件是开放源码的,可以免费下载。这些选项可以降低许可成本,对于虚拟化程度不高的组织来说很有意义。
如果组织拥有较多的预算并管理高度虚拟化的环境,则可以使用更多合适的许可选项。VMware公司提供了vCenter Server标准许可证,该许可证主要面向大型组织。它提供了与vCenter Server Foundation许可证相同的功能,但允许管理最多2000台vSphere ESXi主机。Microsoft System Center 2012 R2 Virtual Machine Manager提供的第二个许可选项是Datacenter Edition,其适用于高度虚拟化环境。尽管有免费版本,但Foglight for Virtualization许可证基于磁带系统。而SolarWinds Virtualization Manager许可证基于套接字的数量。
跨平台功能
跨平台支持并不是每个组织都必须具有的功能,但是运行来自多个供应商的管理程序的组织应该考虑使用它。在这种情况下,跨平台支持可能使通过单个控制台管理多个虚拟化平台成为可能。
跨平台产品在提供支持方面都没有原生产品那么出色。Hyper-V的最佳管理工具是SCVMM提供的管理工具。同样,管理VMware ESXi的最佳服务器虚拟化管理软件是vCenter Server。
有几种工具提供了相对良好的跨平台支持。TurboMenic(以前是VMTurbo)、Foglight for Virtualization,Snow Commander(以前是Embotics Commander),SolarWinds Virtualization Manager和Splunk Enterprise Monitoring都为更广泛使用的管理程序提供支持。
每个虚拟机管理程序的支持方式可能有所不同,因为每个虚拟机管理程序并不完全相同。Microsoft SCVMM就是一个很好的例子。该工具为管理Hyper-V提供了全面的支持,为管理虚拟机ware ESXi提供了有限的支持。尽管该工具可以管理VMware环境,但管理员可能会发现自己偶尔使用原生工具来弥补SCVMM无法为竞争的管理程序提供全面的管理功能。
支持模板
尽管虚拟化环境中有许多不同类型的模板,但是模板通常用作自动化虚拟机部署的工具。在基本的服务器虚拟化环境中,模板不仅可以用来减轻与虚拟机部署相关的管理负担,而且可以确保根据组织的策略配置虚拟机。
这些模板是适用于私有云或混合云环境的基本功能,可启用自助式虚拟机资源调配。设置过程几乎总是基于使用预配置的虚拟机模板。
大多数服务器虚拟化管理软件都支持使用模板来创建虚拟机。这些工具包括虚拟机ware vCenter,Citrix XenCenter,Turbonomic和Microsoft SCVMM。其他工具提供间接模板支持。
能够更改正在运行的虚拟机
虚拟机具有高度动态性。原生的虚拟机管理程序管理工具(例如VMware vSphere Web Client或Microsoft Hyper-V Manager)使虚拟机的某些方面可以在运行时进行修改。允许的修改取决于虚拟机管理程序,但通常包括更改虚拟机的内存分配,添加虚拟硬盘或将虚拟机移至其他服务器。在理想情况下,第三方管理工具应该公开这样的功能,以防止管理员不得不使用原生管理工具来执行虚拟机的日常维护。
毫不奇怪,虚拟机监控程序供应商自己的工具往往会提供更多的选项,以对运行中的虚拟机进行更改。这些工具包括VMware vCenter、Microsoft SCVMM和Citrix XencCenter。大多数第三方管理工具并非设计用于精细的人工虚拟机管理。也有一些例外,例如SolarWinds虚拟化管理器提供了基本的虚拟机管理功能。
管理存储设施的能力
绝大多数虚拟机依赖于使用物理存储来存储配置文件和虚拟硬盘文件。服务器虚拟化管理软件必须能够与物理存储进行交互,以达到创建、修改或重定位虚拟硬盘文件所必需的程度。某些产品具有其他存储管理功能。
需要基本存储监视功能但不需要真正存储管理的组织可以考虑使用Snow Commander,Splunk Enterprise或SolarWinds Virtualization Manager。这些软件包提供了通用的存储监视功能。Turbonomic还为使用NetApp、HPE、Pure Storage或Dell EMC存储的组织提供存储监视功能。
当涉及到真正的存储管理时,除了具有创建、修改和重定位虚拟硬盘的能力之外,需要寻找的是对组织存储供应商产品的本地支持。尽管vCenter依赖于插件的使用,但虚拟机ware vCenter和Citrix XenCenter都提供了对特定存储硬件的深入了解。
能够实施退单
使用退单(Chargebac)可以使IT部门根据资源使用情况向客户收取费用。鉴于业务模型的差异很大,并非每个组织都会采用退单功能。在采用私有云或混合云的组织中,使用退单似乎是最常见的选择。即使这样,任何组织都可以使用退单功能,并且有些组织将退单功能作为跟踪成本的机制,但无需向任何人收费。
具有本地退单功能的服务器虚拟化管理工具包括Snow Command、SolarWinds Virtualization Manager、Foglight和Splunk Enterprise。
其他供应商使用补充软件推出退单功能。Microsoft通过System Center Operations Manager启用退单,而VMware通过vRealize Business Enterprise退单。Citrix通过XenServer工作负载平衡提供退单功能。
自助服务资源调配功能只能在私有或混合云环境中使用,在这些环境中,已授权用户可以按需创建虚拟机。自助服务资源调配往往更适合高度虚拟化的大型组织。原因之一是私有和混合云环境往往复杂且难以实现。自助服务环境也会增加帮助台的工作量。
由于自助服务资源调配功能是一个利基功能,因此大多数服务器虚拟化管理工具不包括自助资源调配支持。Snow Commander是一个明显的例外,它提供自助服务配置功能和支持功能,例如配额和服务目录。
一些供应商使用外部软件启用自助资源调配。VMware通过vRealize自动化公开自助资源调配功能。Microsoft SCVMM可以配置为充当自助环境,但缺少必要的客户端组件。需要自助服务功能的用户必须为Service Manager部署Microsoft自助服务门户。
自动化
自动化可以在虚拟化环境中实现从虚拟机部署到资源回收多种目的。
尽管大多数服务器虚拟化管理软件都提供了一些自动化功能,但是各种产品的功能差异很大。Turbonomic使用自动化来实时监视虚拟机工作负载,并根据需要重新调整资源以保持性能。另一个示例是Foglight for Virtualization,它可以使用自动化来修复检测到的问题。
并非所有的服务器虚拟化管理软件都包含原生自动化功能。虚拟机监控程序供应商倾向于通过单独的产品公开自动化功能。VMware通过vRealize Orchestrator公开了其自动化功能。同样,微软公司用于虚拟机自动化的主要软件是System Center Orchestrator。但是,Citrix XenServer确实提供了原生自动化功能。
报告
报告引擎应该是服务器虚拟化管理软件的另一个要求。报告引擎可以帮助管理员跟踪硬件资源消耗、虚拟机性能和许可证使用情况。此外,报告数据对于容量规划也很有用。
大多数服务器虚拟化管理工具都具有丰富的报告功能。一些工具侧重于虚拟化平台的一个方面,而其他工具则更为通用。Foglight for Virtualization重点关注服务级别协议的合规性,并确定未得到有效使用的资源。
有些供应商需要购买附加产品才能提供报告功能。VMware将vRealize Log Insight用作其主要报告工具,而微软公司的大多数报告功能都存在于System Center Operations Manager中。
优秀服务器虚拟化工具
Citrix XenCenter
Foglight for Virtualization
Microsoft SCVMM
Snow Commander
SolarWinds Virtualization Manager
Splunk Enterprise
Turbonomic
VMware vCenter Server
在软件采用之前需要回答的问题
除了基本的虚拟机管理功能外,组织还需要哪些核心功能?
需要能够配置和管理物理资源的软件,还是只要虚拟服务器管理功能?
采购虚拟服务器管理软件的预算是多少?
需要支持哪些类型的环境:多虚拟机管理程序、多云、混合云、私有云?
虚拟化管理平台是否支持基于云计算的虚拟机?
需要什么类型的报告功能?
自动化对组织是否重要?
虚拟机管理平台是否会采取任何措施来协助故障排除?
需要自助服务或退单功能吗?
管理软件是否包括对硬件的原生支持,例如支持特定的存储阵列类型?
没有任何一种服务器虚拟化管理软件可以完美地应对每种情况。它们都对其他软件有一定程度的依赖性,因此本身功能并不全面。
运行单个虚拟机管理程序的组织应该购买其虚拟机管理程序供应商推荐的管理工具。其他产品可以显著提高监视功能,但应视为对原生虚拟机管理程序管理工具的增强,而不是完全替代。有时候,组织可能需要使用诸如vCenter或SCVMM之类的产品来对虚拟化基础设施进行低级配置更改。
如果组织正在运行多管理程序环境,并且需要用于日常虚拟机管理的工具(而不是监视),那么很可能需要使用工具的组合。Microsoft SCVMM是用于跨平台虚拟机管理的最佳工具。但是,如果计划使用它来管理VMware环境,则还需要部署vCenter Server。SVMM仅可以管理连接到vCenter的VMware服务器。必须使用原生管理工具(直接使用vCenter)而不是使用SCVMM控制台来完成一些低级管理任务。当前版本的SVMM并未正式支持5.1以后的VMware版本,但有消息称在下一个SCVMM版本中将支持对VMware 5.5和6.x的支持。如果组织正在寻找第三方的跨平台管理工具,那么SolarWinds是一个很好的选择。
如果组织的目标是监视(而不是管理)多个管理程序环境,那么最好的软件是Snow Commander和Dell Foglight for Virtualization。这两种产品都支持各种虚拟机管理程序,并且擅长监视虚拟化基础设施。
对于希望允许虚拟机自助服务配置的组织来说,最好的工具是Snow Commander。SCVMM也是一个很好的选择,但是需要Windows Azure Pack。Azure Pack是免费的软件,但是其正确部署和配置可能需要大量工作。
最后,想要实现虚拟机自动化的组织应该考虑采用Snow Commander。Snow Commander允许自动执行例行任务,例如将虚拟机连接到域。还可以使虚拟机的置备和取消置备自动化,这有助于减少虚拟机面临的相关挑战。