Pergunta/problema

Como faço um backup offline para o CRX 1.4.1 ou 1.4.2? Como faço para restaurar o back-up?

Resposta/resolução

Backup Off-line

O backup off-line permite criar um back-up consistente de um repositório em cluster. O back-up é obtido de um nó do cluster parado.

Aviso: copiar os arquivos do repositório enquanto o repositório está em execução não é suportado. Se os arquivos do repositório forem copiados enquanto o repositório estiver sendo executado, o back-up poderá estar em um estado inconsistente. Os nós e o índice de pesquisa no repositório copiado podem estar corrompidos e o repositório copiado pode não ser iniciado. Ao iniciar, a exceção "Escravo possui a mesma identidade do mestre" pode ser lançada (se existir uma conexão de rede com o servidor de repositório original). O motivo é que o repositório copiado acha que está sendo executado no modo de cluster.

Requisitos e Configuração

Esta documentação aplica-se ao CRX 1.4.1 e 1.4.2.

O back-up offline requer que o gerenciador de persistência do Tar seja usado. O TarPM é o gerenciador de persistência padrão para o CRX. Esta documentação usa os seguintes diretórios:

  • shared/namespaces
  • shared/nodetypes
  • shared/journal
  • shared/repository/datastore
  • shared/version
  • shared/workspaces/x

Os diretórios a seguir existem nos dois nós do cluster (mestre e escravo):

  • clusterNode
  • clusterNode/repository/index
  • clusterNode/repository/meta
  • clusterNode/version/copy
  • clusterNode/workspaces/* (* representa todos os espaços de trabalho em uso)
  • clusterNode/workspaces/*/copy
  • clusterNode/workspaces/*/index

Para melhorar o desempenho, supomos que um nó do cluster esteja configurado como o mestre preferencial. O back-up é feito em um nó escravo. Isso não é um requisito, é apenas para melhorar o desempenho. Sobre como configurar um nó de cluster como o mestre preferencial, consulte a configuração Tar PM and Cluster.

Procedimento de backup

  • Para cada nó do cluster, faça back-up do arquivo que contém o ID do nó do cluster. Ao usar o CRX Quickstart, esse id é armazenado em clusterNode/cluster_node.id. Quando não estiver usando o CRX Quickstart, o ID do nó do cluster é armazenado no arquivo repository.xml.
  • Pare um nó de cluster (preferencialmente o escravo).
  • Faça backup de todos os arquivos do nó deste cluster, incluindo subdiretórios.
  • Depois, faça back-up dos arquivos nos seguintes diretórios compartilhados:
    • shared/namespaces
    • shared/nodetypes
    • shared/repository/datastore
  • Inicie o nó do cluster novamente.

Restaurar um backup (restauração de emergência)

  • Pare os dois nós do cluster.
  • Exclua os seguintes diretórios no diretório clusterNode em todos os nós do cluster:
    • repositório, compartilhado, versão, espaços de trabalho
  • Exclua todos os arquivos e diretórios no diretório compartilhado.
  • Restaure o back-up do nó do cluster (incluindo subdiretórios) para um dos nós do cluster.
  • Copie todos os arquivos do nó do cluster restaurado para todos os outros nós do cluster. Depois disso, cada nó do cluster contém exatamente os mesmos dados.
  • Exclua o arquivo clusterNode/revision.log em todos os nós do cluster.
  • Exclua os arquivos **/listener.properties em todos os nós do cluster, se existirem.
  • Para cada nó do cluster, restaure o arquivo que contém o ID do nó do cluster (clusterNode/cluster_node.id ou repository.xml). Isso garante que cada nó do cluster tenha um id de nó do cluster diferente.
  • Restaure o back-up do diretório compartilhado:
    • shared/namespaces
    • shared/nodetypes
    • shared/repository/datastore
  • Copie o conteúdo dos seguintes diretórios de um nó do cluster para o diretório compartilhado:
    • clusterNode/version/copy/data*.tar para shared/version
    • clusterNode/workspaces/*/copy/data*.tar para shared/workspaces/* (para cada espaço de trabalho)

Exemplo de arquivos de script

O back-up e a restauração offline podem ser automatizados usando arquivos de script. Você pode usar os dois arquivos de script a seguir como um modelo. AVISO: Esses scripts são para fins demonstrativos. Você deve remover o começo saída, corrija os caminhos variáveis e teste os scripts completamente em seu ambiente para usá-los.

Versões afetadas

CRX 1.4.1 e 1.4.2

Download