数据中心虚拟化部署经验谈

IT主管们经常、并且一再被要求对数据中心的基础架构进行虚拟化;但是尽管服务器虚拟化问世已有这么多年,但大家仍觉得这是一项尚未完全成熟的技术。如今,大大小小的公司在部署这项技术;不过,许多企业主管在真正走上这条路之前,仍在观望这项技术会取得多大的成效、需要多大的成本。

Vincent Biddlecombe是Transplace的执行副总裁兼首席技术官,其所在公司是一家非资源型第三方物流提供商,为制造商和零售商们提供物流技术和运输管理服务。“我们从虚拟化中尝到了甜头”Biddlecombe表示,通过虚拟化甚至在很多方面有意想不到的收获。那么,是什么原因促使Biddlecombe及其公司走上虚拟化这条道路呢?要说有什么经验的话,他和其公司一路上又获得了哪些经验? Biddlecomb坦率地讲述了心得,希望能帮助别人走上自己的虚拟化道路并尽可能少走弯路。

问:自部署虚拟化基础架构以来,贵公司获得了哪些好处?

Biddlecombe:我们公司在改用虚拟化基础架构的过程中,获得了许多好处。有些好处是我们预料之中的,比如我们把许多物理服务器整合成数量较少、运行虚拟机管理程序的服务器后,提高了硬件利用率。虚拟化技术让我们可以按需要创建额外的环境――这特别适用于创建测试或开发服务器,这个好处也不意外。因为我们在需要时可以迅速添加新的服务器,虚拟化还解决了生产服务器的扩展性难题。

但我们还获得了另外的好处。虚拟化让我们可以降低数据库的许可成本;我们还简化了创建灾难恢复服务器的过程。我们可以更容易地测试灾难恢复计划;这意味着:一旦发生灾难,我们作好了更充分的准备;必要的话,我们可以在更短的时间内恢复计算机运行。

问:什么原因促使你考虑改用虚拟化基础架构?

Biddlecombe:我们最初考虑把服务器基础架构改成虚拟环境时,这个决定与我们当初想让生产环境改用托管设施的计划不谋而合;那时候也正好要更新服务器硬件。因为我们通过软件即服务(SaaS)模式为自己的客户提供服务,所以需要保持全天候不间断、世界级的功能、托管、可用性、可靠性和扩展性。

我们还希望在增强灵活性以便部署多个环境的同时,保持灾难恢复过程的可靠性。这包括测试和开发环境,以及客户用户验收、销售人员演示和负载测试等环境。我们觉得,虚拟基础架构能够为我们满足所有这些要求,而成本与新的物理基础架构相比更为合理。我们考虑多个环境统一使用分层存储策略和灾难恢复计划时,首次想到了虚拟化。我们认为,虚拟化有望帮助我们根据要求,把数据迅速转移到合适的存储源。我们还认识到,虚拟化有望便于在生产环境实现冗余机制,同时提供运行灾难恢复及其他环境的强大功能。

另外,因为虚拟化减少了我们所需的CPU数量,它还帮助我们管理按CPU数量计费的Oracle许可证的成本。这是一个重要因素;因为如果创建一个近实时灾难恢复中心,许可成本会进一步增加。如果近实时数据副本用于灾难恢复,Oracle要求数据原件和副本都遵循同样的许可模式。

问:你怎样评估部署的虚拟化所取得的成效?

Biddlecombe:由于我们已在网络的大部分地方部署了虚拟基础架构,这给公司带来了几大好处。我们不但减少了所需的CPU数量,从而节省了硬件成本,还克服了如何在需要时创建数据库的难题。

虚拟化还解决了把数据复制到灾难恢复服务器的难题;现在我们就能按照需要创建额外的环境,不必将服务器专门留给每一种环境。我们的虚拟机集群某天可用于运行测试虚拟机,第二天可用于负载测试。它们还可以执行灾难恢复――我们可以选择希望在任何时间段运行哪些虚拟机。这有助于解决扩展性难题,因为我们一旦有需要,只要为该集群添加新的服务器即可。

