虚拟数据中心的高可用性(HA)是一个多层次的任务,它涉及到在线备份(live backup)、故障恢复功能或集群等等。在本文中,将探讨如何在虚拟环境下配置集群 (cluster),建立故障恢复体系(failover structure)。
虚拟化的高可用性有两个层面。我们既可以在子机层操作,依赖OS和应用灾难恢复能力;也可以在主机层操作,从而面对一系列新的问题。
在子机层执行HA配置的过程几乎与在物理机环境下一样,需要解决一些技术问题。例如,为每个虚拟网络接口设置静态MAC地址。此外,还需要突破一些限制因素,这些 限制因素取决于所选的虚拟化平台和HA软件。不过,虚拟集群创建基本上都是可以完成的,甚至可以创建混合式(mixed)虚拟集群。在混合式虚拟集群中,有一个或多个节 点是虚拟机,其它节点则均为物理机。
主机的高可用性更有必要性,不过也更加复杂。在这样的情况下,以故障恢复为例,运行于主机中的虚拟机必须被复制到另一台主机,而且要保持持续性同步,复制虚拟 磁盘和虚拟内存修改。这个操作与在线备份有同样的问题,而且还更加复杂,需要尽可能快、尽可能多地重复进行此操作。
这样,Vizioncore再一次成为了主角。它有esxReplicator,能够将正在运行的虚拟机从一台VMware Server复制到另一台VMware Server,而且不需要集中存储设备。不 幸的是,这款产品不能处理网络修改(network modification),而执行故障恢复时需要用到网络修改,所以我们只能手动切换出错主机和冷备份(cold standby)主机。
VMware自身也提供了一个更加强大的解决方案,推出了ESX Server 3和VirtualCenter 2,这是一个基于VMotion的故障恢复选项。VMware HA不像Vizioncore esxReplicator,它可以自动重启出错主机中的虚拟机。不过很遗憾,VMware HA在配置方面非常费力。它必须要有VirtualCenter和VMotion,而且虚拟机必须存储于光纤通 道SAN环境,否则它就无法工作。
其它高可用性方法
另一方面,P2V迁移工具可以帮助我们执行P2V迁移。因此,我们可以配置P2V迁移工具,以便复制虚拟机到其它主机。
在这种情况下,PlateSpin是一个比较好的选择。它提供了Windows操作系统的动态迁移功能(live migration)。此外,还可以利用这个技术进行灾难恢复。然而不幸的 是,PlateSpin跟Vizioncore一样,也不能处理故障恢复的每个方面,所以我们还得手动干预。
使用故障恢复固然是个不错的方法,但是最可取的HA配置方法毫无疑问当属集群。在集群中,多台主机担当共享虚拟机的一个执行前端。如果其中一个主机出错,不会造 成服务中断。因为还有其它主机可以正常工作,虚拟机总是可用。
利用虚拟化平台的自身功能或第三方解决方案,我们可以在主机层执行集群。
例如,在Microsoft Virtual Server中,Windows是主机操作系统,微软允许通过Cluster Service执行虚拟化物理节点集群。
相反,VMwareESX Server没有这样的功能。不过,它有一些外部解决方案可以完成这个任务,如Symantec Veritas Cluster Service。最近EMC公司发布了Rainfinity, 这让我们看到了希望,有一天RainWall技术终将可以用于执行ESX集群。
目前,虚拟化集群解决方案还远不够成熟,在采用之前一定要进行严格的测试。