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

为 Azure Database for PostgreSQL 配置高可用性

本文介绍如何使用 Azure 门户或 Azure CLI 在 Azure Database for PostgreSQL 灵活服务器实例上启用或禁用高可用性(HA)。 此信息适用于您是在同一区域中使用实例还是使用区域冗余的部署模型。

高可用性功能部署物理上独立的主副本和备用副本。 可以根据所选部署模型,在同一可用性区域中或不同区域中预配副本。 有关详细信息,请参阅有关高可用性概念的文章。 可以在创建 Azure Database for PostgreSQL 灵活服务器实例期间或之后启用高可用性。

重要说明

2024 年 4 月,我们更新了启用了 HA 的服务器的 v5 计算层的计费模型。 此更改通过考虑主服务器和备用服务器来正确反映费用。 在进行此更改之前,你错误地只是对主服务器进行了收费。 如果将 v5 层用于已启用 HA 的服务器,现在会看到计费数量乘以 2。 此更新不会影响 v4 和 v3 层。

为现有服务器启用高可用性

  1. Azure 门户中,选择 Azure Database for PostgreSQL 灵活服务器实例。

  2. 在左侧菜单中的“设置”部分,选择“高可用性”。

区域复原选项控制服务器是否在可用性区域中受到保护。 有两种选择:

  • 已启用 – 选择此选项时,Azure 会尝试在与主服务器不同的可用性区域中创建备用服务器。 此选项提供针对区域级别故障的最佳保护。
  • 已禁用 – 未配置高可用性。

如果启用区域复原,但区域没有足够的容量进行区域冗余设置,则会看到“已启用”选项下的复选框。 选中此复选框可以创建与主服务器相同的区域中的备用服务器。 此选项可确保即使区域容量有限,仍能获得节点级保护。 稍后,当区域容量可用时,Azure 会在维护时段内自动将备用服务器迁移到其他区域,以最大程度地减少停机时间。

  1. 如果未启用区域可用性,请选择 “已启用” 单选按钮。

    屏幕截图显示用于配置高可用性的窗格。

  2. 选择“已启用”单选按钮时,默认情况下,可以为支持可用性区域的区域应用区域冗余选项,因为建议的配置可以防范区域性故障。

    屏幕截图显示选中的用于启用高可用性的复选框。

  3. 如果区域没有分区容量,若要确保在首选区域中启用高可用性(HA),您必须在启用选项下勾选复选框,以便在同一分区模式下创建 HA。 当区域容量可用后,它会自动将工作负荷迁移到 Zone-Redundant HA:

    屏幕截图显示选择“同一区域”选项来实现高可用性。

  4. 根据需求配置了所有内容时,请选择“保存”以应用更改

  5. 对话框显示与部署备用服务器关联的成本增加。 如果决定继续,请选择“启用高可用性”

    屏幕截图显示用于确认启用高可用性的对话框。

  6. 部署开始。 完成后,会出现一条通知,表明你已成功启用高可用性。

    屏幕截图显示一条通知,表明已部署完高可用性配置。

禁用高可用性

  1. Azure 门户中,选择 Azure Database for PostgreSQL 灵活服务器实例。

  2. 在左侧菜单中的“设置”部分,选择“高可用性”。

  3. 如果启用了高可用性,则已经选择“区域复原”的“已启用”单选按钮。 此外,“高可用性模式”设置为已配置的模式,“高可用性状态”值通常为“正常”。

    屏幕截图显示用于配置高可用性的窗格,其中已选择高可用性选项,状态为“正常”。

  4. 选择 “已禁用 ”单选按钮以禁用 HA。

    屏幕截图显示用于启用高可用性的复选框处于清空状态。

  5. 选择“保存”应用所做的更改。

  6. 对话框显示与移除备用服务器关联的成本降低。 如果决定继续,请选择“禁用高可用性”

    屏幕截图显示用于确认禁用高可用性的对话框。

  7. 部署开始。 完成后,会出现一条通知,表明你已成功禁用高可用性。

    屏幕截图显示一条通知,表明已成功禁用高可用性。

在服务器预配期间启用高可用性

  1. Azure 门户中,在预配新的 Azure Database for PostgreSQL 灵活服务器实例期间,转到 “业务关键”(高可用性) 部分。 在“区域冗余”部分选择“已启用”单选按钮。

    • 默认情况下,服务器尝试在不同的可用性区域中创建备用服务器,并采用 区域冗余 HA 模式,以实现最大区域复原能力。

    • 如果区域容量不可用,则可以选择 同一区域中的“允许备用”(如果区域复原失败 )复选框作为回退。 此选项可确保 HA 仍处于启用状态,当容量可用时,Azure 会自动迁移到区域冗余 HA。

      显示预配新的灵活服务器实例期间的高可用性选项的屏幕截图。

  2. 通过将“可用性区域”设置为除“无首选项”以外的任何值,为主服务器选择具体区域。

    显示主服务器的特定可用性区域的选择的屏幕截图。

