Sie sehen sich Hilfeinhalte der folgenden Version an:

Einführung

CRX2OAK ist ein Tool für die Migration von Daten zwischen verschiedenen Repositorys.

Es kann zum Migrieren von Daten älterer CQ-Versionen, die auf Apache Jackrabbit 2 basieren, auf Oak verwendet werden, sowie zum Kopieren von Daten zwischen Oak-Repositorys.

Die aktuelle CRX2OAK-Version kann unter folgender 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.

Hinweis:

Weitere Informationen zu Apache Oak sowie zu den Grundkonzepten der AEM-Persistenz finden Sie unter Einführung in die AEM Plattform.

Nutzungsszenarien für die Migration

Das Tool kann für folgende Szenarien verwendet werden:

  • Migration von älteren CQ 5-Versionen auf AEM 6
  • Kopieren von Daten zwischen mehreren Oak-Repositorys
  • Konvertieren von Daten zwischen unterschiedlichen Oak-Mikrokernel-Implementierungen

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:

chlimage_1

Funktionen

CRX2OAK wird bei AEM-Aktualisierungen aufgerufen. Dabei kann der Benutzer ein vordefiniertes Migrationsprofil angeben, das die Neukonfiguration von Persistenzmodi automatisiert. Dies wird als Quickstart-Modus bezeichnet.

Das Tool kann auch separat ausgeführt werden, wenn eine umfassendere Anpassung erforderlich ist. Beachten Sie jedoch, dass Änderungen in diesem Modus nur am Repository vorgenommen werden und dass jede weitere Neukonfiguration von AEM manuell durchgeführt werden muss. Dies wird als eigenständiger Modus bezeichnet.

Ebenfalls zu beachten ist, dass mit den Standardeinstellungen des eigenständigen 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, die so konfiguriert werden können, 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 eigenständigen 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.

Vorsicht:

Beachten Sie jedoch, dass Speicherzuordnungsvorgänge für Windows-Plattformen nicht unterstützt werden. Es wird deshalb empfohlen, bei einer Migration unter Windows den Parameter --disable-mmap hinzuzufügen.

Selektives Migrieren von Inhalten

Standardmäßig migriert das Tool das gesamte Repository unter dem Pfad „/“. Sie haben jedoch die vollständige Kontrolle darüber, welche Inhalte migriert werden sollen.

Falls ein Teil der Inhalte auf der neuen Instanz nicht benötigt wird, können Sie diesen Teil mithilfe des Parameters --exclude-path ausschließen und den Aktualisierungsvorgang so optimieren.

Pfadzusammenführung

Wenn Daten zwischen zwei Repositorys kopiert werden müssen und der Inhaltspfad auf beiden Instanzen unterschiedlich ist, können Sie diesen im Parameter --merge-path definieren. CRX2OAK kopiert dann nur die neuen Knoten in das Ziel-Repository und behält die alten im anderen Repository bei.

chlimage_1

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.

In Szenarien wie diesen ist das Hinzufügen des Parameters --copy-versions nützlich. Er kann verwendet werden, um Versionsknoten während der Migration oder beim Kopieren eines Repositorys zu überspringen.

Darüber hinaus können Sie festlegen, ob verwaiste Versionen kopiert werden sollen, indem Sie den Parameter --copy-orphaned-versions=true hinzufügen.

Beide Parameter unterstützen außerdem ein JJJJ-MM-TT-Datumsformat, falls Sie Versionen bis zu einem bestimmten Datum kopieren möchten.

chlimage_1

Open-Source-Version

Eine Open-Source-Version von CRX2OAK steht in Form von „oak-upgrade“ zur Verfügung. Sie unterstützt alle diese Funktionen, mit Ausnahme der folgenden:

  • CRX2-Unterstützung
  • Unterstützung für Migrationsprofile
  • Unterstützung für die automatisierte AEM-Neukonfiguration

Weitere Informationen finden Sie in der Apache-Dokumentation.

Parameter

Knotenspeicheroptionen

  • --cache: Die Cache-Größe in MB (der Standardwert ist 256)
  • --mmap: Ermöglicht Speicherzuordnungs-Dateizugriff für den Segmentspeicher
  • --src-password: Das Kennwort für die Quell-RDB
  • --src-user: Der Benutzer für die Quell-RDB
  • --user: Der Benutzer für die Ziel-RDB
  • --password: Das 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 auf eine Oak-basierte 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 diese Option zusammen mit dem Parameter --ldap für CQ 5.x-Repositorys die mehrere LDAP-Server für die Authentifizierung verwendet haben. Sie können damit auf die CQ 5.x-Konfigurationsdateien ldap_login.conf oder jaas.conf verweisen. Das Format lautet --ldapconfig=path/to/ldap_login.conf.  

Versionsspeicheroptionen

  • --copy-orphaned-versions: Überspringt das Kopieren von verwaisten Versionen. Folgende Parameter werden unterstützt: true, false und yyyy-mm-dd. Der Standardwert lautet true.
  • --copy-versions: Kopiert den Versionsspeicher. Parameter: true, false, yyyy-mm-dd. Der Standardwert lautet true.

Pfadoptionen

  • --include-paths: Eine kommagetrennte Liste der beim Kopieren mit einzuschließenden Pfade.
  • --merge-paths: Eine kommagetrennte Liste der beim Kopieren zusammenzuführenden Pfade.
  • --exclude-paths: Eine kommagetrennte Liste der beim Kopieren auszuschließenden Pfade.

Quell-BLOB-Speicheroptionen

  • --src-datastore: Das als Quell-FileDataStore zu verwendende Datenspeicherverzeichnis.
  • --src-fileblobstore: Das als Quell-FileBlobStore zu verwendende Datenspeicherverzeichnis.
  • --src-s3datastore: Das für den Quell-S3DataStore
    zu verwendende Datenspeicherverzeichnis.
  • --src-s3config: Die Konfigurationsdatei für den Quell-S3DataStore.

Ziel-BLOB-Speicheroptionen

  • --datastore: Das als Ziel-FileDataStore zu verwendende Datenspeicherverzeichnis.
  • --fileblobstore: Das als Ziel-FileBlobStore zu verwendende Datenspeicherverzeichnis.
  • --s3datastore: Das für den Ziel-S3DataStore zu verwendende Datenspeicherverzeichnis.
  • --s3config: Die Konfigurationsdatei für den Ziel-S3DataStore.

Hilfeoptionen

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

Debugging

Für den Migrationsvorgang können auch Debugging-Informationen aktiviert werden, damit 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 Beim Ausführen von CRX2OAK können Sie die Optionen --log-level TRACE oder --log-level DEBUG zur Befehlszeile hinzufügen. In diesem Modus werden Protokolle automatisch an die upgrade.log-Datei umgeleitet.
Eigenständiger Modus

Fügen Sie die Optionen --trace zur CRX2OAK-Befehlszeile hinzu, um TRACE-Ereignisse zur späteren Untersuchung an die Datei migration.log umzuleiten.

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

Hinweis:

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

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie