![ucarp:从属升级为主控](https://linux22.com/image/557850/ucarp%EF%BC%9A%E4%BB%8E%E5%B1%9E%E5%8D%87%E7%BA%A7%E4%B8%BA%E4%B8%BB%E6%8E%A7.png)
我的两台 ubuntu 服务器上都安装了 ucarp。Apache、Postfix、Dovecot 都以 HA 模式运行,因此如果一台主机宕机,另一台会自动接管。
我的第一个问题是我不知道如何手动将从服务器提升为主服务器?
第二个问题是 ucarp-advskew 有什么作用?问题是我不知道在哪里可以阅读更多关于 ucarp 的信息。我只读过关于如何配置它的指南,但我不知道如何控制它,高级设置是什么。
编辑:一些错别字
答案1
我使用 keepalived,对 ucarp 了解不多,但我总是禁用主接口。这会强制从属接管。如果我想使从属成为主,我会重新配置它并重新启动服务。然后,我将旧主重新配置为从属,重新启动服务并启用接口。
以下引用的文本可能有助于解释 advskew 参数的作用。
“advskew:此可选参数指定在发送 CARP 广告时 advbase 的倾斜程度。通过操纵 advskew,可以选择主 CARP 主机。数字越高,选择主主机时主机的优先性越低。默认值为 0。可接受的值从 0 到 254。” -http://www.openbsd.org/faq/pf/carp.html
“... 要计算出 CARP 节点认为自己是主节点所需的时间,计算 3 * (advbase + (advskew / 255))” -http://kerneltrap.org/node/5607
因此,如果您有三台主机,一台主服务器和两台从服务器,并且从服务器的配置如下:
从站1-3 * 1 + (10/255) = 3.117 秒
从站2 - 3 * 1 + (20 / 255) = 3.235 秒
那么从属 1 总是会先于从属 2 成为主控,因为它更频繁地发布通告。如果由于某种原因从属 1 宕机,从属 2 将成为主控。
答案2
我的第一个问题是我不知道如何手动将从服务器提升为主服务器?
你可以通过如下方式让其中一台机器从 MASTER 降级为 SLAVE :
killall -USR2 ucarp
在 MASTER 上。
答案3
我没有在 Linux 上使用过 ucarp,但在 BSD 领域,它就像关闭主服务器上的 carp 接口一样简单,然后备份服务器会将 carp 接口提升为主接口。
答案4
- 你可以按照以下路径/脚本/网络/ucarp在主/活动服务器上并将其设置为离开
- 这应该让奴隶承担主要角色。
例如:
/opt/... /scripts/network/ucarp off