patroni-配置文件參數修改
export PATRONICTL_CONFIG_FILE=/etc/patroni/patroni_postgresql.yml
#??configfile?????????Patroni may also read the configuration from the
PATRONI_CONFIGURATION environment variable
# 可以查看命令的使用說明
patronictl --help
# 查看版本號
patronictl -c /etc/patroni.yml version
# 查看所有成員信息
patronictl -c /etc/patroni.yml list
# 重新加載配置
patronictl -c /etc/patroni.yml reload
# 移除集群,重新配置的時候使用
patronictl -c /etc/patroni.yml remove postgres
# 重啟數據庫集群
patronictl -c /etc/patroni.yml restart postgres
# 切換 Leader,將一個 slave 切換成 leader。
patronictl -c /etc/patroni.yml switchover
#查看歷史failovers/switchovers
patronictl -c /etc/patroni/patroni_postgresql.yml history
#默認配置文件位置:
#patronictl configure
#Configuration file [/root/.config/patroni/patronictl.yaml]:
/root/.config/patroni/patronictl.yaml
[root@db03 patroni]# cp /etc/patroni/patroni_postgresql.yml??./patronictl.yaml
[root@db03 patroni]# patronictl??list
+--------+---------------+---------+---------+----+-----------+
| Member | Host??????????| Role????| State???| TL | Lag in MB |
+ Cluster: pgha (7025507499523621070) -------+----+-----------+
| node1??| 192.168.5.201 | Replica | running |??6 |?????????0 |
| node2??| 192.168.5.202 | Replica | running |??6 |?????????0 |
| node3??| 192.168.5.203 | Leader??| running |??6 |???????????|
+--------+---------------+---------+---------+----+-----------+
故障位置
故障場景
patroni動作
備庫
PG備庫停止
拉起PG備庫服務
備庫
正常停止備庫patroni
停止PG備庫
備庫
備庫patroni異常停止
無動作
備庫
備庫無法連接ETCD
無動作
備庫
非leader角色但PG處于生產模式
重啟PG并切換到恢復模式作為備庫
備庫
備庫主機重啟
patroni啟動拉起PG備庫
主庫
PG主庫停止
啟動PG,如果啟動時間超過master_start_timeout,進行主備切換
主庫
正常停止主庫patroni
關閉主庫,從備庫中選舉新主庫
主庫
主庫patroni異常停止
看門狗重啟主機,啟動后如果拿到Leader鎖,主備不切換,否則選舉新主,切換主備
主庫
主庫無法連接ETCD
主庫降級為備庫,觸發故障轉移
-
ETCD故障
主庫降級,集群中全部備庫
-
同步模式下,無可用同步備庫
臨時切換為異步模式,在恢復同步模式之前自動故障轉移不可用
官網連接
https://patroni.readthedocs.io/en/latest/dynamic_configuration.html
https://patroni.readthedocs.io/en/latest/
常用命令:
patronictl -c /etc/patroni/patroni_postgresql.yml list
patronictl -c /etc/patroni/patroni_postgresql.yml show-config
patronictl -c /etc/patroni/patroni_postgresql.yml edit-config
patronictl -c /etc/patroni/patroni_postgresql.yml restart (集群名稱) (node1)
patronictl -c /etc/patroni/patroni_postgresql.yml switchover
patronictl -c /etc/patroni/patroni_postgresql.yml reinit (集群名稱) (node1)
PG:配置文件生效順序:
1. load parameters from file postgresql.base.conf (or from a custom_conf file, if set)
2. load parameters from file postgresql.conf
3. load parameters from file postgresql.auto.conf
4. run-time parameter using -o –name=value
#https://patroni.readthedocs.io/en/latest/dynamic_configuration.html
編輯配置文件: //必須更改 DCS 中的共享配置,本地配置修改不生效(在一個節點執行即可)
patronictl -c /etc/patroni/patroni_postgresql.yml edit-config
重啟數據庫集群(三個節點都執行)
patronictl -c /usr/patroni/conf/patroni_postgresql.yml restart pgha(集群名稱)
查詢集群名稱:
patronictl -c /etc/patroni/patroni_postgresql.yml list
+--------+---------------+---------+---------+----+-----------+-----------------+
| Member | Host??????????| Role????| State???| TL | Lag in MB | Pending restart |
+ Cluster: pgha (7025507499523621070) -------+----+-----------+-----------------+
| node1??| 192.168.5.201 | Replica | running |??3 |?????????0 |?????????????????|
| node2??| 192.168.5.202 | Replica | running |??3 |?????????0 |?????????????????|
| node3??| 192.168.5.203 | Leader??| running |??3 |???????????| *???????????????|
+--------+---------------+---------+---------+----+-----------+-----------------+
查看配置文件:
[root@db03 patroni]# patronictl -c /etc/patroni/patroni_postgresql.yml show-config
loop_wait: 10
master_start_timeout: 300
maximum_lag_on_failover: 20485760
postgresql:
parameters:
hot_standby: 'on'
listen_addresses: '*'
max_connections: 150
max_replication_slots: 10
max_wal_senders: 10
max_wal_size: 1GB
port: 5432
wal_keep_segments: 1000
wal_level: logical
wal_log_hints: 'on'
use_pg_rewind: true
use_slots: false
retry_timeout: 10
ttl: 30
參考:
https://github.com/zalando/patroni
https://patroni.readthedocs.io/en/latest/
https://patroni.readthedocs.io/en/latest/ENVIRONMENT.html
https://github.com/zalando/patroni/blob/master/docs/replication_modes.rst
https://postgresconf.org/system/events/document/000/000/228/Patroni_tutorial_4x3-2.pdf
云容災
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。