添加配置详细信息:

添加配置详细信息:

我们使用pacemaker、corosync来自动进行故障转移。我们注意到一种行为——当主节点重新启动时,备用节点接管为主节点——这很好。当节点重新上线并在其上启动服务时,它将收回主节点的角色。理想情况下,它应该以待机状态启动。我们是否缺少任何配置?

pcs 资源默认 O/p: 资源粘性: INFINITY 迁移阈值: 0

粘性设置为无限。请建议。

添加配置详细信息:

[root@Node1 心跳]# pcs config show –l
集群名称:cluster1
Corosync 节点:
 节点1 节点2
起搏器节点:
 节点1 节点2

资源:
 硕士:msPostgresql
  元属性:master-node-max=1clone-max=2notify=truemaster-max=1clone-node-max=1
  资源:pgsql(类=ocf提供者=心跳类型=pgsql)
   属性: master_ip=10.70.10.1 node_list="Node1 Node2" pgctl=/usr/pgsql-9.6/bin/pg_ctl pgdata=/var/lib/pgsql/9.6/data/ Primary_conninfo_opt="keepalives_idle=60 keepalives_interval=5 keepalives_count=5 “ psql=/usr/pgsql-9.6/bin/psql rep_mode=异步 restart_on_promote=true Restore_command="cp /var/lib/pgsql/9.6/data/archivedir/%f %p"
   元属性:失败超时=60
   操作:降级间隔=0s on-fail=stop timeout=60s (pgsql-demote-interval-0s)
               方法间隔=0s 超时=5s (pgsql-methods-interval-0s)
               监控间隔=4s on-fail=重启超时=60s (pgsql-monitor-interval-4s)
               监控间隔=3s on-fail=重启角色=Master超时=60s (pgsql-monitor-interval-3s)
               通知间隔=0s 超时=60s (pgsql-notify-interval-0s)
               升级间隔=0s on-fail=重启超时=60s (pgsql-promote-interval-0s)
               启动间隔=0s on-fail=重启超时=60s (pgsql-start-interval-0s)
               停止间隔=0s on-fail=块超时=60s (pgsql-stop-interval-0s)
 组别:大师组
  资源:vip-master(类=ocf提供商=心跳类型=IPaddr2)
   属性:cidr_netmask=24 ip=10.70.10.2
   操作:监控间隔=10s on-fail=重启超时=60s (vip-master-monitor-interval-10s)
               启动间隔=0s on-fail=重启超时=60s (vip-master-start-interval-0s)
               停止间隔=0s on-fail=区块超时=60s (vip-master-stop-interval-0s)
  资源:vip-rep(类=ocf提供商=心跳类型=IPaddr2)
   属性:cidr_netmask=24 ip=10.70.10.1
   元属性:迁移阈值=0
   操作:监控间隔=10s on-fail=重启超时=60s (vip-rep-monitor-interval-10s)
               启动间隔=0s on-fail=停止超时=60s (vip-rep-start-interval-0s)
               停止间隔=0s on-fail=忽略超时=60s (vip-rep-stop-interval-0s)

斯托尼斯设备:
击剑等级:

位置限制:
订购限制:
  提升 msPostgresql 然后启动 master-group (分数:INFINITY)(非对称)
  降级 msPostgresql 然后停止 master-group (score:0) (非对称)
托管限制:
  master-group with msPostgresql (score:INFINITY) (rsc-role:Started) (with-rsc-role:Master)
门票限制:

警报:
 未定义警报

资源默认值:
 资源粘性:INFINITY
 迁移阈值:0
操作默认值:
 没有设置默认值

集群属性:
 集群基础设施:corosync
 集群名称:cluster1
 集群重新检查间隔:60
 直流版本:1.1.19-8.el7-c3c624ea3d
 有看门狗:假
 无仲裁策略:忽略
 启动失败是致命的: false
 启用 stonith: false
节点属性:
 节点1:pgsql-data-status=STREAMING|ASYNC
 节点2:pgsql-data-status=最新

法定人数:
  选项:

谢谢 !

答案1

您已将 Postgresql 设置为在引导时启动。这意味着当主节点重新启动时,它将重新加入已运行 Postgresql 的集群,导致集群必须执行服务恢复(在 Postgresql 上停止/启动),因为集群应该只有一个 Postgresql Master 实例跑步。集群在各处停止 Postgresql,然后选择一个节点(在您的情况下是原始主节点),可以在其中启动 Postgresql Master 的单个实例并在那里启动它。

要解决此问题,请确保您已postgresql禁用并在启动时启用 Pacemaker/Corosync:

# systemctl disable postgresql-9.6
# systemctl enable pacemaker corosync

相关内容