- Сообщения
- 2
Здравствуйте!
Настроил кластер Postgresql+Pacemaker+Corosync из 3 узлов, 2 под резервированную БД с синхронной репликацией и один свидетель.
3 nodes configured
4 resource instances configured
Online: [ witness wizard1 wizard2 ]
Full list of resources:
ClusterIP (ocf::heartbeat:IPaddr2): Started wizard1
Master/Slave Set: mspgsql [pgsql]
Masters: [ wizard1 ]
Slaves: [ wizard2 ]
ExternalIP (ocf::heartbeat:IPaddr2): Started wizard1
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
После перезагрузки слейва он подключается к кластеру в состоянии
Node Attributes:
* Node witness:
* Node wizard1:
+ master-pgsql : 1000
+ pgsql-data-status : LATEST
+ pgsql-master-baseline : 00000000070028D8
+ pgsql-status : PRI
* Node wizard2:
+ master-pgsql : -INFINITY
+ pgsql-data-status : STREAMING|ASYNC
+ pgsql-status : HS:async
хотя при этом
postgres=# SELECT pid,usename,application_name,state,sync_state FROM pg_stat_replication;
pid | usename | application_name | state | sync_state
------+----------+------------------+-----------+------------
6569 | postgres | wizard2 | streaming | sync
если выполнить на слейве команду sudo pcs resource cleanup, то кластер переходит в состояние
Node Attributes:
* Node witness:
* Node wizard1:
+ master-pgsql : 1000
+ pgsql-data-status : LATEST
+ pgsql-master-baseline : 00000000070028D8
+ pgsql-status : PRI
* Node wizard2:
+ master-pgsql : 100
+ pgsql-data-status : STREAMING|SYNC
+ pgsql-status : HS:sync
Иногда после выполнение pcs resource cleanup значение master-pgsql остаётся -INFINITY, в таком случае после повторного выполнения pcs resource cleanup master-pgsql принимает значение 100.
В чём может быть причина такого поведения и насколько это серьёзно в плане сохранности данных? Postgresql утверждает что синхронная репликация выполняется. Можно ли игнорировать такое поведение?
И второй момент: при перезагрузке слейва в логе Postgresql появляется запись
postgres@template1 FATAL: the database system is starting up
Что это означает?
Настроил кластер Postgresql+Pacemaker+Corosync из 3 узлов, 2 под резервированную БД с синхронной репликацией и один свидетель.
3 nodes configured
4 resource instances configured
Online: [ witness wizard1 wizard2 ]
Full list of resources:
ClusterIP (ocf::heartbeat:IPaddr2): Started wizard1
Master/Slave Set: mspgsql [pgsql]
Masters: [ wizard1 ]
Slaves: [ wizard2 ]
ExternalIP (ocf::heartbeat:IPaddr2): Started wizard1
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled
После перезагрузки слейва он подключается к кластеру в состоянии
Node Attributes:
* Node witness:
* Node wizard1:
+ master-pgsql : 1000
+ pgsql-data-status : LATEST
+ pgsql-master-baseline : 00000000070028D8
+ pgsql-status : PRI
* Node wizard2:
+ master-pgsql : -INFINITY
+ pgsql-data-status : STREAMING|ASYNC
+ pgsql-status : HS:async
хотя при этом
postgres=# SELECT pid,usename,application_name,state,sync_state FROM pg_stat_replication;
pid | usename | application_name | state | sync_state
------+----------+------------------+-----------+------------
6569 | postgres | wizard2 | streaming | sync
если выполнить на слейве команду sudo pcs resource cleanup, то кластер переходит в состояние
Node Attributes:
* Node witness:
* Node wizard1:
+ master-pgsql : 1000
+ pgsql-data-status : LATEST
+ pgsql-master-baseline : 00000000070028D8
+ pgsql-status : PRI
* Node wizard2:
+ master-pgsql : 100
+ pgsql-data-status : STREAMING|SYNC
+ pgsql-status : HS:sync
Иногда после выполнение pcs resource cleanup значение master-pgsql остаётся -INFINITY, в таком случае после повторного выполнения pcs resource cleanup master-pgsql принимает значение 100.
В чём может быть причина такого поведения и насколько это серьёзно в плане сохранности данных? Postgresql утверждает что синхронная репликация выполняется. Можно ли игнорировать такое поведение?
И второй момент: при перезагрузке слейва в логе Postgresql появляется запись
postgres@template1 FATAL: the database system is starting up
Что это означает?