启动强制故障转移

按照以下步骤操作,在 Azure Database for PostgreSQL 中强制将主服务器故障转移到备用服务器。

启动强制故障转移时,主服务器会立即关闭并触发到备用服务器的故障转移。 要测试因计划外中断而导致的故障转移如何影响工作负荷时,可启动强制故障转移。

重要说明

  • 请勿持续执行即时故障转移。 在执行下一次故障转移前至少等待 15 到 20 分钟的时间。 此等待时间有助于完全建立新的备用服务器。

  • 门户上报告的整个端到端操作时间可能比应用程序遇到的实际故障时间长。 应从应用程序的角度衡量故障时间。

  1. Azure 门户中,选择已启用高可用性的 Azure Database for PostgreSQL 灵活服务器实例。

  2. 在左侧菜单中的“设置”部分,选择“高可用性”。

  3. 如果高可用性模式设置为“区域冗余”,请注意分配给“主要可用性区域”和“备用可用性区域”的值。 故障转移操作完成后,应将其互换。

  4. 选择 强制故障转移 以启动手动故障转移过程。 对话框会通知你故障转移完成之前的预期故障时间。 如果决定继续,请选择“启动强制故障转移”。

    屏幕截图显示启动强制故障转移前显示的对话框。

  5. 此时会显示一条通知,提到正在进行故障转移。

    屏幕截图显示一条通知,指出强制故障转移启动后正在进行故障转移。

  6. 故障转移到备用服务器的操作完成后,会出现一条通知,告知你操作已完成。

    屏幕截图显示强制故障转移完成后显示的通知。

  7. 如果高可用性模式配置为“区域冗余”,请确认“主要可用性区域”和“备用可用性区域”的值现已互换。

启动计划的故障转移

按照以下步骤,在 Azure Database for PostgreSQL 中执行从主服务器到备用服务器的计划的故障转移。 启动此操作会准备备用服务器,然后执行故障转移。

此故障转移操作可最大程度地减少故障时间,因为它执行向备用服务器的正常故障转移。 这对于在意外故障转移后将主服务器恢复到首选可用性区域之类的情况非常有用。

重要说明

  • 请勿持续执行即时故障转移。 在执行下一次故障转移前至少等待 15 到 20 分钟的时间。 此等待时间有助于完全建立新的备用服务器。

  • 在低负载期间执行计划内的故障转移。

  • 门户上报告的整个端到端操作时间可能比应用程序遇到的实际故障时间长。 应从应用程序的角度衡量故障时间。

  1. Azure 门户中,选择已启用高可用性的 Azure Database for PostgreSQL 灵活服务器实例。

  2. 在左侧菜单中的“设置”部分,选择“高可用性”。

  3. 如果高可用性模式设置为“区域冗余”,请注意分配给“主要可用性区域”和“备用可用性区域”的值。 故障转移操作完成后,应将其互换。

  4. 选择 “计划内故障转移 ”以启动手动故障转移过程。 对话框会通知你故障转移完成之前的预期故障时间。 如果决定继续,请选择“启动计划内故障转移”。

    屏幕截图显示启动计划的故障转移前显示的对话框。

  5. 此时会显示一条通知,提到正在进行故障转移。

    屏幕截图显示一条通知,指出计划的故障转移启动后正在进行故障转移。

  6. 故障转移到备用服务器的操作完成后,会出现一条通知,告知你操作已完成。

    屏幕截图显示计划的故障转移完成后显示的通知。

  7. 如果高可用性模式配置为“区域冗余”,请确认“主要可用性区域”和“备用可用性区域”的值现已互换。

特殊注意事项

  • 在 Azure Database for PostgreSQL 灵活服务器实例上启用或禁用高可用性不会更改其他设置,包括网络配置、防火墙设置、服务器参数或备份保留。 启用或禁用高可用性是联机操作。 它不会影响应用程序连接性和操作。

  • Azure Database for PostgreSQL 弹性服务器实例支持高可用性,并在同一可用区内部署两个副本。 此配置在所有受支持的区域中都可用。 但是,通过区域冗余实现高可用性仅在特定地区可用

  • 突发型层不支持高可用性。 只有 常规用途内存优化 层支持高可用性。

  • 如果你在包含单个可用性区域的地区中部署服务器,则只能在“同一区域”模式下启用高可用性。 如果将来通过多个可用性区域增强了该地区,则可以部署高可用性配置为“同一区域”或“区域冗余”的新 Azure Database for PostgreSQL 灵活服务器实例。

    但是,对于在区域只有一个可用区时部署的任何实例,您不能直接启用区域冗余模式下的高可用性。 解决方法是,可以在新服务器上还原这些实例,然后在还原的服务器上启用区域冗余高可用性:

    1. 使用最新还原点在新服务器上还原现有实例
    2. 创建新服务器后,在“区域冗余”模式下启用高可用性
    3. 验证数据后,可以选择删除旧服务器。
    4. 确保修改客户端的连接字符串以指向新还原的服务器。