灾难恢复(Disaster Recovery)是设计数据中心时必须考虑的方案,传统的灾备方案一般依赖于特定的网络硬件架构,每一家网络公司都有自己的灾备方案和设备,这就大大限制了用户选择灾备方案时的范围。
在设计灾备方案时,一个必须要考虑的问题是当应用故障迁移(failover)到新的数据中心时,如何保持网络的连通性以让它继续对外提供服务。一般情况下,我们不可能在备用数据中心配置一整套完全一致的网络环境,包括负载均衡、路由、IP 地址等,这样做的代价太高了,所以方案之一是让应用切换过去后使用新的网络环境,包括新的 IP 地址,而让接入网关来决定把新的服务请求发往哪个数据中心。
但是,如果应用不能修改 IP 地址的话,就要考虑另一种方案,把两个数据中心连成一张层 2 网络,从而可以让切换过去的应用继续使用原来的 IP 地址,所有其他的网络配置都不需要改变。看上去这是一种最方便的方案,但是实施的代价也是很高的,需要用昂贵的光纤链路把两个数据中心连接成一个层 2 网络。
另外灾备方案往往要求在备份站点重建主站点的网络配置,包括:负载均衡配置、防火墙规则、路由表等,很多操作是手工的,实施起来效率较低,也会影响到应用恢复的速度。
传统的数据中心灾备方案
基于 SRM(Site Recovery Manager)和 NSX 的灾备方案就可以避免上面提到的这些问题。
- NSX 提供了虚拟化的网络,为受保护的应用提供了独立的 IP 地址空间,应用的 IP 地址空间可以跟随着应用走,应用迁移到备份站点上,NSX 会自动为应用虚机重建它所运行的 IP 地址空间。
- 除了 IP 地址,NSX 也为应用提供了全局的网络配置,包括:防火墙规则、路由表等等,这些网络配置也会跟随着应用一起迁移到新的运行环境。
SRM 会定时地把受保护应用的数据复制到备份站点,当主站点的运行环境发生故障时,NSX 会在备份站点自动复制出一整套完全相同的虚拟网络环境,SRM 在备份站点上重新启动应用,应用所有的 IP 地址和网络环境跟主站点时完全一样,NSX 会自动地把服务请求转发到新的运行环境中来。
基于 SRM 和 NSX 的灾备方案示例
基于 NSX 的灾备方案大大简化了灾难恢复方案中的网络设计,也大大降低了灾备方案的成本。