15.2. 避免数据中心故障
配置数据中心基础架构
扩展集群中的每个数据中心都可以有不同的存储集群配置,以反映本地的功能和依赖项。设置数据中心之间的复制,以帮助保留数据。如果一个数据中心失败,则存储集群中的其他数据中心包含数据的副本。
在 CRUSH map 层次结构中设置故障域
故障或故障转移,域是存储集群中域的冗余副本。如果活动域失败,则故障域将变为活动域。
默认情况下,CRUSH map 在扁平层次结构中列出存储群集中所有节点。但是,为获得最佳结果,在 CRUSH map 中创建一个逻辑层次结构。层次结构指定每个节点的域以及存储集群中这些域之间的关系,包括故障域。在层次结构中定义每个域的故障域可提高存储集群的可靠性。
当计划包含多个数据中心的存储集群时,将节点放置在 CRUSH map 层次结构中,以便在一个数据中心停机时,存储集群将保持启动并运行。
在域中设计故障节点
如果您计划在存储集群中使用三路复制数据,请考虑故障域中节点的位置。如果在数据中心内发生中断,某些数据可能只位于一个副本中。当发生这种情况时,有两个选项:
- 将数据保留为只读状态,并将数据保留为标准设置。
- 在停机期间只有一个副本。
使用标准设置,由于数据在节点间的数据放置的随机性,不是所有数据都会受到影响,一些数据只能有一个副本,而存储集群将恢复到只读模式。但是,如果一些数据只存在于一个副本中,则存储集群会恢复到只读模式。