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

在 Azure Database for PostgreSQL 灵活服务器中配置高可用性

适用于: Azure Database for PostgreSQL 灵活服务器

本文介绍如何在 Azure Database for PostgreSQL 灵活服务器中启用或禁用相同区域或区域冗余部署模型中的高可用性配置。

高可用性功能部署物理上独立的主副本和备用副本。 根据你选择的部署模式,这两种副本可在相同可用性区域中预配,也可分别在不同的区域中预配。 有关详细信息,请参阅高可用性概念。 可在创建 Azure Database for PostgreSQL 灵活服务器时启用高可用性,也可在创建该服务器后执行此操作。

重要

Azure Database for PostgreSQL 灵活服务器 (v5 HA) 计费模型:4 月,我们为启用了高可用性的服务器的 v5 SKU 实现了计费模型更新。 此更改旨在通过考虑主服务器和备用服务器来正确反映费用。 在进行此更改之前,我们只向客户收主服务器的费用,这是错误的。 使用启用了高可用性的服务器的 v5 SKU 的客户现在会看到计费数量乘以 2。 此更新不影响 v4 和 v3 SKU。

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

使用 Azure 门户

  1. 选择你的 Azure Database for PostgreSQL 灵活服务器。

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

    显示“高可用性”页的屏幕截图。

  3. 如果未启用高可用性,则“启用高可用性”复选框显示为未选中,且“高可用性状态”显示为“未启用”。

    显示未启用高可用性时“高可用性”页外观的屏幕截图。

  4. 选中“启用高可用性”复选框以启用该选项。 它显示“相同区域”和“区域冗余”选项。 如果你选择“相同区域”,则在与主服务器相同的可用性区域中创建备用服务器

    显示以相同区域启用高可用性时“高可用性”页外观的屏幕截图。

注意

如果创建服务器的区域不支持区域冗余的高可用性,则“区域冗余”选项灰显且禁用

  1. 如果该区域支持区域冗余,且你选择“区域冗余”,则可选择要部署备用服务器的其他可用区域之一

    显示启用该功能时“高可用性”页的屏幕截图,其中备用服务器部署在与主服务器不同的区域中。

  2. 根据需求配置了所有内容时,请选择“保存”以应用更改。 一个对话框会通知你与部署备用服务器相关的成本增加。 如果决定继续,请选择“启用 HA”

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

  3. 一个部署启动,在它完成时,一个通知显示已成功启用高可用性。

    显示通知已成功启用高可用性的通知的屏幕截图。

禁用高可用性

使用 Azure 门户

  1. 选择你的 Azure Database for PostgreSQL 灵活服务器。

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

    显示启用了相同区域高可用性的“高可用性”页的屏幕截图。

  3. 如果启用了高可用性,“启用高可用性”复选框显示为已选中,“高可用性模式”设置为配置的模式,且“高可用性状态”通常显示为“正常”

    显示启用相同区域高可用性时“高可用性”页外观的屏幕截图。

  4. 清除“启用高可用性”复选框以禁用该选项

    显示禁用高可用性时“高可用性”页外观的屏幕截图。

  5. 选择保存应用所做的更改。 一个对话框会通知你与删除备用服务器相关的成本降低。 如果决定继续,请选择“禁用 HA”

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

  6. 一个部署启动,在它完成时,一个通知显示已成功禁用高可用性。

    显示通知已成功禁用高可用性的通知的屏幕截图。

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

使用 Azure 门户

  1. 在预配 Azure Database for PostgreSQL 灵活服务器的新实例期间,在“高可用性”部分中,选择“相同区域”或“区域冗余”。

    显示如何在预配新实例期间配置高可用性选项的屏幕截图。

注意

如果创建服务器的区域不支持区域冗余的高可用性,则“区域冗余”选项灰显且禁用

  1. 如果通过将“可用性区域”设置为除“无首选项”以外的任何值来为主服务器选择特定区域,则在选择“区域冗余”时,你还可在“备用可用性区域”中为备用服务器选择显式选定值。 如果希望将应用程序并置在与数据库相同的区域中以缩短延迟,将区域设置为特定区域会很有用。 如果希望备用服务器部署在为你自动选择的可用性区域上,请选择“无首选项”

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

