备份和恢复实例

实施稳健的备份策略对于保护数据至关重要。定期备份可在数据库异常或数据损坏事件发生时提供恢复选项。

Alauda Cache Service E1 支持两种备份方式:

  • S3 备份:将备份数据存储在兼容 S3 的对象存储系统中,提供可扩展且持久的集群外备份能力。
  • PVC 备份:使用 Kubernetes PersistentVolumeClaims 将备份数据存储在持久卷上。默认情况下,备份卷使用 ReadWriteOnce 访问模式创建,因此可以使用节点本地块存储;也可以使用 NFS 或 Ceph 等 ReadWriteMany provider,但并非必需。在 RedisBackup 或 RedisClusterBackup 上设置 spec.accessModes,以请求其他访问模式。

先决条件

若要使用自有存储桶的 S3 备份功能,请与管理员确认已为项目命名空间正确配置 S3 存储集成。或者,确保集群提供能够配置备份卷的 StorageClass;节点本地块存储已足够。

对于 PVC 备份,Storage Class 选择器(在创建备份和编辑自动备份设置时都会显示)仅提供其 provisioner 出现在平台于 global 集群上发布的允许列表中的 StorageClass:该列表包括由插件提供的 middleware-sc-cm-base ConfigMap 中、位于 cpaas-system 命名空间的 middleware_sc_map.yaml 的 Redis.backup 密钥,以及承载自定义添加项的可选 middleware-sc-cm ConfigMap。Alauda Container Platform Data Services Essentials v4.4.1 及更高版本会在该列表中提供 nfs.csi.k8s.io、rook-ceph.cephfs.csi.ceph.com 和 topolvm.cybozu.com,因此无需进一步配置即可选择节点本地 TopoLVM 卷。如果无法安装该版本的插件,请将所使用的 provisioner 添加到 middleware-sc-cm:其中的条目会添加到随附列表中,而不会替换该列表,并且在插件升级时不会被覆盖。

即时备份

即时备份会创建正在运行的 Redis 实例的时间点快照。

操作步骤

Web Console
  1. 在左侧导航图表中,点击 Redis。

  2. 点击 命名空间名称。

  3. 点击 实例名称。

  4. 导航到 备份和恢复 选项卡,然后点击 创建备份。

  5. 配置备份参数,然后点击 创建。备份过程的持续时间取决于数据量和网络状况。在备份列表中监控过程状态。

自动备份

自动备份允许根据数据保护要求,为 Redis 实例计划定期、重复执行的备份。

操作步骤

Web Console
  1. 在左侧导航图表中,点击 Redis。

  2. 点击 命名空间名称。

  3. 点击 实例名称。

  4. 在 备份和恢复 选项卡中,找到 自动备份设置 部分,然后点击编辑按钮 。

  5. 启用 自动备份,并配置备份计划和保留参数。

  6. 点击 更新 以应用自动备份配置。

恢复

恢复操作会创建一个新的 Redis 实例,并使用先前备份中的数据填充该实例。

PVC 备份通过网络传输:平台将备份卷以只读方式挂载到集群内的临时源中,每个 Redis Pod 从该源提取自己的数据,实例就绪后移除该源。每个 PVC 备份都会采用此路径,无论其创建时使用何种访问模式,这也是不再需要 ReadWriteMany 卷的原因。S3 备份则像以前一样直接从对象存储中提取。

固定在早于 5.1.0 的 bundle 版本上的实例

恢复路径由实例的 bundle 版本而非备份的访问模式决定。其 BUNDLE VERSION — status.upgradeStatus.crVersion(由 kubectl get redis 显示)早于 5.1.0 的实例,仍可通过将备份卷挂载到每个 Redis Pod 中进行恢复,但这要求备份位于 ReadWriteMany 卷上:如果要将备份恢复到此类实例,请使用 spec.accessModes: [ReadWriteMany] 创建备份。只有在通过将 spec.upgradeOption.autoUpgrade 设置为 false 并结合固定的 spec.upgradeOption.crVersion 将实例保持在较早的 bundle 版本上时,实例才会继续使用较早的 bundle 版本。

操作步骤

Web Console
  1. 在左侧导航图表中,点击 Redis。

  2. 点击 命名空间名称。

  3. 导航到源实例的 备份和恢复 选项卡,找到所需的备份,然后点击 > 恢复。

  4. 配置目标实例参数,然后点击 恢复。监控恢复进度,直到目标实例达到 Running 状态,这表示恢复成功。