Compartir a través de

为 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. 确保修改客户端的连接字符串以指向新还原的服务器。