現在表示中:

はじめに

CRX2Oak は、異なるリポジトリ間でデータを移行するために設計されたツールです。

このツールを使用して、Apache Jackrabbit 2 をベースとする以前の CQ バージョンから Oak にデータを移行したり、Oak リポジトリ間でデータをコピーしたりできます。

最新バージョンの crx2oak は、次の場所で公開されているアドビリポジトリからダウンロードできます。
https://repo.adobe.com/nexus/content/groups/public/com/adobe/granite/crx2oak/

最新バージョンの変更点と修正点の一覧は、CRX2Oak のリリースノートにあります。

注意:

Apache Oak と AEM の永続性の主要な概念について詳しくは、AEM プラットフォームの紹介を参照してください。

移行のユースケース

このツールでは以下のことが可能です。

  • 以前の CQ 5 バージョンから AEM 6 への移行
  • 複数の Oak リポジトリ間でのデータのコピー
  • 異なる Oak マイクロカーネル実装間でのデータの変換

外部の BLOB ストア(一般的にはデータストアとして知られる)を使用したリポジトリ移行のサポートは、様々な組み合わせで提供されています。考えられる移行パスの 1 つは、外部 FileDataStore を使用する CRX2 リポジトリから S3DataStore を使用する Oak リポジトリへの移行です。

下の図は、CRX2Oak がサポートしているすべての移行の組み合わせを示したものです。

機能

CRX2Oak は、AEM 6.1 へのアップグレード時に自動的に呼び出されますが、さらにカスタマイズが必要な場合に手動で実行することもできます。

デフォルトの設定では、ノードストアのみが移行され、新しいリポジトリが古いバイナリストレージを再利用します。

サポートの再開

移行はいつでも中断でき、後で再開することができます。

カスタマイズ可能なアップグレードロジック

コミットフックを使用して、カスタム Java ロジックも実装できます。カスタム RepositoryInitializer クラスを実装して、カスタム値でリポジトリを初期化できます。

メモリマップ操作のサポート

CRX2Oak は、--mmap パラメーターを使用してメモリマップ操作もサポートします。メモリマップはパフォーマンスを大幅に向上させるので、可能な場合は常に使用する必要があります。

コンテンツの選択的移行

デフォルトでは、このツールは「/」パスの下にあるリポジトリ全体を移行します。しかし、どのコンテンツを移行するかは完全に制御できます。

新しいインスタンスに不要な部分がコンテンツにある場合は、--exclude-path パラメーターを使用してそのコンテンツを除外し、アップグレード手順を最適化できます。

パスの結合

2 つのリポジトリ間でデータをコピーする必要があり、両方のインスタンス上でコンテンツパスが異なる場合は、--merge-path パラメーターでコンテンツパスを定義できます。定義すると、CRX2Oak は新しいノードのみをコピー先リポジトリにコピーし、古いノードは元の場所に保持します。

バージョンのサポート

デフォルトでは、AEM は変更されたノードまたはページごとにバージョンを作成し、リポジトリ内に保存します。これらのバージョンを使用して、ページを以前の状態に復元できます。

ただし、元のページが削除されても、これらのバージョンはパージされません。長時間使用されているリポジトリを扱う場合は、孤立したバージョンによって生じた多数の冗長なデータを移行で処理しなければならないことがあります。

このような状況に役立つ機能は、--copy-versions パラメーターを付加することです。このパラメーターを使用すると、移行またはリポジトリのコピー中に、バージョンノードをスキップできます。

--copy-orphaned-versions=true を付加して、孤立したバージョンをコピーするかどうかを選択することもできます。

特定の日付までのバージョンをコピーする場合、どちらのパラメーターも日付形式 YYYY-MM-DD をサポートしています。

オープンソース版

オープンソース版の CRX2Oak は、oak-upgrade の形で入手できます。このツールは、CRX2 サポートを除くすべての機能をサポートしています。詳しくは、Apache に関するドキュメントを参照してください。

