为 Postgres 设置主备用模式

默认情况下,Edge 会以主模式安装所有 Postgres 节点。不过,在包含多个 Postgres 节点的生产系统中,您可以将这些节点配置为使用主-备份复制,以便在主节点发生故障时,备份节点可以继续处理流量。

如果主节点发生故障,您可以将备用服务器提升为主服务器。如需了解详情,请参阅处理 PostgreSQL 数据库故障转移

在安装时配置主-备用复制

您可以在安装时配置主-备份复制,方法是在两个 Postgres 节点的配置文件中添加以下属性:

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

安装程序会自动将两个 Postgres 节点配置为主-备用模式并启用复制。

安装后配置主-备用复制

您可以在安装后按照以下步骤配置主-备份复制:

  1. 确定哪个 Postgre 节点将成为主服务器,哪个节点将成为备用服务器。
  2. 在主节点上,修改配置文件以设置:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  3. 在新主服务器上启用复制:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  4. 在备用节点上,修改配置文件以设置:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  5. 停止待机节点:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. 在备用节点上,删除任何现有的 Postgres 数据:
    rm -rf /opt/apigee/data/apigee-postgresql/
  7. 配置待机节点:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile

测试主-备用复制

复制完成后,通过在两台服务器上发出以下脚本来验证复制状态。系统应该在两个服务器上显示相同的结果,以确保成功复制:

  1. 在主节点上,运行以下命令:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    验证主机是否显示为主机。

  2. 在待机节点上:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    验证它是否表明它是备用实例。