我正在寻找一种实现主/从故障转移的方法,共享 2 个公共虚拟 IP(在 Ubuntu 上):
- vip1:10.0.0.171
- vip2:10.0.0.172
- 主服务器:10.0.0.181
- 从属:10.0.0.182
我需要以下功能:
- 如果主服务器和从服务器都启动了,主服务器将获得两个 VIP
- 如果 master 宕机,slave 得到两个都贵宾
- 如果 master 恢复正常运行,它就会恢复两个都贵宾
- 如果只有 master 处于启动状态,那么 master 就会获得 VIP(当然。)
我能够使用 heartbeat 轻松实现这一点,但似乎 corosync+pacemaker 才是“未来”。不幸的是,我很难找到好的、简洁的文档...
这是我的心跳设置:
在 /etc/hosts 中:
10.0.0.181 master-host
10.0.0.182 slave-host
/etc/ha.d/ha.cf:
deadtime 3
warntime 5
initdead 10
bcast eth0
auto_failback on
node master-host
node slave-host
use_logd yes
/etc/ha.d/haresources:
master-host IPaddr::10.0.0.171/24/eth0 IPaddr::10.0.0.172/24/eth0
作为奖励(心跳似乎无法自行完成某些事情)如果能够做到就好了:
- 让主服务器和从服务器彼此不了解对方(即他们不知道彼此的 IP)
- 他们可以共享密码
- 每个人都知道自己是主人还是奴隶
额外奖励:
- 能够添加第二个从属,例如从属:10.0.0.183
这可以通过 corosync 和 pacemaker 来实现吗?