Använda CRX2Oak Migration Tool

Senaste uppdatering: 2023-10-30
  • Skapat för:
  • Developer

Introduktion

CRX2Oak är ett verktyg som är utformat för att migrera data mellan olika databaser.

Den kan användas för att migrera data från äldre CQ-versioner baserade på Apache Jackrabbit 2 till Oak, och den kan också användas för att kopiera data mellan Oak-databaser.

Du kan hämta den senaste versionen av crx2oak från den offentliga Adobe-databasen på den här platsen:
https://repo1.maven.org/maven2/com/adobe/granite/crx2oak/

OBSERVERA

Mer information om Apache Oak och viktiga koncept för Adobe Experience Manager (AEM) persistence finns i Introduktion till AEM.

Användningsexempel vid migrering

Verktyget kan användas för:

  • Migrera från äldre CQ 5-versioner till AEM 6
  • Kopiera data mellan flera Oak-databaser
  • Konverterar data mellan olika Oak MicroKernel-implementeringar.

Stöd för att migrera databaser med externa blobbarkiv (kallas ofta datalager) finns i olika kombinationer. En möjlig migreringsväg är från en CRX2-databas som använder en extern FileDataStore till en Oak-databas med S3DataStore.

Bilden nedan visar alla möjliga migreringskombinationer som stöds av CRX2Oak:

chlimage_1-151

Funktioner

CRX2Oak anropas under AEM uppgraderingar på ett sätt där användaren kan ange en fördefinierad migreringsprofil som automatiserar omkonfigureringen av beständiga lägen. Detta kallas snabbstartsläge.

Den kan också köras separat om den kräver mer anpassning. I det här läget görs dock endast ändringar i databasen och eventuella ytterligare omkonfigurationer av AEM måste utföras manuellt. Detta kallas fristående läge.

En annan sak att tänka på är att med standardinställningarna i fristående läge migreras endast nodarkivet och den nya databasen återanvänder den gamla binära lagringen.

Automatiserat snabbläge

Sedan AEM 6.3 kan CRX2Oak hantera användardefinierade migreringsprofiler som kan konfigureras med alla migreringsalternativ som redan är tillgängliga. Detta ger både större flexibilitet och möjlighet att automatisera konfigurationen av AEM, funktioner som inte är tillgängliga om du använder verktyget i fristående läge.

Om du vill växla CRX2Oak till snabbredigeringsläge anger du sökvägen till mappen crx-quickstart i AEM installationskatalog med hjälp av den här systemvariabeln i operativsystemet:

För UNIX-baserade system och macOS:

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

För Windows:

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

Återuppta support

Migreringen kan avbrytas när som helst, med möjlighet att återuppta den efteråt.

Anpassningsbar uppgraderingslogik

Anpassad Java™-logik kan implementeras med CommitHooks. Egen RepositoryInitializer kan implementeras för att initiera databasen med anpassade värden.

Stöd för minnesmappningsåtgärder

CRX2Oak stöder även minnesmappade åtgärder som standard. Minnesmappning förbättrar prestanda avsevärt och bör användas när det är möjligt.

FÖRSIKTIGHET

Observera dock att minnesmappade åtgärder inte stöds för Windows-plattformar. Därför rekommenderar vi att du lägger till —disable-mmap -parametern när migreringen utförs i Windows.

Selektiv migrering av innehåll

Som standard migrerar verktyget hela databasen under "/" bana. Du har dock fullständig kontroll över vilket innehåll som ska migreras.

Om det finns någon del av innehållet som inte krävs för den nya instansen kan du använda --exclude-path -parameter för att exkludera innehållet och optimera uppgraderingsproceduren.

Bansammanslagning

Om data måste kopieras mellan två databaser och du har en innehållssökväg som är annorlunda på båda instanserna, kan du definiera den i --merge-path parameter. När du gör det kopierar CRX2Oak bara de nya noderna till måldatabasen och behåller de gamla på plats.

chlimage_1-152

Versionsstöd

Som standard skapar AEM en version av varje nod eller sida som ändras och lagrar den i databasen. Versionerna kan sedan användas för att återställa sidan till ett tidigare läge.

Dessa versioner rensas dock aldrig även om originalsidan tas bort. När du hanterar databaser som har varit i drift under en längre tid kan migreringen bearbeta om överflödiga data som har orsakats av överblivna versioner.

En användbar funktion för den här typen av situationer är tillägget --copy-versions parameter. Den kan användas för att hoppa över versionsnoderna under migrering eller kopiering av en databas.

