创建只读副本

本文提供了为 Azure Database for PostgreSQL 灵活服务器创建只读副本的分步说明。

注释

为持续性的高写入密集型工作负载部署只读副本时,复制延迟可能会持续增加,并且可能永远无法追上只读副本的源服务器。 它还可能增加源服务器上的存储空间占用,因为只有当从同一源服务器接收数据的所有只读副本都收到 WAL 文件后,这些文件才会被删除。

重要

请确保查看在使用只读副本时必须考虑的 注意事项

在源服务器上增加以下参数的值之前,请在其只读副本上增加这些参数的值:max_connections、、max_prepared_transactionsmax_locks_per_transactionmax_wal_sendersmax_worker_processes。 在读取副本上降低这些配置之前,请先在其源实例上进行相应降低。

尝试按错误顺序更改其中的任何一个都会引发代码 ReadReplicaServerParameterLessThanSourceServer错误,并显示以下消息: Replica server parameter should be greater than or equal to source server parameter. Parameter <parameter_name> value '<parameter_value>' setting on source server <source_server> should be less than its replica server <replica_server> value '<parameter_value_on_replica>'.

在为 Azure Database for PostgreSQL 灵活服务器设置只读副本之前,请确保其源服务器已完成相应配置并满足必要的先决条件。 源服务器上的特定设置可能会影响创建副本的能力。

存储自动增长:你负责确保源服务器及其只读副本上的存储自动增长配置符合 含只读副本的存储自动增长 中提供的特定准则。 需要这些规则来确保一致性并防止复制中断。

创建只读副本的步骤

