Show Menu
THEMEN×

Verwendung des CRX2OAK-Migrationstools

Einführung

CRX2Oak ist ein Tool für die Migration von Daten zwischen verschiedenen Repositorys.
Es kann zur Migration von Daten aus älteren CQ-Versionen, die auf Apache Jackrabbit 2 basieren, nach Oak verwendet werden, sowie zum Kopieren von Daten zwischen Oak-Repositorys.
Die aktuelle CRX2OAK-Version kann unter der folgenden Adresse vom öffentlichen Adobe-Repository heruntergeladen werden: https://repo.adobe.com/nexus/content/groups/public/com/adobe/granite/crx2oak/
Die Liste der Änderungen und Fehlerbehebungen für die aktuelle Version finden Sie in den Versionshinweisen zu CRX2OAK .
Weitere Informationen zu Apache Oak sowie zu den Grundkonzepten der AEM-Persistenz finden Sie unter Einführung in die AEM-Plattform .

Anwendungsfälle zu Migration

Dieses Tool kann für folgende Anwendungsfälle verwendet werden:
  • Migration von älteren CQ 5-Versionen nach AEM 6
  • Kopieren von Daten zwischen mehreren Oak-Repositorys
  • Konvertieren von Daten zwischen unterschiedlichen Oak-Mikrokernel-Implementierungen.
Die Unterstützung für die Migration von Repositorys mit externen BLOB-Speichern (allgemein als Datenspeicher bekannt) wird in unterschiedlicher Form bereitgestellt. Ein möglicher Migrationspfad ist von einem CRX2-Repository, das einen externen FileDataStore nutzt, auf ein Oak-Repository, das einen S3DataStore verwendet.
Das nachfolgende Diagramm zeigt alle von CRX2Oak unterstützten Migrationsoptionen:

Funktionen

CRX2OAK wird bei AEM-Aktualisierungen aufgerufen. Dabei kann der Benutzer ein vordefiniertes Migrationsprofil angeben, das die Rekonfiguration von Persistenzmodi automatisiert. Dies wird als Quickstart-Modus bezeichnet.
Das Tool kann auch separat ausgeführt werden, für den Fall, dass eine umfassendere Anpassung erforderlich ist. Beachten Sie jedoch, dass in diesem Modus Änderungen nur am Repository vorgenommen werden und dass jede weitere Neukonfiguration von AEM manuell durchgeführt werden muss. Dies wird als Standalone-Modus bezeichnet.
Eine weitere Besonderheit besteht darin, dass mit den Standardeinstellungen des Standalone-Modus nur der Knotenspeicher migriert wird und dass das neue Repository den alten Binärspeicher wiederverwendet.

Automatisierter Quickstart-Modus

Ab AEM 6.3 kann das CRX2OAK-Tool benutzerdefinierte Migrationsprofile verarbeiten. Diese können so konfiguriert werden, dass alle Migrationsoptionen bereits verfügbar sind. Damit wird die Flexibilität gesteigert und eine Automatisierung der AEM-Konfiguration ermöglicht. Funktionen wie diese stehen nicht zur Verfügung, wenn Sie das Tool im Standalone-Modus verwenden.
Um CRX2OAK in den Quickstart-Modus zu schalten, müssen Sie den Pfad zum Ordner „crx-quickstart“ im AEM-Installationsverzeichnis mithilfe der folgenden Betriebssystemvariablen definieren:
Für UNIX-basierte Systeme und Mac OS:
export SLING_HOME="/path/to/crx-quickstart"

Für Windows:
SET "SLING_HOME=/path/to/crx-quickstart"

Unterstützung für die Fortsetzung der Migration

Die Migration kann jederzeit unterbrochen und anschließend wieder fortgesetzt werden.

Anpassbare Aktualisierungslogik

Mithilfe von CommitHooks kann auch eine benutzerdefinierte Java-Logik implementiert werden. Benutzerdefinierte RepositoryInitializer -Klassen können implementiert werden, um das Repository mit benutzerdefinierten Werten zu initialisieren.

Unterstützung für Speicherzuordnungsvorgänge

CRX2OAK unterstützt standardmäßig auch Speicherzuordnungsvorgänge. Durch die Speicherzuordnung wird die Leistung erheblich verbessert. Diese Funktion sollte deshalb nach Möglichkeit verwendet werden.
Beachten Sie jedoch, dass Speicherzuordnungsvorgänge für Windows-Plattformen nicht unterstützt werden. Therefore, it is recommended to add the --disable-mmap parameter when performing the migration on Windows.

Selektive Migration von Inhalten

By default, the tool migrates the whole repository under the "/" path. Sie haben jedoch die vollständige Kontrolle darüber, welche Inhalte migriert werden sollen.
If there is any part of the content that is not required on the new instance, you can use the --exclude-path parameter to exclude the content and optimize the upgrade procedure.

Zusammenführung von Pfaden

If data needs to be copied between two repositories and you have a content path that is different on both instances, you can define it in the --merge-path parameter. CRX2OAK kopiert dann nur die neuen Knoten in das Ziel-Repository und behält die alten im anderen Repository bei.

Versionsunterstützung

