quarta-feira, 22 de julho de 2015

Gaps em backups. A abordagem do ZTOOL para o tratamento deste problema.

    Dados que não são copiados por terem transitado durante o intervalo entre 2 janelas de backup. Uma questão bem conhecida por administradores de ambientes Zimbra que utilizam meios convencionais para o seu processo de backup. Para entender melhor o problema, usemos como exemplo um ambiente onde o backup é feito por meio de um job agendado para a execução diária às 02:00 da manhã. Imagine então um usuário que recebe um e-mail externo às 15:00. Ele então visualiza o e-mail e logo após o apaga (ação ocorrida às 17:00). Nete momento o e-mail estará na lixeira do usuário, mas logo então ele limpa sua lixeira (20:00) apagando quaisquer resquícios deste e-mail em específico. Pois bem, quando a próxima ocorrência do job de backup iniciar, ela irá copiar os dados de forma incremental ou até mesmo full para o repositório de backups (variando de acordo com a configuração da ferramenta de backup utilizada), porém o e-mail que chegou às 15:00 e que foi excluído às 17:00 não será incluído nesta ou em qualquer outra coleta de dados para o backup que ocorrerá a partir daí. Simplesmente pelo fato do e-mail não mais existir no mailbox Zimbra. Isso é bem comum e um problema bastante incômodo na vida de um administrador Zimbra. De fato, é possível concluir que todo e qualquer e-mail que trafegue pelo servidor Zimba e seja apagado sem que haja um job de backup entre estas ações não será incluído na cópia de segurança (figura 1). 

Figura 1 - Linha temporal demonstrando um gap no backup.
    Buscando sanar esta deficiência, o ZTOOL implementa uma abordagem diferente na forma de executar o backup, ele basicamente elimina a necessidade de agendamento de jobs para a sua execução, eliminando assim, a existência de "janelas" onde estas comumente representam o aumento de carga no ambiente (que é normalmente ocultado nas madrugadas). Para isso, o ZTOOL executa o backup dos dados durante o fluxo de circulação dos e-mails. Cada e-mail que é processado pelo Zimbra, é coletado para o backup antes mesmo de ser entrgue ao destinatário (figura 2). Esta coleta é feita pelo agent ZTOOL instalado junto a(s) instância(s) Zimbra a serem gerenciadas.

Figura 2 - Detalhamento do momento da coleta do e-mail para o arquivamento no backup e auditoria.
    Um ponto que sempre é questionado por administradores que observam esta abordagem pela primeira vez, refere-se ao peso que este processo agrega ao ambiente, afinal de contas, o peso que antes era jogado nas madrugadas para diminuir o impacto junto ao usuário final, foi distribuido durante todo o período de funcionamento do ambiente. O algoritmo de coleta dos e-mails foi totalmente reescrito, buscando assim uma otimização nas ações que resultavam operações de I/O. Isso significa que a partir da versão 6.0, o ZTOOL praticamente não agrega peso extra ao ambiente. Podemos fazer uma comparação de um ambiente exemplo, com métricas expostas abaixo. Este ambiente possui 30 domínios totalizando 1200 contas e um fluxo diário de algo em torno de 100000 e-mails. 

Figura 3 - Carga do processador durante o período de 24 horas sem o ZTOOL agent em funcionamento.
Com uma amostragem de 24 horas podemos verificar na figura 3 o load do ambiente sem o processo de backup em execução e na figura 4 o mesmo ambiente com o mesmo período, já com o processo de backup em pleno funcionamento. A diferença é praticamente imperceptível. 
Figura 4 - Carga do processador durante o período de 24 horas COM o ZTOOL agent em funcionamento.
    Temos ainda a figura 5 e 6 que mostram respectivamente as métricas de I/O deste ambiente sem e com o processo de backup em execução. 

Figura 5 - Percentual de processamento destinado a operações de I/O sem o ZTOOL agent em funcionamento
Figura 6 - Percentual de processamento destinado a operações de I/O COM o ZTOOL agent em funcionamento
    Uma outra característica importante neste modelo é a independência do backup em relação a disponibilidade do ZTOOL. Isso significa que mesmo que o console ZTOOL ou até mesmo o daemon ZTOOL esteja(m) indisponivel(is), os dados continuam sendo armazenados (de forma local) até o retorno deste(s). O que vai ocorrer quando o ZTOOL estiver funcional novamente, é a sincronização dos dados. Ao final deste processo o backup estará em estado "on-line" novamente. É praticamente impossível um e-mail não ser coletado para o armazenamento no backup. 


    O modelo implementado pelo ZTOOL traduz-se em eficácia e integridade no processo de backup, onde todos os dados são de fato armazenados, sem que para isto, o ambiente em questão seja penalizado a nível de recursos.

Nenhum comentário:

Postar um comentário