Postgres 高可用集群 - Yoke

jopen 8年前發布 | 10K 次閱讀 PostgreSQL 數據庫服務器

Yoke 是 Postgres 的高可用集群,具有自動切換和自動集群恢復。Postgres冗余/自動故障轉移解決方案,提供一個高可用PostgreSQL集群的簡單管理。

Yoke 依賴:

  • 包含 'primary', 'secondary' 和 'monitor' 三個節點的 3-server 集群

  • 'primary' & 'secondary' 節點需要互相之間進行 ssh 連接 (w/o 密碼)

  • 'primary' & 'secondary' 節點需要遠程同步安裝 (或者一些替代 sync_command)

  • 'primary' & 'secondary' 節點應該有安裝 postgres,Yoke 會嘗試調用 'postgres' 和 'pg_ctl'

  • 'primary' & 'secondary' 節點作為一個子進程運行 postgres

配置示例:

[config]
# the IP which this node will broadcast to other nodes
advertise_ip=
# the port which this node will broadcast to other nodes
advertise_port=4400
# the directory where postgresql was installed
data_dir=/data
# delay before node decides what to do with postgresql instance
decision_timeout=30
# log verbosity (trace, debug, info, warn error, fatal)
log_level=warn
# REQUIRED - the IP:port combination of all nodes that are to be in the cluster (e.g. 'role=m.y.i.p:4400')
primary=
secondary=
monitor=
# SmartOS REQUIRED - either 'primary', 'secondary', or 'monitor' (the cluster needs exactly one of each)
role=
# the postgresql port
pg_port=5432
# the directory where node status information is stored
status_dir=./status
# the command you would like to use to sync the data from this node to the other when this node is master
sync_command=rsync -ae "ssh -o StrictHostKeyChecking=no" --delete {{local_dir}} {{slave_ip}}:{{slave_dir}}
[vip]
# Virtual Ip you would like to use
ip=
# Command to use when adding the vip. This will be called as {{add_command}} {{vip}}
add_command=
# Command to use when removing the vip. This will be called as {{remove_command}} {{vip}}
remove_command=
[role_change]
# When this nodes role changes we will call the command with the new role as its arguement '{{command}} {{(master|slave|single}))'
command=

官方網站:http://www.baiduhome.net/lib/view/home/1451381883886

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!