随着组织对信息系统的依赖性越来越高,人们开始寻找让信息系统更具弹性的方法,数据中心管理人员已经做出了许多尝试,其中就包括已经使用了好多年的高可用解决方案,但整个行业都开始向虚拟数据中心过渡,迫使组织开始重新思考他们的高可用策略。
在向虚拟数据中心过渡的过程中,出现了许多有趣的现象,如那些从未使用过集群策略的小公司,现在也被迫要部署某种形式的高可用架构,那是因为小公司都认为可以通过虚拟化实现资源整合,从而减少开支。
虽然通过虚拟化整合了服务器,但也将风险整合进去了,例如,企业可能认为一个基础架构服务器出现故障,不会带来灾难性的后果,但托管了三或四个虚拟基础架构的服务器出现故障就另当别论了。
问题是如果一个组织还没有高可用策略,即便是一个服务器组件出现故障,可能也会引起严重的业务中断,可能会影响到好多虚拟服务器,这就是为什么即使是小型虚拟数据中心,也要实现弹性的重要性了。
冗余vs分离
提高虚拟数据中心弹性主要有两种方法,第一种是使用冗余的硬件,第二种是通过分离实现弹性,在现实中二者通常都会结合使用。
虚拟数据中心的冗余与传统的高可用方法非常类似,例如,组织可能会选择使用具有冗余组件的服务器,如冗余电源和冗余网卡,或者是部署一个集群。虽然使用冗余没有任何错,但额外的硬件总是需要花钱的,服务器集群也比较复杂,且费用昂贵,部署和维护都比较麻烦。
分离就是将虚拟数据中心的所有组件分成片,然后使用管理软件来分配这些片,需要注意的是分离的度有高有低,有些虚拟数据中心只会分离硬件,把物理服务器当作一个资源池使用,但也有一些虚拟数据中心会分离应用系统。
通过分离实现的高可用如果没有冗余硬件是不能工作的,与传统的硬件冗余不一样,基于分离实现的高可用通常使用廉价的商用硬件,与传统的集群解决方案刚刚相反。
网络架构
当谈到网络架构时,在虚拟数据中心实现冗余需要好好规划,许多虚拟化相关的网站都建议尽可能在服务器上多安装网卡,然后为每个虚拟机(VM)分配一个网卡,这样就不用担心一个虚拟机会与其它虚拟机争夺服务器网络带宽。
虽然这种设计优化了网络性能,但对高可用却帮不上什么忙。因为我们的目标是实现冗余,每个宿主服务器仍然需要多块网卡,但这些网卡的使用方式却有所不同。
理想情况下,每个宿主服务器至少应配置4块网卡。
除了每个虚拟机一块网卡外,更好的方法是将每块网卡连接到独立的交换机上。
虽然服务器最好有4个网络接口,但现在的服务器一般都只自带了2个以太网端口,虽然大多数服务器都提供了扩展槽添加网卡,但应该将这些扩展槽用于其它目的,如光纤卡。
除了每个虚拟机一块网卡外(专卡专用),更好的方法是将每块网卡连接到独立的交换机上,其中两个交换机应该连到主网络上,另外两个交换机连接到宿主服务器之间的骨干网上。在这种情况下,当一个交换机、一块网卡或一条线路出故障,每个宿主服务器都仍然可以连接到骨干网和主网络。
如果你的宿主服务器运行的是VMware,那你也需要为每个服务器配置vSwitch,vSwitch就是虚拟交换机,它用于在物理网络和虚拟网络之间传递数据。图1显示了4块网卡如何在VMware ESX服务器上使用,到物理网络和到骨干网的路径应该都有冗余才行。