本文介绍如何在Azure Database for PostgreSQL灵活服务器上启用或禁用高可用性(HA)。 此信息适用于是在同一区域中使用服务器还是使用区域冗余部署模型。
高可用性功能部署物理上独立的主副本和备用副本。 可以根据所选部署模型,在同一可用性区域中或不同区域中预配副本。 有关详细信息,请参阅有关高可用性概念的文章。 可以在创建 Azure Database for PostgreSQL 灵活服务器期间或之后启用高可用性。
为现有服务器启用高可用性
可以随时在现有Azure Database for PostgreSQL灵活服务器上启用高可用性。 启用高可用性时,该服务将创建一个镜像主服务器的备用副本。 根据区域容量和配置选项,备用服务器可以部署在不同的可用性区域中,以实现最大保护或与主要区域相同的区域。
使用 Azure 门户:
选择您的“Azure Database for PostgreSQL”灵活服务器。
在资源菜单中的 “设置” 部分下,选择 “高可用性”。
区域复原选项控制服务器是否在可用性区域中受到保护。 有两种选择:
- 已禁用(99.9% SLA):未配置高可用性。
- 已启用 (99.99% SLA):选择此选项时,Azure尝试在与主服务器不同的可用性区域中创建备用服务器。 此选项提供针对区域级别故障的最佳保护。
如果启用区域复原,但区域缺少区域冗余设置的容量,则会在 “已启用”(99.99% SLA) 选项下显示一个额外的复选框。 选中此复选框可允许在主服务器所在的同一区域中创建备用服务器。 当区域容量可用时,Azure会自动将工作负荷从同一区域迁移到区域冗余。
如果未启用区域复原,请选择 “已启用 ”选项。
选择 Enabled 选项时,默认为支持 可用区 的区域应用 区域冗余选项。 此配置可防止区域性故障。
如果某个地区没有可用的分区容量,为确保在您首选的地区启用高可用性(HA),请在启用选项下选中该复选框,以允许在该地区使用同一区模式创建 HA。
完成设置配置后,选择“ 保存 ”以应用更改。
对话框显示与部署备用服务器关联的成本增加。 如果决定继续,请选择“启用高可用性”。
将启动新的部署,以便在Azure Database for PostgreSQL灵活服务器上实现高可用性。
部署完成后,可以选择转到资源,返回 Azure Database for PostgreSQL 灵活服务器。
禁用高可用性
不再需要保护备用副本时,可以在Azure Database for PostgreSQL灵活服务器上禁用高可用性。 禁用高可用性会删除备用服务器并降低成本,但服务器不再受到区域或服务器故障的保护。
使用 Azure 门户:
在服务器预配期间启用业务关键(高可用性)
首次创建Azure Database for PostgreSQL灵活服务器时,可以配置高可用性。 通过在预配期间启用高可用性,可将备用副本与主服务器一起部署,以便立即保护区域或服务器故障。
使用 Azure 门户:
在预配新的Azure Database for PostgreSQL灵活服务器期间,请转到“业务关键”(高可用性)部分。 在“区域复原”部分选择“已启用”选项。
- 默认情况下,服务器尝试在不同的可用性区域中创建备用服务器,并采用 区域冗余 HA 模式,以实现最大区域复原能力。
通过将“可用性区域”设置为除“无首选项”以外的任何值,为主服务器选择具体区域。
启动强制故障转移
按照以下步骤在 Azure Database for PostgreSQL 中强制将主服务器故障转移到备用服务器。
启动强制故障转移时,主服务器会立即关闭并触发到备用服务器的故障转移。 若要测试由计划外中断导致的故障转移如何影响工作负荷,则启动强制故障转移非常有用。
重要
请勿持续执行即时故障转移。 在执行下一次故障转移前至少等待 15 到 20 分钟的时间。 此等待时间有助于完全建立新的备用服务器。
门户上报告的整个端到端操作时间可能比应用程序遇到的实际故障时间长。 应从应用程序的角度衡量故障时间。
使用 Azure 门户:
选择已启用高可用性的 Azure Database for PostgreSQL 灵活服务器。
在资源菜单中的 “设置” 部分下,选择 “高可用性”。
如果主服务器和备用服务器部署在不同的区域中,请注意分配给 主可用性区域 和 备用可用性区域的值。 故障转移操作完成后,这些值会对调。
选择 强制故障转移 以启动手动故障转移过程。 对话框会通知你故障转移完成之前的预期故障时间。 如果决定继续,请选择“启动强制故障转移”。
此时会显示一条通知,提到正在进行故障转移。
故障转移到备用服务器完成后,你会收到提示通知完成情况。
如果主服务器和备用服务器部署在不同的区域中,请确认 主可用性区域 和 备用可用性区域 的值是相反的,与故障转移启动前的值相比。
启动计划的故障转移
请按照以下步骤在 Azure Database for PostgreSQL 中执行计划故障转移,从主服务器切换到备用服务器。 启动此操作后,系统会先准备备用服务器,然后执行故障转移。
此故障转移操作可最大程度地减少故障时间,因为它执行向备用服务器的正常故障转移。 这对于在意外故障转移后将主服务器恢复到首选可用性区域之类的情况非常有用。
重要
请勿持续执行即时故障转移。 在执行下一次故障转移前至少等待 15 到 20 分钟的时间。 此等待时间有助于完全建立新的备用服务器。
在低负载期间执行计划内的故障转移。
门户上报告的整个端到端操作时间可能比应用程序遇到的实际故障时间长。 应从应用程序的角度衡量故障时间。
使用 Azure 门户:
选择已启用高可用性的 Azure Database for PostgreSQL 灵活服务器。
在资源菜单中的 “设置” 部分下,选择 “高可用性”。
如果主服务器和备用服务器部署在不同的区域中,请注意分配给 主可用性区域 和 备用可用性区域的值。 故障转移操作完成后,这些值会对调。
选择 “计划内故障转移 ”以启动手动故障转移过程。 对话框会通知你故障转移完成之前的预期故障时间。 如果决定继续,请选择“启动计划内故障转移”。
此时会显示一条通知,提到正在进行故障转移。
故障转移到备用服务器完成后,你会收到提示通知完成情况。
如果高可用性模式配置为“区域冗余”,请确认“主要可用性区域”和“备用可用性区域”的值现已互换。
限制和注意事项
在Azure Database for PostgreSQL灵活服务器上启用或禁用高可用性时,该服务不会更改其他设置。 这些设置包括网络配置、防火墙设置、参数和备份保留。 启用或禁用高可用性是联机操作。 此操作不会影响应用程序连接和操作。
Azure Database for PostgreSQL支持在同一区域中部署的两个副本的高可用性。 可以在所有受支持的区域中使用此配置。 但是, 具有区域冗余的高可用性 仅适用于某些区域。
突发型层不支持高可用性。 只有 General purpose 和 Memory optimized 层支持高可用性。
如果你在包含单个可用性区域的地区中部署服务器,则只能在“同一区域”模式下启用高可用性。 如果 Azure 将来为该区域增加多个可用区,则你可以部署新的 Azure Database for PostgreSQL 灵活服务器,并将高可用性配置为同一区域或区域冗余模式。
但是,当区域包含单个可用性区域时,不能直接在区域冗余模式下为区域中部署的任何服务器启用高可用性。 可以通过使用还原选项或读副本选项来解决问题。
还原选项
- 还原到最新还原点。
- 创建新服务器后,在“区域冗余”模式下启用高可用性。
- 验证数据后,可以选择删除旧服务器。
- 请确保修改客户端的连接字符串以指向新还原的服务器。
只读副本选项
- 在主服务器所在的同一区域中创建只读副本。
- 将只读副本提升为新的主服务器。
- 若要保留原始名称,请使用虚拟终结点或删除旧主数据库,然后创建并提升新的只读副本。
- 对于门户用户,启用分区弹性。 对于开发者工具,请使用 Zone-Redundant 选项设置高可用性。