3.4 灾难恢复与业务连续性
在上一节中,我们了解了如何使用高可用性和容错来保障应用程序的正常运行。有时,数据中心会因为其所在区域发生大规模供电中断、地震或洪水而中断运行,但是全球业务应该能够继续运行。在这种情况下,必须制订一个灾难恢复计划,通过在不同的地区准备足够的IT资源来规划业务连续性。
在规划灾难恢复时,解决方案架构师必须了解组织的恢复时间目标(Recovery Time Objective,RTO)和恢复点目标(Recovery Point Objective,RPO)。RTO意味着企业可以在多长的停机时间内维持业务而不会产生任何重大影响。RPO则表示企业可以承受多少数据丢失。RTO和RPO越低,成本越高,因此了解业务是否关键及其需要的最小RTO和RPO至关重要。
图3-6展示了一个多站点容灾架构,其中主数据中心位于欧洲的爱尔兰,灾备站点位于美国弗吉尼亚州,托管在AWS公有云上。在这种情况下,即便整个欧洲地区或AWS公有云出现故障,业务也能够继续运营。该灾难恢复计划是基于多站点的,可以实现最小的RTO和RPO,意味着中断的可能性被最小化甚至不会出现中断,也没有数据丢失。
图3-6 混合多站点容灾架构
以下是最常见的几种灾难恢复计划(详见第12章):
□备份和存储:该计划的成本最低,并且具有最大的RTO和RPO。在该计划中,所有服务器镜像和数据库快照都应该存储在灾备站点中。一旦发生灾难,团队将尝试从备份中启动受灾站点。
□Pilot Lite:在该计划中,所有的服务器镜像都作为备份存储,并且在灾备站点中维护了一个小型数据库服务器,并从主站点持续地同步数据。其他关键服务,例如活动目录(Active Directory,AD),可能运行在小型实例中。一旦发生灾难,团队将尝试从备份的镜像启动服务器并扩展数据库。Pilot Lite比备份和存储方案的成本要高一些,但是RTO和RPO更小。
□热备份:在该计划中,灾备站点中运行着所有的应用服务器和数据库服务器(以较低的容量运行),并持续与主站点同步。一旦发生灾难,团队将尝试扩展所有服务器和数据库。热备份比Pilot Lite方案成本更高,但RTO和RPO更小。
□多站点:该计划成本最高,但是RTO和RPO几乎为零。在该计划中,灾备站点维护了与主站点相同容量的副本,并主动为用户流量提供服务。当灾难发生时,所有流量都将被路由到备用站点。
通常,组织会选择成本较低的灾难恢复计划,但是定期进行测试并确保故障转移能够正常运行至关重要。团队应在日常运营中设置例行检查点,以确保灾难恢复时业务的连续性。