Cassandra 备份概览

通过 Apigee Hybrid 备份和恢复功能,您可以创建 Hybrid 数据的备份,并在发生灾难时将数据恢复到之前正常工作的快照。备份的可用性和保留期限取决于您提供的备份基础架构。

Apigee Hybrid 的典型安装包括以下组件:

  • MART(管理服务)
  • 控制器和 Watcher(管理 Kubernetes 对象)
  • Istio(管理 Ingress)
  • Runtime、Sync 和 UDCA(每种环境一个)
  • 遥测(监控和日志记录)
  • 证书管理器(管理证书)
  • 数据存储区(Cassandra 和 Redis 数据库)

除 Cassandra 之外的所有组件都是无状态的,不会保留任何数据。这些组件不需要备份和恢复。在恢复期间,使用现有替换重新安装这些组件就可以了。

为什么要备份 Cassandra?

备份是防范灾难场景的重要措施。每个备份都是创建备份时存在的 Cassandra 数据的一致快照。除了 Cassandra 数据之外,此快照还包含 Cassandra 集群中的架构和元数据。如果发生灾难,您可以使用备份将 Hybrid 实例恢复到先前的正常运行状态。根据 Hybrid 实例的大小,一个备份集可能包含一个或多个备份文件。

关于 Cassandra 备份,您需要了解哪些信息

Cassandra 是复制的数据库,配置为在每个区域或数据中心至少有 3 个数据副本。Cassandra 使用流式复制和读取修复来维护在每个区域或数据中心中给定时间点的数据副本。

在混合环境中,Cassandra 备份默认启用。 建议您启用 Cassandra 备份,以避免在发生灾难性故障时丢失数据。Cassandra 备份适用于灾难恢复,而非恢复因意外删除而丢失的数据。

根据 overrides.yaml 文件中设置的时间表创建备份。将备份时间表应用于 Hybrid 集群后,系统会根据时间表执行 Kubernetes 备份作业。该作业会在 Hybrid 集群中的每个 Cassandra 节点上触发一个备份脚本,该脚本会收集节点上的所有数据,创建数据的归档文件,并将归档文件发送到 Cloud Storage 或远程服务器上的目录。

备份哪些内容?

Hybrid 计划备份是备份时存储在 Apigee 的 Cassandra 中的持久运行时数据的完整备份。备份中不含在备份后进行的所有数据修改。计划备份包含以下实体:

  • Cassandra 架构,包括用户架构(Apigee 密钥空间定义)。
  • 集群中每个 Cassandra 节点的 Cassandra 分区令牌信息。
  • Cassandra 数据的快照。

备份数据存储在何处?

备份数据的位置取决于您的备份方法。Apigee Hybrid 支持以下备份方法:

  • Cloud Storage 中的备份:备份存储在 Google Cloud 项目中的已配置的 Cloud Storage 存储桶中。
  • 远程服务器中的备份:备份存储在您指定的远程服务器上的目录中。

如何保护数据安全?

如果您使用 Cloud Storage 进行备份,则系统默认会对备份数据进行加密。如果备份不是在 Cloud Storage 上进行,则在将备份数据传输到远程服务器的过程中会进行加密。但传输之后,您必须确保备份数据在远程服务器中进行加密。

如何进行备份?

您必须将备份安排为 cron 作业。Cron 作业从您配置的 overrides.yaml 文件中读取配置。Apigee 建议您创建 overrides.yaml 文件的备份,以便在恢复过程中重复使用该文件。

以下部分详细介绍如何在 Cloud Storage 中和远程服务器中安排备份。