Uso da ferramenta de migração CRX2Oak using-the-crx-oak-migration-tool
Introdução introduction
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 no Notas de versão do CRX2Oak.
Casos de uso da migração migration-use-cases
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
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:
Recursos features
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 automated-quickstart-mode
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"
Para Windows:
SET "SLING_HOME=/path/to/crx-quickstart"
Retomar suporte resume-support
A migração pode ser interrompida a qualquer momento, com a possibilidade de retomá-la posteriormente.
Lógica de atualização personalizável customizable-upgrade-logic
A lógica Java personalizada também pode ser implementada usando CommitHooks
. Personalizado RepositoryInitializer
As classes podem ser implementadas para inicializar o repositório com valores personalizados.
Suporte para operações de memória mapeada support-for-memory-mapped-operations
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.
Migração seletiva de conteúdo selective-migration-of-content
Por padrão, a ferramenta migra o repositório inteiro sob a variável "/"
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 a variável --exclude-path
para excluir o conteúdo e otimizar o procedimento de atualização.
Mesclagem de caminho path-merging
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 na variável --merge-path
parâmetro. Depois disso, o CRX2Oak copiará apenas os novos nós no repositório de destino e manterá os antigos no lugar.
Suporte à versão version-support
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 da variável --copy-versions
parâmetro. 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 optar por copiar versões órfãs adicionando --copy-orphaned-versions=true
.
Ambos os parâmetros também suportam uma YYYY-MM-DD
formato de data, caso queira copiar versões até uma data específica.
Versão de origem aberta open-source-version
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 parameters
Opções de armazenamento de nós node-store-options
-
--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 migration-options
-
--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 o Documentação LDAP. -
--ldap-config:
Use isso junto com a--ldap
parâmetro para repositórios CQ 5.x que usavam vários servidores LDAP para autenticação. Você pode usá-lo para apontar para o CQ 5.xldap_login.conf
oujaas.conf
arquivos de configuração. O formato é--ldapconfig=path/to/ldap_login.conf
.
Opções de armazenamento de versão version-store-options
-
--copy-orphaned-versions
: Ignora a cópia de versões órfãs. Os parâmetros compatíveis são:true
,false
eyyyy-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 path-options
--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 source-blob-store-options
-
--src-datastore:
O diretório do armazenamento de dados a ser usado como uma origemFileDataStore
-
--src-fileblobstore
: O diretório do armazenamento de dados a ser usado como uma origemFileBlobStore
-
--src-s3datastore
: O diretório do armazenamento de dados a ser usado para a origemS3DataStore
-
--src-s3config
: O arquivo de configuração da origemS3DataStore
.
Opções do Target BlobStore destination-blobstore-options
-
--datastore:
O diretório do armazenamento de dados a ser usado como destinoFileDataStore
-
--fileblobstore:
O diretório do armazenamento de dados a ser usado como destinoFileBlobStore
-
--s3datastore
: O diretório do armazenamento de dados a ser usado para o destinoS3DataStore
-
--s3config
: O arquivo de configuração do público-alvoS3DataStore
.
Opções de ajuda help-options
-?, -h, --help:
Mostra informações de ajuda.
Depuração debugging
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:
Outras considerações other-considerations
Ao migrar para um conjunto de réplicas do MongoDB, defina a variável WriteConcern
para 2
em todas as conexões com os bancos de dados Mongo.
Você pode fazer isso adicionando a variável 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