三地五中心部署
三地五中心能够实现“多活”,多中心之间地位均等,正常模式下协同工作,并行的为业务访问提供服务,实现了对资源的充分利用,避免一个或两个备份中心处于闲置状态,造成资源与投资浪费。另外,如果一个数据中心发生故障或灾难,其它数据中心可以正常运行并对关键业务或全部业务实现接管。
三地五中心灾备架构
本文档将介绍采用五副本机制部署 SequoiaDB 三地五中心灾备集群,每个中心部署一个副本。
:
因为城市间网络的带宽有限,需要严格控制 SequoiaDB 集群对网络带宽的占用,阻止数据节点在异常终止后进行自动全量同步。设置 sdbcm 节点参数“AutoStart=FALSE”和“EnableWatch=FALSE”,设置每个数据节点参数“dataerrorop=2”。在数据同步方面,应采用 SequoiaDB 提供的节点强一致性功能,当数据写入主节点时,数据库会确保节点间的数据都同步完成后才返回,这样即使在主中心发生整体灾难时也能保证数据的完整性与安全性。
灾难应对方案
单节点故障
由于采用了五副本高可用架构,个别节点故障情况下,集群依然可以正常工作。针对个别节点的故障场景,无需采取特别的应对措施,只需要及时修复故障节点,并通过自动数据同步或者人工数据同步的方式去恢复故障节点数据即可。
单个数据中心整体故障
当五个中心的一个发生故障时,每个数据组存活节点的数量还大于每个数据组的总节点数的1/2,所以每个数据组仍然能够为应用层提供读写服务。针对单个数据中心整体故障的场景,无需采取特别的应对措施,只需要及时修复故障节点,并通过自动数据同步或者人工数据同步的方式去恢复故障节点数据即可。
城市级整体故障
当一个城市的所有数据中心发生故障时,每个数据组存活节点的数量还大于每个数据组的总节点数的1/2,所以每个数据组仍然能够为应用层提供读写服务。针对单个城市整体故障的场景,无需采取特别的应对措施,只需要及时修复故障节点,并通过自动数据同步或者人工数据同步的方式去恢复故障节点数据即可。
当两个城市的数据中心全部故障时,每个数据组存活节点数小于总数的 1/2,无法选出主节点。这种情况下就需要用到分裂(split)和合并(merge)工具来进行处理,把存活的节点分裂成独立的集群提供读写服务。分裂集群的耗时相对比较短,一般在十分钟内便能完成。
灾难恢复
用户可以参考容灾工具的使用来解决故障。