Zx Backup: Unrestorable items/pt

From ZeXtras Suite Wiki

Jump to: navigation, search
Língua: English  • español • português
ZxBackup logo box.png
Available since version: 0.87
Latest Version: 2.12.2
Released on: January 2nd, 2019
Compatibility List
Admin Guide
FAQ
Troubleshooting
Backup Initialization
ZspBackup logo box.png

Como posso verificar que todos os elementos foram restaurados?

Pode verificar a notificação "Operation Completed" recebida quando se completa aquela operação. A mesma se encontra na seção "Notifications" do zimlet de ZeXtras, e também é enviada para o endereço de correio especificado na parte "Notification E-Mail recipient address" da seção "Core" no ZeXtras.

A seção "skipped items" mostra os elementos não restaurados:

  [...]
  - stats -
  Restored Items: 15233
  Skipped Items:  125
  Unrestored Items: 10

  - unrestored items -
  account: account1@domain.com
  unrestored items: 1255,1369

  account: account2@domain.com
  unrestored items: 49965

  account: account14@domain.com
  unrestored items: 856,13339,45200, 45655
  [...]

Elementos omitidos vs. Elementos não restaurados

  • Um elemento omitido (Skipped item): é um elemento que ainda não foi restaurado, nem no restore atual nem previamente.
  • Um elemento não restaurado (Unrestored item): é um elemento que não foi restaurado devido a um problema no processo de recuperação.

Por que alguns elementos não se podem restaurar?

Existem varias causas possíveis, entre as mais comuns estão:

  • Erro de letura: O elemento ou o arquivo de metadados não se pode ler por uma exceção I/O ou um erro de permissão.
  • Elemento estragado: O elemento ou o arquivo de metadados é legível para ZeXtras Backup mas o seu conteúdo está estragado ou corrompido.
  • Elemento inválido: O elemento ou o arquivo de metadados são legíveis e o conteúdo é correto, mas Zimbra se nega a inserí-lo.

Como identificar elementos não restaurados?

Há duas maneiras de fazê-lo: através da CLI ou desde o cliente web Zimbra. O primeiro método se pode usar para buscar os elementos no caminho do backup/importação; enquanto que com o segundo se podem ver os elementos no servidor fonte.

Identificando elementos não restauráveis desde a CLI do ZeXtras

O comando "getItem" mostra um elemento e o metadado relacionado extraindo toda a informação de um caminho de backup ou backup externo.

A sintaxe do comando é a seguinte:

   zxsuite backup getItem {account} {item} [attr1 value1 [attr2 value2...]]

LISTA DE PARÁMETROS

NOME              TIPO               VALORES ESPERADOS           DEFAULT
account(M)        Account Name/ID                               
item(M)           Integer                                       
backup_path(O)    Path                                          /opt/zimbra/backup/zextras/
dump_blob(O)      Boolean            true|false                 false
date(O)           Date               dd/mm/yyyy hh:mm:ss|all    last

(M) == parámetro obrigatório, (O) == parámetro opcional

Então, para extrair os dados e metadados de um elemento cujo itemID é 49965 pertencente á conta account2@domain.com também incluíndo todo o conteúdo do BLOB do elemento, o comando seria:

 zxsuite backup getItem account2@domain.com 49965 dump_blob true

Identificando elementos não restauráveis desde o cliente web do Zimbra

A vírgula que separa os elementos não restaurados mostrados na notificação "Operation Complete" se pode usar também como argumento de busca no cliente Web do Zimbra para buscá-los.

Para isso:

  • Loguear-se no console Zimbra.
  • Usar a função "View Mail" para acessar na conta para a qual se encontram os elementos não restaurados.
  • No quadro de busca escreva item: e a seguir os itemID da lista, separados por uma vírgula.
 Ex.
 item: 856,13339,45200,45655
Warning.png Atenção!

Lembre-se que toda busca se executa unicamente dentro da aba onde está posicionado; se você estiver procurando em "Email" e não obtém resultado, tente novamente desde "Lista de endereços", "Calendário", "Tarefas" ou "Porta-arquivos".

Como posso restaurar elementos não restaurados?

Se um elemento não for restaurado, isso quer dizer que existe um problema, seja com esse elemento ou com a configuração Zimbra + ZeXtras Suite. Em alguns casos há boas probabilidades de recuperar um elemento inclusive se não foi possível a primeira vez.

Na informação que segue encontrará uma série de dicas para lhe ajudar a resolver algumas das situações onde não se podem restaurar elementos.

Elementos não restaurados por causa de Erro de Leitura

Aqui é necessario fazer uma distinção cuidadosa acerca dos erros de leitura que podem fazer que certos elementos não se restaurem:

  • Erros duros: falhas de hardware e todos os demais erros "destrutivos" que causam perdas irrecuperáveis.
  • Erros brandos: são erros "não-destrutivos" como permissões negadas, erro de sistema de arquivos, problemas de RAID (p.ex. mirroring RAID1 quebrado) etc.

Não pode fazer muito com erros "duros", mas é possível prevenir ou mitigar os erros "brandos" seguindo os seguintes lineamentos:

  • Execute uma verificação do sistema de arquivos.
  • Se está usando discos em RAID verifique o conjunto em procura de possíveis problemas (dependendo do nível de RAID).
  • Assegúre-se que o usuário 'zimbra' tenha acesso de leitura/escrita no caminho da pasta do backup/importação, todas as sub-pastas e os arquivos alí contidos.
  • Verifique cuidadosamente a qualidade da conexão dos sistemas de arquivos de rede compartilhados. Se ela é deficiente considere a transmissão de dados com rsync.
  • Se usar SSHfs para montar remotamente o caminho da pasta do backup/importação certifique-se de executar o comando de montagem como root usando a opção "-o allow_other".

