Uso da ferramenta de migração CRX2Oak

Introdução

A CRX2Oak é uma ferramenta projetada para migrar dados entre repositórios diferentes.

Ele pode ser usado para migrar dados de versões mais antigas do CQ com base no Apache Jackrabbit 2 para o Oak, e também pode ser usado para copiar dados entre repositórios Oak.

Você pode baixar a versão mais recente do crx2oak do repositório do Adobe público neste local:
https://repo.adobe.com/nexus/content/groups/public/com/adobe/granite/crx2oak/

A lista de alterações e correções para a versão mais recente pode ser encontrada nas Notas de versão do CRX2Oak.

OBSERVAÇÃO

Para obter mais informações sobre o Apache Oak e os principais conceitos de AEM persistência, consulte Introdução à plataforma AEM.

Casos de uso da migração

A ferramenta pode ser usada para:

  • Migração das versões mais antigas do CQ 5 para o AEM 6
  • Copiando dados entre vários repositórios Oak
  • Conversão de dados entre diferentes implementações do Oak MicroKernel.

O suporte para migrar repositórios usando armazenamentos de blobs externos (comumente conhecidos como armazenamentos de dados) é fornecido em combinações diferentes. Um caminho de migração possível é de um repositório CRX2 que está usando um FileDataStore externo para um repositório Oak usando um S3DataStore.

O diagrama abaixo ilustra todas as combinações de migração possíveis compatíveis com o CRX2Oak:

chlimage_1-151

Recursos

O CRX2Oak é chamado durante AEM atualizações de uma maneira em que o usuário pode especificar um perfil de migração predefinido que automatiza a reconfiguração dos modos de persistência. Isso é chamado de modo de início rápido.

Ele também pode ser executado separadamente, caso exija mais personalização. No entanto, observe que nesse modo, as alterações são feitas apenas no repositório e qualquer reconfiguração adicional de AEM precisa ser executada manualmente. Isso é chamado de modo independente.

Outra coisa a observar é que com as configurações padrão no modo independente, somente a Loja de nós será migrada e o novo repositório reutilizará o armazenamento binário antigo.

Modo de Início Rápido Automatizado

Desde o AEM 6.3, o CRX2Oak é capaz de lidar com perfis de migração definidos pelo usuário que podem ser configurados com todas as opções de migração já disponíveis. Isso permite maior flexibilidade e a capacidade de automatizar a configuração de AEM, recursos que não estão disponíveis se você estiver usando a ferramenta no modo independente.

Para alternar o CRX2Oak para o modo de início rápido, é necessário definir o caminho para a pasta crx-quickstart no diretório de instalação AEM por meio dessa variável ambiental do sistema operacional:

Para sistemas baseados em UNIX e macOS:

export SLING_HOME="/path/to/crx-quickstart?lang=pt-BR"

Para Windows:

SET "SLING_HOME=/path/to/crx-quickstart"

Retomar suporte

A migração pode ser interrompida a qualquer momento, com a possibilidade de retomá-la posteriormente.

Lógica de atualização personalizável

A lógica Java personalizada também pode ser implementada usando CommitHooks. As classes RepositoryInitializer personalizadas podem ser implementadas para inicializar o repositório com valores personalizados.

Suporte para operações de memória mapeada

O CRX2Oak também oferece suporte a operações mapeadas por memória por padrão. O mapeamento de memória melhora muito o desempenho e deve ser usado sempre que possível.

CUIDADO

Observe, no entanto, que as operações mapeadas de memória não são compatíveis com plataformas Windows. Portanto, é recomendável adicionar o parâmetro —disable-mmap ao executar a migração no Windows.

Migração seletiva de conteúdo

Por padrão, a ferramenta migra todo o repositório no caminho "/". No entanto, você tem controle total sobre qual conteúdo deve ser migrado.

Se houver alguma parte do conteúdo que não seja necessária na nova instância, você poderá usar o parâmetro --exclude-path para excluir o conteúdo e otimizar o procedimento de atualização.

Mesclagem de caminho

Se os dados precisarem ser copiados entre dois repositórios e você tiver um caminho de conteúdo diferente em ambas as instâncias, poderá defini-lo no parâmetro --merge-path. Depois disso, o CRX2Oak copiará apenas os novos nós no repositório de destino e manterá os antigos no lugar.

chlimage_1-152

Suporte de versão

Por padrão, o AEM criará uma versão de cada nó ou página que é modificada e a armazenará no repositório. As versões podem ser usadas para restaurar a página para um estado anterior.

No entanto, essas versões nunca são limpas, mesmo se a página original for excluída. Ao lidar com repositórios que estão em operação por muito tempo, a migração pode precisar processar muitos dados redundantes causados por versões órfãs.

Um recurso útil para esses tipos de situações é a adição do parâmetro --copy-versions . Ele pode ser usado para ignorar os nós de versão durante a migração ou cópia de um repositório.

Você também pode escolher se deseja copiar versões órfãs adicionando --copy-orphaned-versions=true.

Ambos os parâmetros também suportam um formato de data YYYY-MM-DD, caso você queira copiar versões até uma data específica.

chlimage_1-153

Versão de origem aberta

Uma versão de código aberto do CRX2Oak está disponível no formato de atualização do oak. É compatível com todos os recursos, exceto:

  • Suporte ao CRX2
  • Suporte a perfil de migração
  • Suporte para reconfiguração automatizada de AEM

Consulte a Documentação do Apache para obter mais informações.

Parâmetros

Opções de armazenamento de nós

  • --cache: Tamanho do cache em MB (o padrão é 256)

  • --mmap: Ativar o acesso de arquivo mapeado de memória para a Loja de segmentos

  • --src-password: Senha para o banco de dados RDB de origem

  • --src-user: Usuário do RDB de origem

  • --user: Usuário do RDB direcionado

  • --password: Senha para o RDB de destino.

Opções de migração

  • --early-shutdown: Encerra o repositório JCR2 de origem depois que os nós são copiados e antes que os ganchos de confirmação sejam aplicados

  • --fail-on-error: Força uma falha da migração se os nós não puderem ser lidos do repositório de origem.

  • --ldap: Migra usuários LDAP de uma instância CQ 5.x para uma baseada em Oak. Para que isso funcione, o Provedor de identidade na configuração do Oak precisa ser nomeado ldap. Para obter mais informações, consulte a documentação LDAP.

  • --ldap-config: Use isso junto com o --ldap parâmetro para repositórios CQ 5.x que usaram vários servidores LDAP para autenticação. Você pode usá-lo para apontar para os arquivos de configuração CQ 5.x ldap_login.conf ou jaas.conf. O formato é --ldapconfig=path/to/ldap_login.conf.

Opções de armazenamento de versão

  • --copy-orphaned-versions: Ignora a cópia de versões órfãs. Os parâmetros compatíveis são: true, false e yyyy-mm-dd. O padrão é true.

  • --copy-versions: Copia o armazenamento de versão. Parâmetros: true, false, yyyy-mm-dd. O padrão é true.

Opções de caminho

  • --include-paths: Lista de caminhos separada por vírgulas a ser incluída durante a cópia
  • --merge-paths: Lista de caminhos separada por vírgulas para mesclar durante a cópia
  • --exclude-paths: Lista de caminhos separada por vírgulas a ser excluída durante a cópia.

Opções de armazenamento de blobs de origem

  • --src-datastore: O diretório do armazenamento de dados a ser usado como uma origem FileDataStore

  • --src-fileblobstore: O diretório do armazenamento de dados a ser usado como uma origem FileBlobStore

  • --src-s3datastore: O diretório do armazenamento de dados a ser usado para a origem S3DataStore

  • --src-s3config: O arquivo de configuração da origem S3DataStore.

Opções do Target BlobStore

  • --datastore: O diretório do armazenamento de dados a ser usado como destino FileDataStore

  • --fileblobstore: O diretório do armazenamento de dados a ser usado como destino FileBlobStore

  • --s3datastore: O diretório do armazenamento de dados a ser usado para o destino S3DataStore

  • --s3config: O arquivo de configuração do target S3DataStore.

Opções de Ajuda

  • -?, -h, --help: Mostra informações de ajuda.

Depuração

Você também pode ativar as informações de depuração do processo de migração para solucionar problemas que possam aparecer durante o processo. Você pode fazer isso de forma diferente dependendo do modo em que deseja executar a ferramenta:

Modo CRX2Oak Ação
Modo de início rápido Você pode adicionar as opções —log-level TRACE ou —log-level DEBUG à linha de comando ao executar o CRX2Oak. Neste modo, os logs são automaticamente redirecionados para o arquivo upgrade.log.
Modo autônomo

Adicione as opções —trace à linha de comando CRX2Oak para mostrar eventos TRACE na saída padrão (você precisa redirecionar os logs por conta própria usando o caractere de redirecionamento: '>' ou 'tee' para inspeção posterior).

Outras considerações

Ao migrar para um conjunto de réplicas do MongoDB, certifique-se de definir o parâmetro WriteConcern para 2 em todas as conexões com os bancos de dados do Mongo.

Você pode fazer isso adicionando o parâmetro w=2 no final da string de conexão, desta forma:

java -Xmx4092m -XX:MaxPermSize=1024m -jar crx2oak.jar crx-quickstart/repository/ mongodb://localhost:27017/aem-author?replicaset=replica1&w=2
OBSERVAÇÃO

Para obter mais informações, consulte a documentação da Cadeia de conexão do MongoDB em Problemas de gravação.

Nesta página

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now