Standardmäßig erstellt AEM eine Version jedes Knotens oder jeder Seite, der bzw. die geändert wird, und speichert diese/n im Repository. Diese Versionen können dann zum Wiederherstellen eines früheren Status der Seite verwendet werden.
Allerdings werden diese Versionen nie bereinigt, auch wenn die Originalseite gelöscht wird. Bei Repositorys, die bereits lange Zeit verwendet werden, muss bei der Migration möglicherweise ein hohes Volumen von redundanten Daten verarbeitet werden. Schuld daran sind verwaiste Versionen.
A useful feature for these types of situations is the addition of the --copy-versions parameter. Sie kann zum Überspringen der Versionsknoten während der Migration oder zum Kopieren eines Repositorys verwendet werden.
You can also choose whether to copy orphaned versions by adding --copy-orphaned-versions=true .
Both parameters also support a YYYY-MM-DD date format, in case you want to copy versions no later than a specific date.

Open-Source-Version

Eine Open-Source-Version von CRX2OAK ist als „Oak-Upgrade“ verfügbar. Es unterstützt alle Funktionen, mit Ausnahme der folgenden:
  • CRX2-Unterstützung
  • Unterstützung für Migrationsprofilen
  • Unterstützung für die automatisierte AEM-Neukonfiguration
See the Apache Documentation for more information.

Parameter

Knotenspeicheroptionen

  • --cache : Die Cache-Größe in MB (der Standardwert beträgt 256 )
  • --mmap : Aktivieren des Zugriffs auf die Speicherdatei für die Segmentspeicherung
  • --src-password: Das Kennwort für die RDB-Quell-Datenbank
  • --src-user: Der Benutzer für die Quell-RDB
  • --user : Der Benutzer für die Ziel-RDB
  • --password : Kennwort für die Ziel-RDB.

Migrationsoptionen

  • --early-shutdown : Fährt das JCR2-Quell-Repository nach dem Kopieren der Knoten herunter, bevor die CommitHooks angewendet werden
  • --fail-on-error : Erzwingt ein Fehlschlagen der Migration, wenn die Knoten nicht aus dem Quell-Repository gelesen werden können.
  • --ldap : Migriert LDAP-Benutzer von einer CQ 5.x-Instanz zu einer Oak-basierten Instanz. Dies funktioniert jedoch nur, wenn der Identitätsanbieter in der Oak-Konfiguration als „ldap“ angegeben ist. Weitere Informationen finden Sie in der LDAP-Dokumentation .
  • --ldap-config: Verwenden Sie dies in Verbindung mit dem --ldap Parameter für CQ 5.x-Repositorys, die mehrere LDAP-Server zur Authentifizierung verwendet haben. You can use it to point to the CQ 5.x ldap_login.conf or jaas.conf configuration files. Das Format ist --ldapconfig=path/to/ldap_login.conf .

Optionen für die Versionsspeicherung

  • --copy-orphaned-versions : Überspringt Kopieren verwaister Versionen. Parameters supported are: true , false and yyyy-mm-dd . Standardwert ist true .
  • --copy-versions: Kopiert den Versionsspeicher. Parameters: true , false , yyyy-mm-dd . Standardwert ist true .

Pfadoptionen

  • --include-paths: Kommagetrennte Liste der Pfade, die beim Kopieren einbezogen werden sollen
  • --merge-paths : Kommagetrennte Liste der beim Kopieren zusammenzuführenden Pfade
  • --exclude-paths: Eine kommagetrennte Liste der beim Kopieren auszuschließenden Pfade.

Quell BLOB-Speicheroptionen

  • --src-datastore: Der als Quelle zu verwendende Datenspeicher-Ordner FileDataStore
  • --src-fileblobstore : Der als Quelle zu verwendende Datenspeicher-Ordner FileBlobStore
  • --src-s3datastore : Der für die Quelle zu verwendende Datenspeicher-Ordner S3DataStore
  • --src-s3config : Die Konfigurationsdatei für die Quelle S3DataStore .

Ziel BLOB-Speicheroptionen

  • --datastore: Der als Ziel zu verwendende Datenspeicher-Ordner FileDataStore
  • --fileblobstore: Der als Ziel zu verwendende Datenspeicher-Ordner FileBlobStore
  • --s3datastore : Der für das Ziel zu verwendende Datenspeicher-Ordner S3DataStore
  • --s3config : Die Konfigurationsdatei für das Ziel S3DataStore .

Hilfeoptionen

  • -?, -h, --help: Zeigt Hilfeinformationen an.

Debugging

Sie können für den Migrationsvorgang auch Informationen zur Fehlerbehebung aktivieren, sodass potenziell auftretende Fehler behoben werden können. Hierzu gibt es verschiedene Optionen, je nachdem, in welchem Modus das Tool ausgeführt werden soll:
CRX2Oak-Modus Aktion
Quickstart-Modus You can add the --log-level TRACE or --log-level DEBUG options to the command line when running CRX2Oak. In this mode logs are automatically redirected to the upgrade.log file .
Standalone-Modus
Add the --trace options to the CRX2Oak command line to show TRACE events on standard output (you need to redirect logs yourself using redirection character: '>' or 'tee' command for later inspection).

Weitere Überlegungen

Bei der Migration auf eine MongoDB-Replikatgruppe muss der Parameter WriteConcern für alle Verbindungen mit der Mongo-Datenbank auf 2 gesetzt werden.
Hierzu können Sie den Parameter w=2 wie nachfolgend gezeigt am Ende der Verbindungszeichenfolge hinzufügen:
java -Xmx4092m -XX:MaxPermSize=1024m -jar crx2oak.jar crx-quickstart/repository/ mongodb://localhost:27017/aem-author?replicaset=replica1&w=2

Weitere Informationen finden Sie in der Dokumentation zur MongoDB-Verbindungszeichenfolge unter WriteConcerns .