Cyrus assassinato e cluster backend do IMAP no failover

2

Eu tenho um mestre cyrus assassinato (agregador) e um cluster backend IMAP no failover que consiste em 2 nós ( backend1 e backend2 ).

Eu uso o corosync / pacemaker para definir:

  • um IP virtual
  • inicie e pare o serviço cyrus-imapd

para o cluster IMAP de backend.

Eu uso drbd demais para sincronizar o / var / lib / imap e o / var / spool / imap entre meus dois backends do IMAP.

Por exemplo, o serviço cyrus-imapd é executado no backend1 . Quando userA cria pastas e subpastas em sua caixa de entrada, o backend1 requer o agregador com o protocolo mupdate. Ele respondeu positivamente e nas caixas de correio do agregador.db temos as pastas mais o nome do backend onde a pasta está armazenada.

Mesmo que o backend1 seja interrompido, o backend2 será retomado. Quando userA cria uma pasta, o cyrus-imapd solicita o agregador se puder criar a pasta. O agregador respondeu negativamente porque o agregador sabe que a caixa de correio do userA é gerenciada pelo backend1 . Não sabe que backend1 e backend2 são os mesmos. Por isso, ordenou que o backend2 excluísse a caixa de correio. Mas como seus dados são replicados, a maibox desaparece em backend1 .

Então, minha pergunta é a seguinte: Existe uma opção, no imapd.conf ou algo mais que permite que o IMAP do meu backend 2 apareça com o mesmo nome?

    
por Cédric 12.12.2013 / 21:41

1 resposta

1

Parece que você precisa definir a mesma opção 'servername' em ambas as máquinas no imapd.conf.

{"servername", NULL, STRING} / * Este é o nome do host visível nas mensagens de saudação do POP,    Daemons IMAP e LMTP. Se não estiver definido, o resultado retornará    from gethostname (2) é usado. * /

Isso não é tudo o que faz - também é usado por assassinato para identificar o servidor.

    
por 13.12.2013 / 01:31

Tags