强制故障转移

按照以下步骤操作,在 Azure Database for PostgreSQL 灵活服务器中强制将主服务器故障转移到备用服务器。 启动强制故障转移会使主服务器立即停机,并触发向备用服务器的故障转移。 对于想要测试因计划外中断而导致的故障转移如何影响工作负载的情况,启动强制故障转移非常有用。

重要

  • 不要一个紧接一个地执行故障转移。 故障转移之间至少等待 15-20 分钟。 这样的等待可使新的备用服务器完全建立。

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

使用 Azure 门户

  1. 选择已启用高可用性的 Azure Database for PostgreSQL 灵活服务器。

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

    显示“高可用性”页的屏幕截图。

  3. 如果高可用性模式设置为“区域冗余”模式,则可能需要记下分配给“主可用性区域”和“备用可用性区域”的值,因为它们应在故障转移操作完成后互换

    显示在其中部署主服务器和备用服务器的区域的屏幕截图。

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

    显示启动强制故障转移之前显示的信息性消息的屏幕截图。

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

    显示启动强制故障转移时显示的信息性消息的屏幕截图。

  6. 向备用服务器的故障转移完成后,一个通知会通知你操作完成情况。

    显示强制故障转移完成时显示的信息性消息的屏幕截图。

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

    显示在其中部署主服务器和备用服务器的区域的屏幕截图。

计划的故障转移

按照以下步骤,在 Azure Database for PostgreSQL 灵活服务器中执行从主服务器到备用服务器的计划的故障转移。 启动此操作首先会准备备用服务器,然后执行故障转移。 此故障转移操作提供最少的故障时间,因为它执行向备用服务器的正常故障转移。 这对于发生意外故障转移后,你希望将主服务器恢复到首选可用性区域的情况非常有用。

重要

  • 不要一个紧接一个地执行故障转移。 故障转移之间至少等待 15-20 分钟。 这样的等待可使新的备用服务器完全建立。

  • 建议在活动较少的期间执行计划的故障转移。

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

使用 Azure 门户

  1. 选择已启用高可用性的 Azure Database for PostgreSQL 灵活服务器。

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

    显示“高可用性”页的屏幕截图。

  3. 如果高可用性模式设置为“区域冗余”模式,则可能需要记下分配给“主可用性区域”和“备用可用性区域”的值,因为它们应在故障转移操作完成后互换

    显示在其中部署主服务器和备用服务器的区域的屏幕截图。

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

    显示启动计划的故障转移之前显示的信息性消息的屏幕截图。

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

    显示启动计划的故障转移时显示的信息性消息的屏幕截图。

  6. 向备用服务器的故障转移完成后,一个通知会通知你操作完成情况。

    显示计划的故障转移完成时显示的信息性消息的屏幕截图。

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

    显示在其中部署主服务器和备用服务器的区域的屏幕截图。

特殊注意事项

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

  • 在所有支持 Azure Database for PostgreSQL 灵活服务器的区域,支持并提供将两个副本部署在相同区域的高可用性。 但是,区域冗余的高可用性仅在特定区域提供

  • 高可用性在“可突发”层中不受支持。 它仅在“常规用途”或“内存优化”层中受支持

  • 如果你在包含单个可用性区域的区域中部署服务器,则只能在“相同区域”模式下启用高可用性。 如果该区域在未来通过多个可用性区域得到增强,则可部署高可用性配置为“相同区域”或“区域冗余”的新 Azure Database for PostgreSQL 灵活服务器。 但是,对于在该区域中部署的任何实例,当该区域由单个可用性区域组成时,则无法在“区域冗余”模式下直接为它们启用高可用性。 作为一种解决方法,可将这些实例还原到新实例上,然后在还原的服务器上启用区域冗余高可用性。

    1. 按照 Azure Database for PostgreSQL 灵活服务器的时间点还原中提供的说明,使用最新的还原点在新实例上还原现有实例。
    2. 创建新服务器后,启用区域冗余的高可用性
    3. 验证数据后,可以选择删除旧服务器。
    4. 确保修改客户端的连接字符串以指向新还原的实例。

与 Azure Database for PostgreSQL 产品团队分享你的建议和 bug