我有一个cyrus murder(聚合器)master和一个包含2个节点( backend1和backend2 )的故障转移的IMAP后端群集。
我使用corosync / pacemaker来设置:
为后端IMAP群集。
我也使用drbd来同步我的2个IMAP后端之间的/ var / lib / imap和/ var / spool / imap。
例如,cyrus-imapd服务在后端1上运行。 当用户A在其INBOX中创build文件夹和子文件夹时,后端1会使用mupdate protocole来请求聚合器。 它积极地回复,并在聚合器的mailboxes.db我们有文件夹加上存储文件夹的后端名称 。
即使后端1停止, 后端2也会接pipe。 当userA创build文件夹时,来自聚合器的cyrus-imapd请求可以创build文件夹。 由于聚合器知道用户A的邮箱是由后端1pipe理的,所以聚合器回答是否定的。 它不知道backend1和backend2是“相同的”。 所以它命令backend2删除邮箱。 但是随着他们的数据被复制,所以maibox在后端消失1。
所以我的问题是:有没有一个选项,在imapd.conf或其他的东西,允许我的2后端的IMAP显示具有相同的名称?
听起来就像你只需要在imapd.conf中的两台机器上设置相同的“servername”选项。
{“servername”,NULL,STRING} / *这是在POP,IMAP和LMTP守护程序的问候消息中可见的主机名。 如果未设置,则使用从gethostname(2)返回的结果。 * /
但这并不是全部 – 它也被谋杀使用来识别服务器。