Du kan också välja om du vill kopiera överblivna versioner genom att lägga till --copy-orphaned-versions=true.

Båda parametrarna har även stöd för YYYY-MM-DD datumformat, om du vill kopiera versioner senast ett visst datum.

chlimage_1-153

Open Source Version

En öppen källkodsversion av CRX2Oak finns i form av ekuppgradering. Det har stöd för alla funktioner förutom:

  • Stöd för CRX2
  • Stöd för migreringsprofiler
  • Stöd för automatisk AEM

Se Apache-dokumentation för mer information.

Parametrar

Alternativ för nodlagring

  • --cache: Cachestorlek i MB (standard är 256)

  • --mmap: Aktivera minnesmappad filåtkomst för segmentarkivet

  • --src-password: Lösenord för käll-RDB-databasen

  • --src-user: Användare för käll-RDB

  • --user: Användare för mål-RDB

  • --password: Lösenord för mål-RDB.

Migreringsalternativ

  • --early-shutdown: Stänger JCR2-källdatabasen efter att noderna har kopierats och innan implementeringshookarna tillämpas

  • --fail-on-error: Tvingar ett migreringsfel om noderna inte kan läsas från källdatabasen.

  • --ldap: Flyttar LDAP-användare från en CQ 5.x-instans till en Oak-baserad. För att detta ska fungera måste identitetsprovidern i Oak-konfigurationen ha namnet ldap. Mer information finns i LDAP-dokumentation.

  • --ldap-config: Använd det här med --ldap parameter för CQ 5.x-databaser som använde flera LDAP-servrar för autentisering. Du kan använda den för att peka på CQ 5.x ldap_login.conf eller jaas.conf konfigurationsfiler. Formatet är --ldapconfig=path/to/ldap_login.conf.

Alternativ för Versionsarkiv

  • --copy-orphaned-versions: Hoppar över kopiering av överblivna versioner. Följande parametrar stöds: true, falseoch yyyy-mm-dd. Standardvärdet är true.

  • --copy-versions: Kopierar versionslagringen. Parametrar: true, false, yyyy-mm-dd. Standardvärdet är true.

Banalternativ

  • --include-paths: Kommaavgränsad lista med sökvägar som ska inkluderas vid kopiering
  • --merge-paths: Kommaavgränsad lista med sökvägar som ska sammanfogas vid kopiering
  • --exclude-paths: Kommaavgränsad lista med sökvägar som ska uteslutas vid kopiering.

Alternativ för källblobbutik

  • --src-datastore: Den datalagerkatalog som ska användas som källa FileDataStore

  • --src-fileblobstore: Den datalagerkatalog som ska användas som källa FileBlobStore

  • --src-s3datastore: Den datalagerkatalog som ska användas för källan S3DataStore

  • --src-s3config: Källans konfigurationsfil S3DataStore.

Alternativ för målblobStore

  • --datastore: Den datalagerkatalog som ska användas som mål FileDataStore

  • --fileblobstore: Den datalagerkatalog som ska användas som mål FileBlobStore

  • --s3datastore: Den datalagerkatalog som ska användas för målet S3DataStore

  • --s3config: Konfigurationsfilen för målet S3DataStore.

Hjälpalternativ

  • -?, -h, --help: Visar hjälpinformation.

Felsökning

Du kan även aktivera felsökningsinformation för migreringsprocessen för att felsöka problem som kan uppstå under processen. Du kan göra detta på olika sätt beroende på vilket läge du vill köra verktyget i:

CRX2Oak-läge Åtgärd
Snabbstartsläge Du kan lägga till —log-level TRACE eller —log-level DEBUG till kommandoraden när CRX2Oak körs. I det här läget omdirigeras loggarna automatiskt till upgrade.log file.
Fristående läge

Lägg till —trace alternativ till kommandoraden för CRX2Oak så att du kan visa TRACE-händelser för standardutdata (du måste omdirigera loggar dig själv med omdirigeringstecknet: > eller T-kommandot för senare kontroll).

Andra överväganden

När du migrerar till en MongoDB-replikuppsättning måste du ange WriteConcern parameter till 2 på alla anslutningar till Mongo-databaserna.

Du kan göra detta genom att lägga till w=2 -parametern i slutet av anslutningssträngen så här:

java -Xmx4092m -jar crx2oak.jar crx-quickstart/repository/ mongodb://localhost:27017/aem-author?replicaset=replica1&w=2
OBSERVERA

Mer information finns i dokumentationen för anslutningssträngen för MongoDB på Skrivproblem.

På denna sida