如何恢复 CRDB 拓扑集群?

上次更新时间 2024 年 4 月 18 日

问题

  • 什么是作为 CRDB 网格一部分的群集重建的最佳实践?例如从其他群集(s)同步、从 RDB/AOF 恢复等等。
  • 如果一个群集失去法定人数,它应该重新加入到 CRDB 网格还是独立地从 RDB 恢复?
  • 如果一个群集同时拥有 CRDB 和非 CRDB 数据库,有什么额外的考虑因素吗?

回答

如果你在 CRDB 中有一个正常/健康的实例,并且只需要对错误的群集进行群集恢复,则你应该使用 rladmin recover db <db_name> only_configuration 恢复数据库,并让数据从好的实例同步。

如果 CRDB 中的所有实例都需要恢复,则应该恢复一个包含数据的实例,并且仅恢复其他实例的配置。我们 Recover a DB 文档中提到了这一点。

对于仍然具有活动实例的活动-活动数据库,我们建议你为失败的实例恢复配置,并让数据从其他实例更新。

如果群集中有 CRDB 和独立数据库,则预期不会有副作用。