你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure Cosmos DB for PostgreSQL 中的备份和还原

适用对象:PostgreSQL 的 Azure Cosmos DB (由 PostgreSQL 的 Citus 数据库扩展提供支持)

Azure Cosmos DB for PostgreSQL 可在群集中自动创建每个节点的备份。 备份可用于将群集还原到指定的时间点,即时间点还原 (PITR)。 备份和还原是任何业务连续性策略的基本组成部分,因为它们可以保护数据免遭意外损坏或删除。

备份

从预配群集的那一刻起以及整个群集的生命周期,自动化流程都会对每个 Azure Cosmos DB for PostgreSQL 节点执行备份。 Azure Cosmos DB for PostgreSQL 会定期拍摄磁盘快照,并将其与流式传输到 Azure Blob 存储的节点的 WAL 文件整合在一起。

可以通过这些备份将服务器还原到保留期中的任意时间点。 (对于所有群集,目前保持期为 35 天。)所有备份都使用 AES 256 位加密进行加密。

无法导出备份文件。 这些文件只能用于 Azure Cosmos DB for PostgreSQL 中的还原操作。

备份冗余

Azure Cosmos DB for PostgreSQL 支持以下备份冗余选项。

  • 同一区域备份

    • 区域冗余备份存储:对于支持可用性区域的区域,会自动选择此选项。 将备份存储在区域冗余备份存储中时,除了将多个数据副本存储在托管每个群集节点的可用性区域外,还会将该数据复制到其他可用性区域。

    • 本地冗余备份存储:对于不支持可用性区域的区域,会自动选择此选项。 将备份存储在本地冗余备份存储中时,会将多个备份副本都存储在同一区域内。

  • 跨区域备份

    • 异地冗余备份存储:可以在创建群集时选择此选项。 将备份存储在另一个区域中时,除了将数据的三个副本存储在托管群集的区域中,还会将数据复制到其他区域。

存储群集异地冗余备份的 Azure 区域取决于 Azure Cosmos DB for PostgreSQL 群集所在的 Azure 区域。

备份存储成本

若要了解当前的备份存储定价,请参阅 Azure Cosmos DB for PostgreSQL 定价页

还原

可以将群集还原到最近 35 天内的任何时间点。 多种情况下可以使用时间点还原。 例如,当用户意外删除数据、重要的表或数据库时,或者应用程序意外使用错误数据覆盖了正确的数据。

注意

虽然群集备份总是存储 35 天,但可能需要打开支持请求,将群集还原到比最新故障转移时间更早的时间点。 除了高可用性 (HA) 之外,维护和计算/存储缩放操作使用故障转移来最大程度地减少这些操作期间的停机时间。

对于相同区域的还原,当所有节点都启动并运行时,可以还原群集,而不会丢失任何数据。 在节点遇到灾难性事件(且群集未启用高可用性)的极少数情况下,你可能会丢失长达 5 分钟的数据。

在启用了异地备份的群集上,可以在远程区域或群集所在的同一区域中执行还原。

重要

删除的群集无法还原。 如果删除群集,则将删除属于该群集的所有节点且它们不可恢复。 为了防止群集资源在部署后遭遇意外删除或异常更改,管理员可以利用管理锁

还原过程会在与原始群集相同的或远程的 Azure 区域、订阅和资源组中创建新群集。 该群集具有原始群集的配置:相同的节点数、vCore 数、存储大小、用户角色、PostgreSQL 版本和 Citus 扩展的版本。

不会从原始群集中保留网络设置,而是会将其重置为默认值。 还原后需要手动调整这些设置,以允许访问还原的群集。 通常请参阅建议的还原后任务的列表。

在大多数情况下,群集还原最多需要 1 小时。

后续步骤