使用CRX2Oak移轉工具

簡介

CRX2Oak是一種工具,旨在在不同資料庫之間移轉資料。

它可用來將舊版CQ中以Apache Jackrabbit 2為基礎的資料移轉至Oak,也可用來在Oak資料庫之間複製資料。

您可從公用Adobe存放庫下載最新版的crx2oak,網址為:
https://repo.adobe.com/nexus/content/groups/public/com/adobe/granite/crx2oak/

最新版本的變更和修正清單可在CRX2Oak發行說明中找到。

注意

有關Apache Oak和永久性主要概念的AEM詳細資訊,請參閱平台AEM簡介

遷移使用案例

此工具可用於:

  • 從舊版CQ 5移轉至AEM6
  • 在多個Oak資料庫之間複製資料
  • 在不同Oak MicroKernel實作之間轉換資料。

支援使用外部Blob儲存庫(通常稱為Data Stores)遷移儲存庫的不同組合。 一個可能的遷移路徑是從使用外部FileDataStore的CRX2儲存庫到使用S3DataStore的Oak儲存庫。

下圖說明CRX2Oak支援的所有可能移轉組合:

chlimage_1-151

功能

在升級期間會呼叫CRX2Oak,AEM讓使用者可以指定預先定義的移轉設定檔,以自動重新配置永續性模式。 這稱為快速啟動模式。

此外,您也可以個別執行,以備需要更多自訂時使用。 但是,請注意,在此模式下,僅對儲存庫進行更改,需要手動執AEM行任何其他重新配置。 這稱為獨立模式。

另一個要注意的是,在獨立模式下使用預設設定時,將只遷移節點儲存,新儲存庫將重新使用舊的二進位儲存。

自動快速啟動模式

自AEM6.3以來,CRX2Oak可處理使用者定義的移轉設定檔,這些設定檔可使用所有可用的移轉選項來設定。 這可讓您在獨立模式下使用工具時,擁有更高的彈性AEM,並可自動設定無法使用的功能。

要將CRX2Oak切換為快速啟動模式,您需要通過以下作業系統環境變數定義安裝目錄中crx-quickstartAEM資料夾的路徑:

對於基於UNIX的系統和macOS:

export SLING_HOME="/path/to/crx-quickstart?lang=zh-Hant"

針對Windows:

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

恢復支援

遷移可以隨時中斷,並有可能在之後恢復。

可自訂的升級邏輯

自訂Java邏輯cand也可使用CommitHooks來實作。 可以實施自定義RepositoryInitializer類,以便用自定義值初始化儲存庫。

支援記憶體映射操作

CRX2Oak也依預設支援記憶體映射作業。 記憶體映射可大大提高效能,應盡可能使用。

注意

但請注意,Windows平台不支援記憶體映射作業。 因此,建議在Windows上執行遷移時添加​**-disable-mmap**​參數。

選擇性遷移內容

預設情況下,該工具將整個儲存庫遷移到"/"路徑下。 不過,您可以完全控制應移轉的內容。

如果新實例中有任何內容不需要的部分,則可使用--exclude-path參數排除內容並優化升級過程。

合併的路徑

如果需要在兩個儲存庫之間複製資料,並且您在兩個實例上都有不同的內容路徑,則可以在--merge-path參數中定義該資料。 一旦完成,CRX2Oak將只將新節點複製到目標儲存庫,並保留舊節點。

chlimage_1-152

版本支援

預設情AEM況下,將建立修改的每個節點或頁的版本,並將其儲存在儲存庫中。 然後,這些版本可用來將頁面還原為舊版。

不過,即使刪除原始頁面,這些版本也不會清除。 在處理長期運行的儲存庫時,遷移可能需要處理由孤立版本造成的大量冗餘資料。

對於這些類型的情況,一個有用的功能是添加--copy-versions參數。 它可用於在遷移或複製儲存庫期間跳過版本節點。

您也可以選擇是否通過添加--copy-orphaned-versions=true來複製孤立版本。

這兩個參數也支援YYYY-MM-DD日期格式,以備您要在特定日期之前復製版本時使用。

chlimage_1-153

開放原始碼版本

CRX2Oak的開放原始碼版本以oak-upgrade的形式提供。 它支援除以下功能之外的所有功能:

  • CRX2支援
  • 移轉設定檔支援
  • 支援自動重AEM新配置

如需詳細資訊,請參閱Apache Documentation

參數

節點儲存選項

  • --cache:快取大小(以MB為單位)(預設為 256)

  • --mmap:啟用區段存放區的記憶體對應檔案存取

  • --src-password: 源RDB資料庫的口令

  • --src-user: 源RDB的用戶

  • --user:目標RDB的用戶

  • --password:目標RDB的口令。

遷移選項

  • --early-shutdown:在複製節點後和應用提交掛接之前關閉源JCR2儲存庫

  • --fail-on-error:如果無法從源儲存庫讀取節點,則強制遷移失敗。

  • --ldap:將LDAP使用者從CQ 5.x執行個體移轉至Oak架構的執行個體。為了讓這項功能運作,Oak組態中的身分提供者必須命名為ldap。 有關詳細資訊,請參見LDAP文檔

  • --ldap-config: 將其與使用多個LDAP服 --ldap 務器進行身份驗證的CQ 5.x儲存庫參數結合使用。您可使用它指向CQ 5.x ldap_login.confjaas.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

目標BlobStore選項

  • --datastore: 要用作目標的資料儲存目錄 FileDataStore

  • --fileblobstore: 要用作目標的資料儲存目錄 FileBlobStore

  • --s3datastore:要用於目標的資料儲存目錄 S3DataStore

  • --s3config:目標的配置檔案 S3DataStore

幫助選項

  • -?, -h, --help: 顯示說明資訊。

調試

您也可以啟用移轉程式的除錯資訊,以疑難排解程式中可能出現的問題。 您可以根據要在以下位置運行工具的模式,以不同的方式執行此操作:

CRX2Oak模式 動作
快速啟動模式 運行CRX2Oak時,可將—log-levelTRACE—log-level DEBUG 選項添加到命令行中。 在此模式下,日誌會自動重定向到upgrade.log檔案
獨立模式

-trace選項添加到CRX2Oak命令行中,以顯示標準輸出上的TRACE事件(您需要使用重定向字元重新定向日誌:'>'或'tee'命令,以供稍後檢查)。

其他考量事項

遷移到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連線字串檔案。

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now