使用 Azure 门户

  1. 选择要用作副本源服务器的Azure Database for PostgreSQL灵活服务器。

  2. 在资源菜单中的 “设置” 部分下,选择“ 复制”。

    显示“复制”页的屏幕截图。

  3. 在“ 副本 ”部分中,选择“ 创建副本”。

    显示“复制”页中“创建副本”按钮的位置的屏幕截图。

  4. 你将被重定向到 “将只读副本添加到 Azure Database for PostgreSQL ”向导,可以从中为创建的新只读副本配置一些设置。

    显示“将只读副本添加到 Azure Database for PostgreSQL 向导”的屏幕截图。

  5. 使用下表了解 “基本信息 ”页中可用的不同字段的含义,并作为指导填写页面。

    Section 设置 建议值 Description 可以在创建服务器后更改
    项目详细信息
    Subscription 你希望在其中创建资源的订阅的名称。 订阅是与 Microsoft 签订的用于使用一个或多个 Microsoft 云平台或服务的协议,其费用是根据每用户许可证费或云端资源消耗而累积的。 现有的 Azure Database for PostgreSQL 灵活服务器可以从其最初创建时所在的订阅移动到其他订阅。 有关详细信息,请参阅将 Azure 资源移到新资源组或订阅
    资源组 要在其中创建资源的所选订阅中的资源组。 它可以是现有的资源组,也可以选择“ 新建”,并在该订阅中提供在现有资源组名称中唯一的名称。 资源组是用于保存 Azure 解决方案相关资源的容器。 资源组可以包含解决方案的所有资源,也可以只包含想要作为组来管理的资源。 根据对组织有利的原则,决定如何将资源分配到资源组。 通常可将共享相同生命周期的资源添加到同一资源组,以便将其作为一个组轻松部署、更新和删除 现有的 Azure Database for PostgreSQL 灵活服务器可以从其最初创建时所在的订阅移动到其他订阅。 有关详细信息,请参阅将 Azure 资源移到新资源组或订阅
    服务器详细信息
    源服务器名称 要为其创建只读副本的源服务器的名称。 用于标识 Azure Database for PostgreSQL 灵活服务器的唯一名称。 域名 postgres.database.chinacloudapi.cn 将附加到你提供的服务器名称后,以构成完全限定主机名,你可以通过该主机名使用 DNS 服务器解析服务器的 IP 地址。
    服务器名称 要分配给新建只读副本的名称。 用于标识 Azure Database for PostgreSQL 灵活服务器的唯一名称。 域名 postgres.database.chinacloudapi.cn 将附加到你提供的服务器名称后,以构成完全限定主机名,你可以通过该主机名使用 DNS 服务器解析服务器的 IP 地址。 尽管服务器名称在创建服务器后无法更改,但可以使用时点恢复功能,将服务器恢复到不同的名称下。 继续使用现有的服务器,但能够通过不同的服务器名称引用该服务器的另一种方法是使用虚拟终结点来创建具有所需新名称的写入终结点。 使用此方法,您可以通过服务器的原始名称,或分配给写入虚拟终结点的名称来引用该服务器。
    位置 支持服务的区域之一的名称。 时间点还原仅支持在源服务器所在的同一区域中部署新服务器。 合规性、数据驻留、定价、与用户的邻近性或同一区域中其他服务的可用性是选择区域时应考虑的一些要求。 该服务不提供自动且透明地将服务器重新定位到其他区域的功能。
    计算 + 存储 分配还原备份时源服务器使用的相同类型和大小的计算和相同大小的存储。 但是,如果选择“配置服务器”链接,则可以更改分配给新服务器的存储类型,以及是否应为其预配异地冗余备份 部署新服务器后,可以纵向扩展或缩减其计算选项。
    可用性区域 首选的可用性区域 可以选择要将服务器部署到哪个可用性区域。 能够选择部署服务器的可用性区域,有助于将其与应用程序并置。 如果选择 “无首选项”,则会在其创建过程中自动将默认可用性区域分配给服务器。 尽管在创建服务器后无法更改部署服务器的可用性区域,但可以使用 时间点恢复 功能在不同的可用性区域中以不同名称还原服务器。
    身份验证 这些设置只是信息性的。 与只读副本使用的身份验证相关的所有设置都继承自其源服务器。 可以在主服务器上更改,并会复制到下游只读副本。
  6. 如果要自动更改分配给新服务器的计算层或大小,或者想要更改只读副本的某些存储设置,请选择“ 配置服务器”。

    显示“配置服务器”链接位置的屏幕截图。

  7. 此时将打开 “计算 + 存储 ”以显示新服务器的计算和存储选项。

    显示“计算 + 存储”页的屏幕截图。

  8. 使用下表了解 “计算 + 存储 ”页中可用的不同字段的含义,并指导填写页面。

    Section 设置 建议值 Description 创建只读副本后可以更改设置
    计算
    计算层 默认情况下,它会自动设置为分配给源服务器的同一层。 但是,您可以将其设置到支持只读副本的任何其他计算层级。 可能的值是 常规用途 (通常用于具有最常见工作负荷的生产环境)和 内存优化 (通常用于运行需要高内存与 CPU 比率的工作负荷的生产环境)。 有关详细信息,请参阅 Azure Database for PostgreSQL 中的计算选项 可以在创建了只读副本后进行更改。 但是,如果使用某些功能仅在某些层上受支持,并将当前层更改为不支持该功能的功能,该功能将停止可用或被禁用。
    计算大小 默认情况下,它会自动设置为分配给源服务器的相同计算大小。 但是,只要其具有与源服务器相同的或更高的 vCore 数,就可以将其设置为任何其他计算大小。 请注意,受支持值的列表可能因区域而异,具体取决于每个区域可用的硬件。 有关详细信息,请参阅 Azure Database for PostgreSQL 中的计算选项 创建只读副本后可以更改。
    存储
    存储类型 保持当前的配置 高级 SSD 不支持将存储类型设置为与源服务器不同的值。 向导会自动设置此属性以匹配分配给源服务器的存储类型。 创建了只读副本之后无法更改。
    存储大小 默认情况下,它设置为与源服务器的存储大小相同的值。 但是,它可以设置为任何更高的值。 在创建只读副本服务器后可以修改。 只能增加它。 不支持手动或自动缩小存储。
    性能层 默认情况下,它会自动设置为与源服务器相同的值。 但是,它可以更改为其他值。 创建磁盘时,将以其性能层的形式设置高级固态硬盘 (SSD) 的性能。 设置磁盘的预配大小时,会自动选择性能层。 此性能层决定了托管磁盘的 IOPS 和吞吐量。 对于高级 SSD 盘,可在部署时或部署后更改性能层,无需更改磁盘大小,也无需停机。 通过更改性能等级,您可以在不使用磁盘突发功能的情况下,做好应对和满足更高需求的准备。 与依赖于突发功能相比,更改性能层可能更经济高效,具体取决于所需额外性能的时长。 这非常适用于那些暂时需要持续较高性能级别的事件。 假日购物、性能测试或运行训练环境等事件。 若要处理这些事件,只要需要额外的性能,便可将磁盘切换到更高的性能层而无需停机。 不再需要额外性能时,可返回到原始层而无需停机。 可以在创建服务器后更改。
    IOPS (操作/秒) 不适用于具有高级 SSD 存储类型的服务器。 可以在创建服务器后更改。
    吞吐量(MB/秒) 不适用于具有高级 SSD 存储类型的服务器。 可以在创建服务器后更改。
  9. 如果需要更改允许与源服务器不同的任何设置,请继续转到 “网络”、“ 安全性”或“ 标记 ”选项卡。 根据你的需求配置好新副本后,选择“查看并创建”。

    显示“查看 + 创建”按钮位置的屏幕截图。

  10. 查看新部署的所有配置是否正确设置,然后选择“创建”

    显示“创建”按钮位置的屏幕截图。

  11. 将启动一项新的部署,以创建你的新 Azure Database for PostgreSQL 灵活服务器,并将其设为源服务器的只读副本。

    屏幕截图,显示正在进行部署以创建新的 Azure Database for PostgreSQL 灵活服务器。

  12. 部署完成后,可以选择 转到资源,开始使用新的 Azure Database for PostgreSQL 灵活服务器。

    显示部署成功完成Azure Database for PostgreSQL灵活服务器的屏幕截图。

  13. 转到副本服务器的 “概述 ”页。

    显示只读副本的“概述”页的屏幕截图。

  14. 在资源菜单中的 “设置” 部分下,选择“ 复制”。 在 “副本”下,找到符合复制集的服务器列表,以及每个服务器正在扮演的角色。

    屏幕截图显示了从中间副本或一级副本的视角来看构成复制集的服务器列表。