パラメーター

ノードストアオプション

  • --cache:MB 単位でのキャッシュサイズ(デフォルトは 256
  • --mmap:セグメントストア用のメモリマップファイルアクセスを有効化します
  • --src-password:ソース RDB データベースのパスワード
  • --src-user:ソース RDB のユーザー
  • --user:ターゲット RDB のユーザー
  • --password:ターゲット RDB のパスワード

移行オプション

  • --early-shutdown:ノードのコピー後、コミットフックの適用前に、ソース JCR2 リポジトリをシャットダウンします
  • --fail-on-error:ソースリポジトリからノードを読み取れない場合、強制的に移行を失敗させます
  • --skip-on-error:移行中にエラーが発生した場合に例外をスローしません。代わりに警告がログに記録されます。障害が発生したノードはスキップされ、ターゲットリポジトリ内での制約違反を回避するために、親のプライマリタイプが nt:unstructured に設定されます。
  • --ldap:LDAP ユーザーを CQ 5.x インスタンスから Oak ベースのインスタンスに移行します。この機能を有効にするには、Oak 設定内の ID プロバイダーを ldap という名前にする必要があります。詳しくは、LDAP に関するドキュメントを参照してください。
  • --ldap-config:認証に複数の LDAP サーバーを使用していた CQ 5.x リポジトリに対しては、このパラメーターと --ldap パラメーターを併用します。このパラメーターを使用して、CQ 5.x の ldap_login.conf または jaas.conf 設定ファイルを指すことができます。形式は --ldapconfig=path/to/ldap_login.conf です。

バージョンストアオプション

  • --copy-orphaned-versions:孤立したバージョンのコピーをスキップします。サポートされているパラメーターは、truefalseyyyy-mm-dd です。デフォルトは true です。
  • --copy-versions:バージョンストレージをコピーします。パラメーターは、truefalseyyyy-mm-dd です。デフォルトは true です。

パスオプション

  • --include-paths:コピー時に含めるパスのコンマ区切りのリスト
  • --merge-paths:コピー時に結合するパスのコンマ区切りのリスト
  • --exclude-paths:コピー時に除外するパスのコンマ区切りのリスト

コピー元 BLOB ストアオプション

  • --src-datastore:ソース FileDataStore として使用するデータストアディレクトリ
  • --src-fileblobstore:ソース FileBlobStore として使用するデータストアディレクトリ
  • --src-s3datastore:ソース S3DataStore として使用するデータストアディレクトリ
  • --src-s3config:ソース S3DataStore の設定ファイル。

コピー先 BLOB ストアオプション

  • --datastore:ターゲット FileDataStore として使用するデータストアディレクトリ
  • --fileblobstore:ターゲット FileBlobStore として使用するデータストアディレクトリ
  • --s3datastore:ターゲット S3DataStore として使用するデータストアディレクトリ
  • --s3config:ターゲット S3DataStore の設定ファイル。

ヘルプオプション

  • -?、-h、--help:ヘルプ情報を表示します。

デバッグ

処理中に発生する可能性があるすべての問題をトラブルシューティングするために、移行プロセス用のデバッグ情報を有効にすることもできます。この情報を出力するには、次の操作をおこないます。

  1. 以下の logback.xml ファイルをダウンロードして、移行を実行しているサーバー上に配置します。

    ダウンロード

  2. 次のように、logback パラメーター付きで crx2oak ツールを実行します。

    java -Dlogback.configurationFile=logback.xml -jar crx2oak.jar [source repository] [target repository]
  3. migration.log ファイルを監視します。

その他の注意点

MongoDB 複製セットに移行する場合は、Mongo データベースへのすべての接続で、WriteConcern パラメーターを 2 に設定します。

次のように、接続文字列の末尾に w=2 パラメーターを付加することによって設定できます。

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

注意:

詳しくは、MongoDB の接続文字列に関するドキュメントで書き込み確認について参照してください。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー