CRX2Oak è uno strumento progettato per eseguire la migrazione dei dati tra archivi diversi.
Può essere utilizzato per migrare i dati dalle versioni precedenti di CQ basate su Apache Jackrabbit 2 a Oak e può anche essere utilizzato per copiare i dati tra archivi Oak.
Puoi scaricare la versione più recente di crx2oak dall’archivio di Adobi pubblico da questa posizione:
https://repo1.maven.org/maven2/com/adobe/granite/crx2oak/
Per ulteriori informazioni su Apache Oak e sui concetti chiave della persistenza dell’AEM, consulta Introduzione alla piattaforma AEM.
Lo strumento può essere utilizzato per:
Il supporto per la migrazione degli archivi tramite archivi BLOB esterni (comunemente noti come archivi dati) è fornito in diverse combinazioni. Un possibile percorso di migrazione proviene da un archivio CRX2 che utilizza un archivio esterno FileDataStore
in un archivio Oak utilizzando un S3DataStore
.
Il diagramma seguente illustra tutte le possibili combinazioni di migrazione supportate da CRX2Oak:
CRX2Oak viene chiamato durante gli aggiornamenti AEM in modo tale che l’utente possa specificare un profilo di migrazione predefinito che automatizza la riconfigurazione delle modalità di persistenza. Questa modalità è denominata modalità di avvio rapido.
Può anche essere eseguito separatamente nel caso richieda una maggiore personalizzazione. Tuttavia, tieni presente che in questa modalità le modifiche vengono apportate solo all’archivio e che ogni ulteriore riconfigurazione dell’AEM deve essere eseguita manualmente. Questa modalità è denominata standalone.
Un altro aspetto da notare è che con le impostazioni predefinite in modalità autonoma, verrà migrata solo l’archivio nodi e il nuovo archivio riutilizzerà il vecchio archivio binario.
Da AEM 6.3, CRX2Oak è in grado di gestire profili di migrazione definiti dall’utente che possono essere configurati con tutte le opzioni di migrazione già disponibili. Ciò consente sia una maggiore flessibilità sia la possibilità di automatizzare la configurazione di AEM, funzioni che non sono disponibili se si utilizza lo strumento in modalità autonoma.
Per passare da CRX2Oak alla modalità quickstart è necessario definire il percorso della cartella crx-quickstart nella directory di installazione dell'AEM tramite questa variabile di ambiente del sistema operativo:
Per i sistemi basati su UNIX e macOS:
export SLING_HOME="/path/to/crx-quickstart"
Per Windows:
SET "SLING_HOME=/path/to/crx-quickstart"
La migrazione può essere interrotta in qualsiasi momento, con la possibilità di riprenderla in seguito.
La logica Java personalizzata può essere implementata anche utilizzando CommitHooks
. Personalizzato RepositoryInitializer
Le classi possono essere implementate per inizializzare l'archivio con valori personalizzati.
Per impostazione predefinita, CRX2Oak supporta anche operazioni mappate in memoria. La mappatura della memoria migliora notevolmente le prestazioni e deve essere utilizzata quando possibile.
Si noti tuttavia che le operazioni mappate alla memoria non sono supportate per le piattaforme Windows. Pertanto, si consiglia di aggiungere —disable-mmap durante l'esecuzione della migrazione su Windows.
Per impostazione predefinita, lo strumento migra l’intero archivio sotto il "/"
percorso. Tuttavia, hai il controllo completo sul contenuto da migrare.
Se una parte del contenuto non è richiesta nella nuova istanza, puoi utilizzare --exclude-path
per escludere il contenuto e ottimizzare la procedura di aggiornamento.
Se i dati devono essere copiati tra due archivi e disponi di un percorso di contenuto diverso in entrambe le istanze, puoi definirlo in --merge-path
parametro. Una volta fatto, CRX2Oak copierà solo i nuovi nodi nell’archivio di destinazione e manterrà quelli vecchi in posizione.
Per impostazione predefinita, l’AEM crea una versione di ciascun nodo o pagina che viene modificata e la memorizza nell’archivio. Le versioni possono quindi essere utilizzate per ripristinare uno stato precedente della pagina.
Tuttavia, queste versioni non vengono mai eliminate anche se la pagina originale viene eliminata. Quando si tratta di archivi che sono in funzione da molto tempo, la migrazione potrebbe dover elaborare molti dati ridondanti causati da versioni orfane.
Una caratteristica utile per questi tipi di situazioni è l'aggiunta della --copy-versions
parametro. Può essere utilizzato per saltare i nodi di versione durante la migrazione o la copia di un archivio.
Puoi anche scegliere se copiare le versioni orfane aggiungendo --copy-orphaned-versions=true
.
Entrambi i parametri supportano anche una YYYY-MM-DD
formato data, per copiare le versioni non oltre una data specifica.
Una versione open source di CRX2Oak è disponibile sotto forma di oak-upgrade. Supporta tutte le funzioni ad eccezione di:
Consulta la Documentazione di Apache per ulteriori informazioni.
--cache
: dimensione della cache in MB (il valore predefinito è 256
)
--mmap
: abilita l’accesso ai file mappati in memoria per l’archivio segmenti
--src-password:
Password per il database RDB di origine
--src-user:
Utente per RDB di origine
--user
: utente per RDB di destinazione
--password
: password per l’RDB di destinazione.
--early-shutdown
: chiude l’archivio JCR2 di origine dopo la copia dei nodi e prima dell’applicazione degli hook di commit
--fail-on-error
: forza un errore della migrazione se i nodi non possono essere letti dall’archivio di origine.
--ldap
: esegue la migrazione degli utenti LDAP da un’istanza CQ 5.x a una basata su Oak. Affinché ciò funzioni, il provider di identità nella configurazione Oak deve essere denominato ldap. Per ulteriori informazioni, vedere Documentazione LDAP.
--ldap-config:
Utilizzalo insieme alla --ldap
parametro per gli archivi CQ 5.x che utilizzavano più server LDAP per l’autenticazione. Puoi utilizzarlo per puntare a CQ 5.x ldap_login.conf
o jaas.conf
file di configurazione. Il formato è --ldapconfig=path/to/ldap_login.conf
.
--copy-orphaned-versions
: non copia le versioni orfane. I parametri supportati sono: true
, false
e yyyy-mm-dd
. Impostazione predefinita true
.
--copy-versions:
Copia l’archiviazione della versione. Parametri: true
, false
, yyyy-mm-dd
. Impostazione predefinita true
.
--include-paths:
Elenco di percorsi separato da virgole da includere durante la copia--merge-paths
: elenco di percorsi separato da virgole da unire durante la copia--exclude-paths:
Elenco separato da virgole dei percorsi da escludere durante la copia.--src-datastore:
Directory dell’archivio dati da utilizzare come origine FileDataStore
--src-fileblobstore
: directory dell’archivio dati da utilizzare come origine FileBlobStore
--src-s3datastore
: directory dell’archivio dati da utilizzare per l’origine S3DataStore
--src-s3config
: file di configurazione per l’origine S3DataStore
.
--datastore:
Directory dell’archivio dati da utilizzare come destinazione FileDataStore
--fileblobstore:
Directory dell’archivio dati da utilizzare come destinazione FileBlobStore
--s3datastore
: directory dell’archivio dati da utilizzare per la destinazione S3DataStore
--s3config
: file di configurazione per la destinazione S3DataStore
.
-?, -h, --help:
Visualizza informazioni della Guida.È inoltre possibile abilitare le informazioni di debug per il processo di migrazione al fine di risolvere eventuali problemi che potrebbero verificarsi durante il processo. È possibile eseguire questa operazione in modo diverso a seconda della modalità in cui si desidera eseguire lo strumento:
Modalità CRX2Oak | Azione |
Modalità Quickstart | È possibile aggiungere —log-level TRACE o - DEBUG a livello di log opzioni della riga di comando quando si esegue CRX2Oak. In questa modalità i registri vengono reindirizzati automaticamente al file upgrade.log. |
Modalità autonoma | Aggiungi il - traccia opzioni della riga di comando CRX2Oak per visualizzare gli eventi TRACE sull'output standard (è necessario reindirizzare i registri utilizzando il carattere di reindirizzamento: '>' o il comando 'tee' per un'ispezione successiva). |
Durante la migrazione a un set di repliche MongoDB, assicurarsi di impostare WriteConcern
parametro a 2
su tutte le connessioni alle banche dati Mongo.
Per farlo, aggiungi il w=2
alla fine della stringa di connessione, come segue:
java -Xmx4092m -jar crx2oak.jar crx-quickstart/repository/ mongodb://localhost:27017/aem-author?replicaset=replica1&w=2
Per ulteriori informazioni, consulta la documentazione sulle stringhe di connessione MongoDB su Scrivi dubbi.