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 nodesadvertise_ip=# the port which this node will broadcast to other nodesadvertise_port=4400# the directory where postgresql was installeddata_dir=/data# delay before node decides what to do with postgresql instancedecision_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 portpg_port=5432# the directory where node status information is storedstatus_dir=./status# the command you would like to use to sync the data from this node to the other when this node is mastersync_command=rsync -ae "ssh -o StrictHostKeyChecking=no" --delete {{local_dir}} {{slave_ip}}:{{slave_dir}}[vip]# Virtual Ip you would like to useip=# 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=
评论