ucarp:将奴隶提升为主人

Jur*_*873 5 linux high-availability ucarp

我让 ucarp 在我的两台 ubuntu 服务器上工作。Apache、Postfix、Dovecot 都在 HA 模式下工作,因此如果一台主机出现故障,另一台会自动接管。

我的第一个问题是我不知道如何手动将奴隶提升为主人?

二是ucarp-advskew是做什么的?问题是我不知道在哪里可以阅读有关 ucarp 的更多信息。我只阅读了有关如何配置它的指南,但我不知道如何控制它,高级设置是什么。

编辑:一些错别字

小智 5

My first problem is that I don't know how can I manually promote the slave to master?

You can tell one of the machines to demote itself from MASTER to SLAVE by doing:

    killall -USR2 ucarp

on the MASTER.


小智 2

我使用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 秒

那么slave1总是会先于slave2成为master,因为它做广告的频率更高。如果由于某种原因slave1宕机了,slave2将成为master。