Elementos não restaurados por serem identificados como Estragados

Por desgraça essa é a pior categoria para que os elementos possam ser restaurados.

Baseado no grau de corrupção do elemento, pode ser possível recuperar um elemento para um estado anterior ou para o seu estado puro (isto somente para e-mails). Para identificar o grau de corrupção se deve usar o comando "getItem" na CLI do ZeXtras:

  zxsuite backup getItem {account} {item} [attr1 value1 [attr2 value2...]]
 
LISTA DE PARÂMETROS
 
NOME              TIPO              VALORES ESPERADOS            DEFAULT
account(M)        Account Name/ID                             
item(M)          Integer                                     
backup_path(O)    Path                                          /opt/zimbra/backup/zextras/
dump_blob(O)      Boolean            true|false                false
date(O)          Date              dd/mm/yyyy hh:mm:ss|all    last
 
(M) == parâmetro pbrigatório, (O) == parâmetro opcional


Ao buscarmos o elemento estragado se deve estabelecer o parâmetro "backup_path" como caminho de importação, e o parâmetro "date" em "all", assim mostrará todos os estados válidos para o elemento.

 zimbra@test:~$ zxsuite backup getItem admin@example.com 24700 backup_path /mnt/import/ date all
       itemStates                             
               start_date                                                  12/07/2013 16:35:44
               type                                                        message
               deleted                                                    true
               blob path /mnt/import/items/c0/c0,gUlvzQfE21z6YRXJnNkKL85PrRHw0KMQUqo,pMmQ=
               start_date                                                  12/07/2013 17:04:33
               type                                                        message
               deleted                                                    true
               blob path /mnt/import/items/c0/c0,gUlvzQfE21z6YRXJnNkKL85PrRHw0KMQUqo,pMmQ=
               start_date                                                  15/07/2013 10:03:26
               type                                                        message
               deleted                                                    true
               blob path /mnt/import/items/c0/c0,gUlvzQfE21z6YRXJnNkKL85PrRHw0KMQUqo,pMmQ=


Se tal elemento é um e-mail, se poderá recuperar um arquivo .eml padrão, seguindo estes passos:

  • Identificar o último estado válido
 /mnt/import/items/c0/c0,gUlvzQfE21z6YRXJnNkKL85PrRHw0KMQUqo,pMmQ=
               start_date                                                  15/07/2013 10:03:26
               type                                                        message
               deleted                                                    true
               blob path /mnt/import/items/c0/c0,gUlvzQfE21z6YRXJnNkKL85PrRHw0KMQUqo,pMmQ=

  • Identificar o caminho do BLOB
               blob path /mnt/import/items/c0/c0,gUlvzQfE21z6YRXJnNkKL85PrRHw0KMQUqo,pMmQ=

  • Usar gzip para descomprimir o arquivo BLOB em um archivo .eml
  zimbra@test:~$ gunzip -c /mnt/import/items/c0/c0,gUlvzQfE21z6YRXJnNkKL85PrRHw0KMQUqo,pMmQ= > /tmp/restored.eml



 zimbra@test:~$ cat /tmp/restored.eml
 Return-Path: zimbra@test.example.com
 Received: from test.example.com (LHLO test.example.com) (192.168.1.123)
 by test.example.com with LMTP; Fri, 12 Jul 2013 16:35:43 +0200 (CEST)
 Received: by test.example.com (Postfix, from userid 1001)
 id 4F34A120CC4; Fri, 12 Jul 2013 16:35:43 +0200 (CEST)
 To: admin@example.com
 From: admin@example.com
 Subject: Service mailboxd started on test.example.com
 Message-Id: <20130712143543.4F34A120CC4@test.example.com>
 Date: Fri, 12 Jul 2013 16:35:43 +0200 (CEST)
 
 Jul 12 16:35:42 test zmconfigd[14198]: Service status change: test.example.com mailboxd changed from stopped to running
  • Pronto! Agora pode importar o arquivo .eml na conta de correio usando qualquer cliente.
Warning.png Atenção!

Este método só funciona para e-mails e somente se o arquivo BLOB correspondente não foi corrompido.

Se não existem estados válidos, ou se o arquivo BLOB foi corrompido, o elemento não se poderá recuperar.

Não obstante, se um elemento se perdeu, não apague jamais os arquivos relacionados manualmente.

Elementos não restaurados por serem identificados como Inválidos

Um elemento é "inválido" quando a pesar de não estar danado é descartado pelo validador Zimbra LMTP durante sua introdução. Isso é comum quando se importam elementos criados por uma versão antiga de Zimbra em outra mais nova. As regras de validação são atualizadas frequêntemente e por isso não todas as mensagens consideradas válidas por uma versão seguem sendo válidas para a outra.

Em caso de ter muitos itens não restaurados quando realiza uma importação, pode desabilitar temporariamente o validador LMTP e repetir o processo:

  • Para desabilitar o validador LMTP de Zimbra execute o seguinte comando como usuário Zimbra:
 zmlocalconfig -e zimbra_lmtp_validate_messages=false

  • quando for concluída a importação reabilite o validador executando
 zmlocalconfig -e zimbra_lmtp_validate_messages=true
Warning.png Atenção!

Trata-se de uma solução provisória pois elementos considerados como inválidos pelo validador LMTP podería causar erros de display ou de sincronização móvel. Use sob seu proprio risco.

Personal tools