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