Infra/Imap

De Wiki Expresso V3
Ir para: navegação, pesquisa

Guia de infraestrutura IMAP

Autores:
Fabio S. Schmidt (fabio.schmidt@4linux.com.br)
Histórico das versões
Versão                Data          Autor
1.0                04/02/2014    Fabio S. Schmidt

O Expresso V3 pode ser integrado a diferentes servidores IMAP, como o Dovecot e Cyrus Imap, sendo este último o mais utilizado.

O Cyrus IMAP ([1]) é um servidor POP/IMAP de alta performance e altamente escalável, desenvolvido pela Carnegie Mellon University (CMU), ele possibilita acessos simultâneos (leitura/escrita) a uma mesma caixa postal e quotas e regras de acesso (ACL) a qualquer caixa da hierarquia.

Nos repositórios estáveis das distribuições (Red Hat, Suse, Debian,etc…) até o momento, em grande parte, a versão disponibilizada do Cyrus Imap é bastante antiga (2.2.13), que não é mais atualizada, recebendo somente atualizações de segurança. Portanto, recomenda-se a utilização da versão atual, 2.4 , que possibilita o uso de replicação nativa e diversas melhorias para o ambiente distribuído Aggregator, além diversas melhorias no código para estabilidade, performance e segurança.

O Cyrus Imap opera somente com seu formato de armazenamento, não sendo possível utilizar os formatos Maildir, Mailbox ou qualquer outra configuração. Por padrão, o Cyrus Imap armazena as mensagens e meta-arquivos na mesma estrutura de diretório, o armazenamento de mensagens é constituído por diversos arquivos pequenos que não são acessados tão frequentemente, uma mensagem é acionada somente quando o usuário abre a mesma, os meta-arquivos são separados em arquivos por caixa postal (pasta): header, index, cache, expunge e squat, sendo os três primeiros para indexação e recuperação dos cabeçalhos das mensagens, o expunge para controle de remoção atrasada se essa opção estiver habilitada e o arquivo squat contém uma indexação específica para pesquisa de mensagens, com ganho de 20 a 30% em relação a indexação padrão para operações que envolvam pesquisa, sendo o maior dos meta-arquivos, se a mensagem não estiver referenciada neste arquivo será recuperada através da indexação normal, porém com desempenho inferior.

Sabendo que os meta-arquivos são acessados com mais frequência e ocupam um espaço relativamente pequeno, cerca de 10% para toda a estrutura de caixas postais do usuário, é uma boa estratégia configurar o Cyrus Imap para separar esses arquivos em meta-partições que utilizam discos mais rápidos para obter um melhor desempenho das operações de I/O no servidor IMAP.

A partir da versão 2.3 essa configuração é possível utilizando os parâmetros metadata no arquivo de parametrização do Cyrus Imap. Como conceito, cada partição pode ter somente uma meta-partição e a definição de quais arquivos serão separados é global, ou seja, é definido quais meta-arquivos ficarão separados em meta-partição e essa configuração é compartilhada para todas as partições.

Cyrus Aggregator

O Cyrus IMAP Aggregator, também chamado de Cyrus Murder, permite distribuir de forma transparente as caixas postais IMAP e POP entre múltiplos servidores. O ambiente Aggregator possibilita que os usuários acessem caixas postais de todos os servidores do ambiente a partir de um ponto único.

A solução possui três classes de servidores: Frontend, Backend e Mupdate. Os clientes IMAP conectam aos servidores Fontends que por sua vez realizam a consulta no servidor MUPDATE obtendo a localização, isto é, em qual Backend está a caixa postal do cliente conectado. Então o servidor MUPDATE informa ao Fontend que estabelece a comunicação com direta com o Backend responsável pela caixa postal do usuário. Os servidores Backend armazenam as caixas postais e informam ao servidor MUPDATE a sua localização, permissões e mudanças, o servidor MUPDATE é a fonte de autoridade das caixas postais do ambiente evitando conflitos.

Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Ferramentas