最重要的是,虚拟化技术让我们可以为客户保持全天候不间断、世界级的功能、托管、可用性和可靠性。

问:虚拟化基础架构具体从哪些方面帮助你降低了IT成本?

Biddlecombe:由于减少了需要采购的CPU总数量,我们部署的VMware虚拟环境为我们省了大笔费用。我们还发现,捆绑了AIX操作系统的IBM POWER6服务器让我们可以在数据库层部署数量较少、但速度更快的处理器。这让我们有望进一步降低我们的Oracle许可成本。节省成本的另一项特性还适用于AIX,以及我们在数据库层使用的IBM p570服务器。我们可以根据需要,为这些服务器的逻辑分区分配尽可能大的内存和CPU功能;我们还能跨分区共享多余容量。通过对逻辑分区进行虚拟化,我们还能更快速、更容易地进行扩展。另外,由于数据库位于共享存储资源上,必要的话,我们可以为故障切换所需的其他生产服务器创建额外分区。

问:虚拟化是不是还有助于贵企业IT基础架构的其他部分?

Biddlecombe:是的,我们的Oracle基础架构进行虚拟化让我们可以在小得多的分区上运行测试和开发环境;一旦有需要,我们还能够向上扩展。如果我们想进行负载测试,只要重新配置及向上扩展开发分区,以适应负载测试的要求。如果我们执行灾难恢复过程,可使用整台机器来运行生产环境。

就存储而言,我们使用了虚拟化的Network Appliance设备;我们为这些设备配置了典型的企业共享存储。我们使用这些设备,为测试和开发环境创建了额外的数据库副本。以前我们需要更新测试和测试数据库时,只好对生产数据库进行完全拷贝――而这个过程费时12至24个小时,还需要大量存储空间。而现在,我们只要创建灾难恢复副本的快照拷贝,这是最新的生产环境副本。它占用的空间非常小,而且整个过程只需要几分钟。

在应用程序层面,我们的代码大多数是用Java定制编写的,而Java运行在BEA WebLogic应用服务器上。至于硬件,我们使用配备两颗四核处理器和32GB内存的戴尔2950服务器。我们还针对连接服务器和存储系统的子网,为服务器添加了额外的网卡。所有应用层服务器都使用VMware进行了虚拟化处理。

在应用程序层面发挥作用的一项重要的虚拟化特性就是VMware的vMotion功能。这项功能让我们可以创建由三四台服务器组成的集群,我们可以为该集群添加20至40个虚拟服务器。 vMotion通过监测每台服务器有多繁忙来管理服务器;如果原始物理服务器过于繁忙,vMotion会自动把虚拟服务器从一台物理服务器转移到另一台物理服务器。这个过程实时进行,对应用程序没有任何干扰。

问:你可以向其他IT主管介绍一下贵企业从虚拟化部署项目得到的经验吗?

Biddlecombe:评估改用虚拟环境的成本时,重要的是认识到这点:虚拟化需要额外的网络存储,因为它需要20GB的空间来装入虚拟机操作系统。

你还需要为虚拟机与存储设备之间的单独子网购置额外网卡。如果你算上将来需要的虚拟操作系统软件和额外内存的成本,每台服务器的成本就会上涨。另一方面,如果你考虑把10个虚拟服务器整合到一台物理服务器上,总体节省费用的效果会相当显著――不但可以节省前期的硬件成本,还能节省数据中心场地以及电力和冷却成本。

弄清楚软件开发商的许可要求很重要。大多数开发商提供按CPU数量计费的许可模式,但它们可能会算上虚拟服务器所需的额外成本。虚拟化简化了添加新的服务器,但软件开发商可能想要为添加的每个服务器额外收费。使用专用的VMware集群在这方面有助于减少费用。