2017-03-10 24 views
0

현재 로그 전달 복제와 함께 postgresql을 사용하고 있습니다. 나는 postgresql failover를 처리하기 위해 pacemaker의 마스터/슬레이브 리소스를 사용한다."repmgr standby clone"및 pg_rewind를 사용하지 않고 마스터 노드를 강등시킬 수 있습니까?

마스터를 강등하는 방법이 있는지 물어보고 pg_rewind가 아닌 "repmgr standby clone"을 사용하지 않고 대기로 설정하고 동기화를 유지하십시오.

사실 저는 오래된 마스터가 마스터 상태로 빠르게 돌아갈 준비를하고 "repmgr standby clone"이 너무 오래 복구하는 데 몇 분이 걸렸 으면합니다.

더 빨리 동기화하기 위해 pg_rewind를 사용할 수 있지만 wal_log_hints가 활성화되어 있음을 의미합니다.이 옵션을 사용하면 마스터의 성능이 저하됩니다. 주인은 이미 너무 바쁩니다.

난 그냥 데이터 디렉토리에있는 recovery.conf를 작성하려고

는, 마스터 잘 그러나 그것은 상류없는 모드를 슬레이브 설정되어있다 :

[[email protected] httpd]# su - postgres -c "/usr/pgsql-9.5/bin/repmgr -f /var/lib/pgsql/repmgr/repmgr.conf cluster show" Role | Name | Upstream | Connection String ----------+--------|----------|-------------------------------------- * master | node-02 | | host=node-02 user=repmgr dbname=repmgr standby | node-01 | | host=node-01 user=repmgr dbname=repmgr

내가 충분히 분명하다 바랍니다, 사실 데이터베이스 복제의 초보자입니다. 어떤 도움을 주시면 감사하겠습니다.

답변

0

나는 해결책을 스스로 찾았습니다. 실제로 이전 주인은 강등 된 후에 등록해야합니다. 노드가 이전에 등록 된 경우 --force를 사용해야합니다.

[[email protected] ] su - postgres -c "/usr/pgsql-9.5/bin/repmgr -f /var/lib/pgsql/repmgr/repmgr.conf standby register --force"