CRX2Oak 마이그레이션 도구 사용

소개

CRX2Oak는 다른 저장소 간에 데이터를 마이그레이션하도록 설계된 도구입니다.

Apache Jackrabbit 2를 기반으로 이전 CQ 버전에서 Oak로 데이터를 마이그레이션하는 데 사용할 수 있으며 Oak 저장소 간에 데이터를 복사하는 데에도 사용할 수 있습니다.

다음 위치의 공용 Adobe 저장소에서 최신 버전의 crx2oak를 다운로드할 수 있습니다.
https://repo.adobe.com/nexus/content/groups/public/com/adobe/granite/crx2oak/

최신 버전의 변경 사항 및 수정 사항은 CRX2Oak 릴리스 노트를 참조하십시오.

노트

Apache Oak 및 AEM 지속형의 주요 개념에 대한 자세한 내용은 AEM 플랫폼 소개를 참조하십시오.

마이그레이션 사용 사례

이 도구는 다음 용도로 사용할 수 있습니다.

  • 이전 CQ 5 버전에서 AEM 6으로 마이그레이션
  • 여러 Oak 저장소 간에 데이터 복사
  • 서로 다른 Oak MicroKernel 구현 간에 데이터 변환

외부 Blob 저장소(일반적으로 데이터 저장소라고 함)를 사용한 저장소 마이그레이션에 대한 지원이 다른 조합으로 제공됩니다. 한 가지 가능한 마이그레이션 경로는 CRX2 저장소에서 가져온 것입니다. 이 저장소에서는 외부 FileDataStore 를 사용하여 Oak 저장소에 대한 마이그레이션 경로를 사용합니다 S3DataStore.

아래 다이어그램은 CRX2Oak에서 지원하는 모든 가능한 마이그레이션 조합을 보여 줍니다.

chlimage_1-151

기능

CRX2Oak는 사용자가 지속성 모드 재구성을 자동화하는 사전 정의된 마이그레이션 프로필을 지정할 수 있는 방식으로 AEM 업그레이드 동안 호출됩니다. 이를 빠른 시작 모드라고 합니다.

또한 사용자 지정이 필요한 경우 별도로 실행할 수 있습니다. 그러나 이 모드에서는 저장소에만 변경 사항이 적용되며 AEM의 추가 재구성은 수동으로 수행해야 합니다. 이를 독립 실행형 모드라고 합니다.

또 다른 주목할 점은 독립 실행형 모드에서 기본 설정을 사용할 경우 노드 스토어만 마이그레이션되고 새 저장소가 이전 이진 저장소를 다시 사용하게 된다는 것입니다.

자동화된 빠른 시작 모드

AEM 6.3부터 CRX2Oak은 이미 사용 가능한 모든 마이그레이션 옵션으로 구성할 수 있는 사용자 정의 마이그레이션 프로필을 처리할 수 있습니다. 따라서 독립형 모드에서 이 도구를 사용하는 경우 사용할 수 없는 기능인 AEM의 구성을 자동화하는 기능과 더 높은 유연성을 얻을 수 있습니다.

CRX2Oak를 빠른 시작 모드로 전환하려면 이 운영 체제 환경 변수를 통해 AEM 설치 디렉토리에서 crx-quickstart 폴더에 대한 경로를 정의해야 합니다.

UNIX 기반 시스템 및 macOS의 경우:

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

Windows의 경우:

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

지원 다시 시작

마이그레이션은 언제든지 중단되고 이후에 다시 시작할 수 있습니다.

맞춤형 업그레이드 로직

사용자 지정 Java 로직을 사용하여 구현할 수도 있습니다 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 재구성 지원

See the Apache Documentation for more information.

매개 변수

노드 저장소 옵션

  • --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 구성의 ID 공급자 이름을 ldap로 지정해야 합니다. For more information, see the LDAP documentation.

  • --ldap-config: 인증을 위해 여러 LDAP 서버를 사용한 CQ 5.x 저장소의 --ldap 매개 변수와 함께 사용합니다. CQ 5.x 또는 구성 파일을 가리키는 데 사용할 수 ldap_login.conf 있습니다 jaas.conf . 형식은 --ldapconfig=path/to/ldap_login.conf입니다.

버전 저장소 옵션

  • --copy-orphaned-versions: 분리된 버전 복사를 건너뜁니다. 지원되는 매개 변수는 다음과 같습니다. true, false and yyyy-mm-dd. Defaults to true.

  • --copy-versions: 버전 저장소를 복사합니다. Parameters: true, false, yyyy-mm-dd. Defaults to 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: 도움말 정보를 표시합니다.

디버깅

프로세스 중에 나타날 수 있는 문제를 해결하기 위해 마이그레이션 프로세스에 대한 디버그 정보를 활성화할 수도 있습니다. 도구를 실행할 모드에 따라 다음과 같이 다르게 수행할 수 있습니다.

CRX2Oak 모드 작업
빠른 시작 모드 CRX2Oak를 실행할 때 —로그 수준 TRACE 또는 —로그 수준 DEBUG 옵션을 명령줄에 추가할 수 있습니다. 이 모드에서는 로그가 자동으로 upgrade.log 파일로 리디렉션됩니다.
독립 실행형 모드

표준 출력에 TRACE 이벤트를 표시하려면 —trace 옵션을 CRX2Oak 명령줄에 추가합니다(리디렉션 문자를 사용하여 직접 로그를 리디렉션해야 함). 나중에 검사할 수 있도록 '>' 또는 '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
노트

자세한 내용은 Write Consists에 대한 MongoDB 연결 문자열 설명서를 참조하십시오.

이 페이지에서는