计算虚拟化

VMware 灾备解决方案 Site Recovery Manager

灾备技术是指在一个数据中心发生故障或灾难的情况下,其他数据中心可以正常运行并对关键业务或全部业务实现接管,达到互为备份的效果。灾备是一项综合系统工程,需要异地寻址建设数据中心,涉及到供电、网络、存储、服务器等多种不同技术,系统建设复杂程度高、成本高昂,一般只有在大型企业和金融行业应用较多。VMware 提供了基于 vSphere 虚拟化平台的 VMware Site Recovery Manager (后面简称 SRM),以用户可接受的成本提供了基于 x86 服务器平台的灾备方案,让用户跨站点 (site) 备份虚机数据,并在主站点失效时,自动切换到备份站点继续应用运行。

SRM 可以帮助用户在多个数据中心之间同步应用和数据,当受用户的受保护站点发生灾难时,自动在备份站点恢复受保扩的应用。在设计高可靠系统时经常涉及到 RTO 和 RPO 两个指标,SRM 可以做到 RTO 目标可预知,RPO 目标最高可缩短到5分钟。

  • RTO (Recovery Time Objective) 就是企业能容忍的恢复时间。灾难发生后,从 IT 系统宕机导致业务停顿,到 IT 系统恢复至可以恢复业务运营之间的时间。
  • RPO (Recovery Point Objective) 可简单地描述为企业能容忍的最大数据丢失量。假设系统一天做一次备份,如果第二天出现错误,那从备份完成后到错误出现时所写入的数据都无法挽回了,从上一次备份到发生错误之间的时间就是 RPO。

SRM 是一个由 VMware  预先封装好的 Virtual Appliance,安装运行在多个站点上。SRM 的灾备工作原理主要是两个站点之间的数据同步,如下图所示:生产站点 (Production Site) 中的受保护虚机会被定期地同步到恢复站点 (Recovery Site) 中去,一旦生产站点发生灾难,SRM 就可以激活恢复站点中的虚机备份来恢复应用运行。注意,虚机只需要在开始的时候做完全同步,后续只需要同步虚机中变化的内容。不过站点之间的数据同步工作不是由 SRM 来完成的,SRM 借助于以下两种机制来同步数据:

  • vSphere Replication:vSphere Replication 是 vSphere 的一个功能,由它来实现受保护虚机在生产站点和备份站点之间的数据同步。
  • Array-based Replication:一些高端存储也具有站点间的数据同步功能,在 SRM 的管理下实现数据同步,这种方式的好处是可以节省服务器的计算资源。

利用 SRM 来配置灾备方案非常方便,只需要指定受保护的虚机、恢复站点、数据同步等参数,就定义好了一个灾备恢复计划 (Recovery Plan),SRM 会在灾难发生时自动执行这个灾备恢复计划。SRM 提供了一个非常详细的恢复步骤,管理员只需要修改其中的某些参数以适应自己的环境和应用需求就行了。例如,SRM 把虚机分为5个优先等级 (Power On Priority 1~5),SRM 会首先启动所有 Priority 1 的虚机,然后再启动下一优先等级的虚机;在同一优先等内部,虚机之间还可以指定依赖关系,以确保某些提供基础服务的虚机先于其他虚机而启动;用户可以通过指定虚机的优先等级和依赖关系来确保虚机启动时的先后顺序。

SRM 除了为用户提供跨站点的灾备之外,还可以用于站点之间计划性的虚机迁移,主要应用场景包括的负载均衡和硬件系统维护等等。SRM 所提供灾备方案也可以是站点之间双向的,可以实现单活、双活等多种灾备方案。