处理 PostgreSQL 数据库故障切换

适用于私有云的 Edge v4.18.05

在 PostgreSQL 数据库故障转移期间执行以下操作:

  1. 如果当前主服务器上的 apigee-postgresql 仍在运行,请将其停止:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  2. 转到备用节点并调用以下命令,将其设为主实例:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master IPorDNSofOldMaster

如果以后某个时间恢复了旧主副本,请将其设为备用节点:

  1. 在当前主实例上,修改配置文件以进行以下设置:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  2. 在新主实例上启用复制:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
  3. 在旧主服务器上,修改配置文件以设置:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofOldMaster
  4. 在旧主实例上停止 apigee-postgresql
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  5. 在旧主服务器上,清除所有旧 Postgres 数据:
    rm -rf /opt/apigee/data/apigee-postgresql/
  6. 将旧主副本配置为备用副本:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  7. 复制完成后,请在两个服务器上发出以下脚本来验证复制状态。系统应在两个服务器上显示相同的结果,以确保成功复制:
    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

      确认系统显示的是待机模式。