메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

새 IBM Lotus Connections 2.5 마이그레이션 도구 사용하기

Xie Ling, Staff Software Engineer, IBM
Xie Ling is a Staff Software Engineer at the IBM China Software Development Lab in Shanghai. He has worked on the Lotus Connections Functional Verification Test (FVT) team since August 2007, before which he worked as a developer for IBM Workplace for Business Controls and Reporting. He earned a Master's degree in Computer Application Technology from Zhejiang University. You can reach Ling at xieling@cn.ibm.com.
Fan Xiang Jun, Software Engineer, IBM
Fan Xiang Jun is a Software Engineer at the IBM China Software Development Lab in Shanghai, where he's been a member of the Lotus Connections Functional Verification Test team since March 2009. You can reach him at xjfanxj@cn.ibm.com.
Zhang Jun Jing, Staff Software Engineer, IBM
Zhang Jun Jing is a Staff Software Engineer on the Lotus Connections Installer Development team at the IBM China Software Development Lab. He has worked in this field for more than two years, focusing mainly on the development of the installer and wizards. You can reach him at jjzhang@cn.ibm.com.

요약:  새로운 IBM® Lotus® Connections 2.5 마이그레이션 도구에 대해 설명하는 이 기사에서는 도구의 아키텍처, 사용법 및 오류를 해결하고 복구를 수행하는 방법에 대해 살펴봅니다. 새 마이그레이션 도구는 XSLT(Extensible Stylesheet Language Transformation) 기술을 기반으로 하며 구성을 수동으로 다시 적용하지 않고 필요한 모든 아티팩트를 효율적으로 쉽게 마이그레이션할 수 있는 방법을 제공합니다.

원문 게재일:  2010 년 8 월 24 일 번역 게재일:   2010 년 11 월 30 일
난이도:  중급 원문:  보기
페이지뷰:  4904 회
의견:  


편집자 주: 이 주제에 대해 많이 알고 있습니까? 전문 지식을 공유하길 원합니까? IBM Lotus 소프트웨어 wiki 프로그램에 지금 참여하십시오.

Lotus Connections 위키

소개

기존 Lotus Connections 버전을 마이그레이션할 경우에는 아티팩트를 마이그레이션하는 작업이 중요하다. 버전 2.0.1의 마이그레이션 도구에서도 이 작업을 어느 정도 수행할 수 있다. 예를 들어, 일부 구성과 모든 데이터 파일을 마이그레이션할 수 있다. 하지만 많은 구성을 수동으로 사용자 정의해야 하며, 이는 마이그레이션 프로세스에서 가장 힘든 작업 중 하나이다.

Lotus Connections 2.5에서는 더 많은 구성을 마이그레이션할 수 있도록 새 기능이 추가되었다. XSLT 기술을 기반으로 하는 최신 마이그레이션 도구는 필요한 모든 구성과 데이터 파일을 효율적으로 쉽게 마이그레이션할 수 있는 방법을 제공한다. 이 도구를 사용하면 모든 구성을 수동으로 다시 적용하지 않아도 된다.

이 기사에서는 Lotus Connections 2.5 마이그레이션 도구를 사용하고, 오류를 해결하고, 복구를 수행하는 방법에 대해 설명하므로 마이그레이션 도구를 이해하고 기존 Lotus Connections 환경의 아티팩트를 올바르게 마이그레이션할 수 있다.

이 기사에서는 독자가 IBM WebSphere® Application Server를 잘 알고 있고 XSLT 및 XPath(XML Path Language) 기술에 대해서도 어느 정도 이해하고 있다고 가정한다.


아키텍처 및 작업 메커니즘

Lotus Connections V2.5 마이그레이션 도구의 아키텍처 개요부터 살펴보자. 그림 1에서는 마이그레이션 도구의 상위 레벨 런타임 토폴로지를 보여 준다.


그림 1. 마이그레이션 도구의 런타임 토폴로지
마이그레이션 도구의 런타임 토폴로지

데이터 파일 마이그레이션에 사용되는 메커니즘은 소스 및 대상 데이터 파일 목록이 다르다는 점만 제외하면 Lotus Connections 2.0.1의 메커니즘과 거의 동일하며, XML 구성 파일을 마이그레이션하는 메커니즘은 완전히 다르다. 그림 2에서는 마이그레이션 도구의 작업 메커니즘을 보여 준다.


그림 2. XML 구성 파일의 마이그레이션 작업 메커니즘
XML 구성 파일의 마이그레이션 작업 메커니즘

그림 3에서는 XML 구성 파일 마이그레이션의 단순화된 보기를 보여 준다. 육각형 요소는 지원 파일을 나타내고, 사각형 요소는 XML 구성 파일을 나타낸다. XML 구성 파일 마이그레이션의 전개 프로세스를 볼 수 있다.


그림 3. XML 구성 파일을 마이그레이션하는 데 사용되는 작업 메커니즘의 단순화된 보기
XML 구성 파일을 마이그레이션하는 데 사용되는 작업 메커니즘의 단순화된 보기

XML 구성 파일은 다음 디렉토리 아래에 있다.

<WAS_HOME>/AppServer/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config

여기서,

  • <WAS_HOME>은 WebSphere Application Server의 설치 위치이다.
  • <PROFILE_NAME>은 Lotus Connections의 프로파일 이름이다.
  • <CELL_NAME>은 관리 도메인인 셀의 이름이다.

대부분의 XML 구성 파일은 사용자가 사용자 정의할 수 있으며, 일부는 광범위하게 사용자 정의할 수 있다. 따라서 사용자 정의된 구성을 마이그레이션하는 작업이 Lotus Connections V2.5 마이그레이션 도구의 가장 중요한 기능이다.

마이그레이션할 모든 XML 구성 파일마다 단 하나의 TXT 파일과 0-3개의 XSL 파일이 마이그레이션을 위해 제공된다. XML 구성 파일은 지정된 애플리케이션에 속해 있으며, 해당 XSL 및 TXT 파일은 지정된 애플리케이션에 연관된 디렉토리 아래에 있다. 그러한 모든 디렉토리는 다음과 같다.

  • <LC_HOME>/activities/activities/activities/properties
  • <LC_HOME>/blogs/blogs/blogs/properties
  • <LC_HOME>/communities/communities/communities/properties
  • <LC_HOME>/dogear/dogear/dogear
  • <LC_HOME>/homepage/homepage/homepage/homepage.config
  • <LC_HOME>/profiles/profiles/profiles/profiles.config
  • <LC_HOME>/search/search/search/search.config
  • <LC_HOME>/files/files/files/properties
  • <LC_HOME>/wikis/wikis/wikis/properties

이제 XML 구성 파일을 마이그레이션하는 작업 메커니즘의 두 단계를 자세히 살펴보자.

XML 구성 파일을 소스 버전에서 대상 버전으로 변환하기

XML 구성 파일은 계속 발전하고 있으며 버전으로 추적된다. 이 기사의 경우 마이그레이션의 소스 버전은 V2.0.1이고 대상 버전은 V2.5이다. 하지만 이 두 버전 사이에는 두 개의 "중간 버전" 즉, V2.5 beta1과 V2.5 beta2도 있다.

마이그레이션 도구에서는 XSL 파일을 통해 소스 버전의 XML 구성 파일에 대한 스키마 변경을 적용하여 대상 버전의 XML 구성 파일을 가져온다. XSL 파일은 대상 버전의 Lotus Connections와 함께 제공된다.

일부 XML 구성 파일에는 XSL 파일이 없으며, 이는 버전 2.0.1과 2.5 사이에서 스키마 변경이 없기 때문이다. 하지만 다른 XML 구성 파일에는 여러 XSL 파일이 있을 수도 있다. 이는 두 개의 중간 V2.5 beta1 및 V2.5 beta2 버전을 포함하여 후속(대상) 버전에 스키마 변경이 있으면 XSL 파일도 있기 때문이다. 다시 말해서 XSL 파일은 필요한 경우에만 제공된다.

XSL 파일 이름은 파일의 용도를 명확히 나타낸다. 예를 들어, LotusConnections-config-update-201-25b1.xsl은 XML 파일 LotusConnections-config.xml만을 위한 XSL 파일이다. 이는 곧 V2.0.1과 비교해서 V2.5 beta1에서 이 XML 파일의 스키마가 변경되었고, 소스 XML 구성 파일의 버전이 V2.0.1이고, XSL 파일에 의해 V2.5 beta1로 변환될 것임을 의미한다.

마이그레이션 프로세스 동안 V2.0.1 소스 제품이 사용 중인 제품이지만 대상 V2.5 제품도 배치되어야 한다. XML 구성 파일을 마이그레이션하기 위해 마이그레이션 도구는 V2.0.1 XML 구성 파일을 내보내고 저장한 다음 이러한 파일을 대상 제품 환경에서 처리한다.

대상 제품에는 도구에서 XML 구성 파일을 대상 버전으로 변환하는 데 사용되는 XSL 파일이 있다. 결과 XML 구성 파일을 해당 XSD 파일에 대해 검증하여 스키마가 대상 버전으로 업데이트되었는지 확인한다. 마이그레이션 후 변환된 XML 구성 파일은 구성을 V2.0.1 파일에 유지한다.

하지만 대상 시스템의 일부 환경 관련 데이터가 변환된 XML 구성 파일에 없기 때문에 스키마만 변환하는 것으로는 충분하지 않다. 마이그레이션할 모든 XML 구성 파일은 다음 단계를 거쳐야 한다.

신규 설치 XML 구성 파일을 변환된 파일의 사용자 정의된 구성으로 바꾸기

마이그레이션 전에 새 V2.5 제품이 대상 환경으로 배치된다. 시스템 호스트 및 데이터베이스 정보와 같은 이 환경의 일부 구성 데이터는 설치 프로세스 중의 사용자 입력과 호스트 환경에서 수집한 정보에 따라 Lotus Connections2.5 설치 프로그램에 의해 기본 XML 구성 파일에 설정된다.

이후로 이러한 기본 V2.5 XML 구성 파일은 신규 설치 XML 구성 파일이 된다. 이러한 파일에는 소스 환경의 사용자 정의된 구성이 없으므로 마이그레이션 도구에서는 변환된 XML 구성 파일에 있는 사용자 정의된 구성을 사용하여 이러한 신규 설치 파일에 있는 해당 구성을 바꿔야 한다.

이 작업을 수행하기 위해 XPath 표현식이 포함된 TXT 파일이 바꿀 XML 구성의 위치를 표시하는 데 사용된다. 변경할 V2.5 신규 설치 XML 파일마다 단 하나의 관련 TXT 파일이 있다. 마이그레이션 도구에서는 이 TXT 파일을 통해 변경 작업을 수행하여 마이그레이션된 최종 XML 구성 파일을 가져올 수 있다.

이제 마이그레이션 프로시저를 자세히 살펴보자.


마이그레이션 환경

마이그레이션 도구는 업그레이드, 파일럿-제품 마이그레이션, 제품-제품 마이그레이션 등의 여러 다양한 프로세스에서 사용할 수 있지만 다양한 프로세스에서 마이그레이션 도구를 사용하는 방법은 비슷하다. 따라서 이 기사에서는 2.0.1에서 2.5로의 업그레이드를 예제로 사용한다.

마이그레이션 도구의 사용법을 자세히 설명하는 이 예제에서는 다음과 같은 환경이 사용된다.

Lotus Connections 2.0.1 환경

  • 운영 체제: Red Hat Enterprise Linux® ES 릴리스 4(Nahant Update 4)
  • WebSphere Application Server V6.1.0.13

Lotus Connections 2.5 환경

  • 운영 체제: Red Hat Enterprise Linux ES 릴리스 4(Nahant Update 7)
  • WebSphere Application Server V6.1.0.23

다음은 이후로 계속 적용된다.

  • <WAS_HOME>은 WebSphere Application Server 설치 홈 디렉토리이다.
  • <LC_HOME>은 Lotus Connections 설치 홈 디렉토리이다.
  • <LC_DATA>는 Lotus Connections 데이터 디렉토리이다.

참고: 사용되는 모든 명령은 운영 체제 독립적이다.


마이그레이션 도구로 아티팩트 마이그레이션하기

이 프로세스는 3단계로 구성된다.

Lotus Connections 2.0.1 애플리케이션 아티팩트 내보내기

먼저, 여기에 나열된 애플리케이션 아티팩트를 Lotus Connections 2.0에서 내보내야 한다.

XML 구성 파일

  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/oa-config.xml을 migration/work/export/config/oa-config.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/LotusConnections-config.xml을 migration/work/export/config/LotusConnections-config.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/notification-config.xml을 migration/work/export/config/notification-config.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/oa-jobs.xml을 migration/work/export/config/oa-jobs.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/contentreview-config.xml을 migration/work/export/config/contentreview-config.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/communities-config.xml을 migration/work/export/config/communities-config.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/forum-config.xml을 migration/work/export/config/forum-config.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/dogear-config-cell.xml을 migration/work/export/config/dogear-config-cell.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/profiles-config.xml을 migration/work/export/config/profiles-config.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/widgets-config.xml을 migration/work/export/config/widgets-config.xml로 내보낸다.
  • <WAS_HOME>/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config/search-config.xml을 migration/work/export/config/search-config.xml로 내보낸다.

특성

  • <LC_HOME>/activities/activities/activities/activities.properties를 migration/work/export/LC_HOME/activities/activities/activitiesactivities.properties로 내보낸다.
  • <LC_HOME>/blogs/blogs/blogs/blogs.properties를 migration/work/export/LC_HOME/blogs/blogs/blogs/blogs.properties로 내보낸다.
  • <LC_HOME>/communities/communities/communities/communities.properties를 migration/work/export/LC_HOME/communities/communities/communities.properties로 내보낸다.
  • <LC_HOME>/dogear/dogear/dogear/dogear.properties를 migration/work/export/LC_HOME/dogear/dogear/dogear.properties로 내보낸다.
  • <LC_HOME>/profiles/profiles/profiles/profiles.properties를 migration/work/export/LC_HOME/profiles/profiles/profiles/profiles.properties로 내보낸다.
  • <LC_HOME>/homepage/homepage/homepage/homepage.properties를 migration/work/export/LC_HOME/homepage/homepage/homepage/homepage.properties로 내보낸다.

migration/work/export 디렉토리에서 다른 특성을 찾을 수 있다. 실제로 마이그레이션 도구는 <LC_HOME> 아래의 모든 특성을 내보낸 후 가져오기 프로세스 동안 유용한 특성을 추출한다.

데이터 파일

  • <LC_DATA>/activities/content를 migration/work/export/data/ACTIVITIES_CONTENT_DIR로 내보낸다.
  • <LC_DATA>/activities/statistic을 migration/work/export/data/ACTIVITIES_STATS_DIR로 내보낸다.
  • <LC_DATA>/blogs/upload를 migration/work/export/data/BLOGS_CONTENT_DIR로 내보낸다.
  • <LC_DATA>/communities/statistic을 migration/work/export/data/COMMUNITIES_STATS_DIR로 내보낸다.
  • <LC_DATA>/dogear/favorite를 migration/work/export/data/DOGEAR_FAVICON_DIR로 내보낸다.
  • <LC_DATA>/profiles/statistic을 migration/work/export/data/PROFILES_STATS_DIR로 내보낸다.

이전 자원 목록을 사용하여 내보내기 프로시저를 검증할 수 있다.

V2.0.1 환경에서 아티팩트를 내보내려면 다음 단계를 수행한다.

  1. Lotus Connections 2.5 설치 디스크에서 마이그레이션 도구를 가져온다.
  2. 전체 Lotus_Connections_Install/migration 폴더를 V2.0.1 <LC_HOME> 디렉토리로 복사한다.
  3. 명령행을 열고 다음 명령을 입력한다.

    export WAS_HOME=<WAS_HOME>
  4. 디렉토리를 V2.5 마이그레이션 도구의 migration 폴더로 변경한다.
  5. migration lc-export 명령을 실행한다. 이 명령은 <LC_HOME>/migration/ 아래에 work라는 서브디렉토리를 작성하고 V2.0.1 애플리케이션 아티팩트를 저장한다.

그림 4에서는 내보내기 이후 migration 디렉토리의 예를 보여 준다.


그림 4. 내보내기 이후 마이그레이션 데이터의 샘플 디렉토리 구조
내보내기 이후 마이그레이션 데이터의 샘플 디렉토리 구조

대상 WebSphere Application Server로 애플리케이션 아티팩트 가져오기

V2.0.1 아티팩트를 내보낸 후에는 유용한 아티팩트를 V2.5 대상 환경으로 가져와야 한다. 내보낸 아티팩트를 모두 가져오지는 않는다는 점에 유의한다.

V2.0.1 아티팩트를 Lotus Connections 2.5 환경으로 가져오려면 다음 단계를 수행한다.

  1. V2.0.1 <LC_HOME> 디렉토리의 migration 폴더와 내보낸 V2.0.1 아티팩트를 V2.5의 동일한 <LC_HOME> 디렉토리로 복사한다.
  2. 명령행을 열고 migration 폴더로 변경한다.
  3. 다음 명령을 실행한다.

    Microsoft Windows: migration.bat lc-import
    Linux/AIX: ./migration.sh lc-import

그림 5에서는 가져오기 이후 migration 디렉토리의 예를 보여 준다.


그림 5. 가져오기 이후 마이그레이션 데이터의 샘플 디렉토리 구조
가져오기 이후 마이그레이션 데이터의 샘플 디렉토리 구조

그림에서 보듯이 가져오기 이후에는 migration/work/import 디렉토리에 level10, level11 및 level12라는 세 개의 임시 폴더가 있다. 마이그레이션 프로세스에 사용되는 중간 상태 파일이 포함된 이러한 폴더는 발생 가능한 문제점을 진단하는 데 사용된다.

level10 폴더에는 V2.0.1 소스 제품에서 내보낸 XML 구성 파일이 저장되며, level11에는 신규 설치 V2.5 XML 구성 파일이 저장되고, level12에는 변환된 중간 XML 파일과 마이그레이션된 최종 XML 구성 파일이 저장된다.

Lotus Connections 2.5 환경에서 결과 확인하기

다음 단계를 수행하여 마이그레이션을 확인한다.

  1. 가져오기 로그에서 오류를 검사한다. 자세한 정보는 "문제 해결" 섹션을 참조한다.
  2. "대상 WebSphere Application Server로 애플리케이션 아티팩트 가져오기" 섹션에서 설명한 목록에 포함된 구성 파일을 검사하여 V2.0.1 환경의 사용자 정의된 구성을 성공적으로 가져왔는지 확인한다.
  3. "대상 WebSphere Application Server로 애플리케이션 아티팩트 가져오기" 섹션에서 설명한 데이터 디렉토리를 검사하여 데이터 디렉토리에 있는 데이터 파일을 성공적으로 가져왔는지 확인한다.
  4. 새 제품의 애플리케이션을 확인한다. 즉, 애플리케이션을 시작하고 로그인할 수 있는지, 웹 사용자 인터페이스가 올바른지, Activities 업로드 파일의 한계, Blogs의 핸들러, Blogs의 업로드 이미지 등의 사용자 구성이 마이그레이션되었는지 확인한다.

문제 해결

이제 몇 가지 문제 해결 팁을 살펴보자.

출력 메시지를 사용하여 문제 해결하기

마이그레이션 도구는 마이그레이션을 수행하는 중에 쉘 창에 실행 추적을 출력한다. 이러한 출력 메시지에는 도구 사용 중에 발생할 수 있는 대부분의 문제점에 대한 원인과 문제 해결 방법에 대한 설명이 들어 있다. 출력이 너무 길어서 읽기 어려우므로 다음과 같이 쉘 출력 리디렉션을 사용하여 출력을 로그 파일로 리디렉션하는 것이 좋다.

migration lc-export > export_output.log
migration lc-import > import_output.log

출력 메시지 확인하기

모든 출력 메시지가 포함된 리디렉션된 로그 파일을 사용하여 마이그레이션 결과를 확인한다.

먼저, 모든 하위 작업이 완료되었는지 확인한다. 명령이 단순해 보이기는 하지만 전체 마이그레이션 프로세스 내에는 일련의 하위 작업이 있다. 모든 하위 작업이 완료된 경우에는 로그 맨 아래에 다음과 같은 BUILD SUCCESSFUL 메시지가 표시된다.

action-post-config:
Thu Jul 30 22:11:46 CST 2009
[echo] executing post-configuration tasks

BUILD SUCCESSFUL
Total time: 33 seconds
uploading registry
CELL: fvt197Node01Cell
Websphere:_Websphere_Config_Data_Type=Registry,_Websphere_Config_Data_Id=cells/fvt197Node01Cell|
registry.xml#Registry_1248958817671,_WEBSPHERE_CONFIG_SESSION=anonymous1248963106375

Return Value: 0
1 file(s) moved.
1 file(s) moved.
1 file(s) moved.

이제 로그를 자세히 살펴보자. 이전 단계에서는 모든 마이그레이션 작업이 완료되었다는 것만을 알려 준다. 하지만 각 작업의 결과가 명확하지 않으므로 한 가지 단계를 더 수행해야 한다. 이 단계에서는 로그에서 "Exception" 및 "Error"를 검색하여 마이그레이션이 성공했는지 확인한다.

로그에 오류가 없다면 마이그레이션이 성공했을 가능성이 높다. 더 나아가 "Warning"과 "Skip"을 검색해서도 유해한 정보가 나오지 않았다면 마이그레이션 프로세스가 거의 완벽하게 성공한 것이다.

예제 케이스 분석

이제 출력 메시지 정보를 사용하여 V2.0.1 환경에서의 내보내기가 실패한 예제 케이스의 문제를 해결해 보자. 리디렉션된 로그 파일에서 "Exception"을 검색하면 아래 강조 표시된 것과 같은 "NullPointerException" 오류를 찾을 수 있다.

Load Version
[LoadVersion] Product set = All
[LoadVersion] java.lang.NullPointerException
[LoadVersion] at com.ibm.lconn.ant.task.LoadProductVersion.execute(Unknown Source)
[LoadVersion] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[LoadVersion] at org.apache.tools.ant.Task.perform(Task.java:364)
[LoadVersion] at org.apache.tools.ant.Target.execute(Target.java:341)
[LoadVersion] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[LoadVersion] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
[LoadVersion] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
[LoadVersion] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
[LoadVersion] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)

... [LoadVersion] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[LoadVersion] at java.lang.reflect.Method.invoke(Method.java:615)
[LoadVersion] at com.ibm.wps.config.launch.WpsConfigLauncher.process(WpsConfigLauncher.java:243)
[LoadVersion] at com.ibm.wps.config.launch.WpsConfigLauncher.main(WpsConfigLauncher.java:459)

이 오류는 누락된 항목으로 인해 버전을 로드하는 하위 작업이 실패했음을 의미한다. 로그에서 "skip"을 검색해 보면 "skip"이 포함된 두 개의 행이 강조 표시된 다음과 같은 결과를 얻을 수 있다.

LoadLCWasVariable [LoadLCWasVariable] Server name = server1
[LoadLCWasVariable] Variables of profile AppSrv01 already loaded, skip...
[LoadLCWasVariable] Current feature = search
[LoadLCWasVariable] Feature folder search not installed, skip...
[LoadLCWasVariable] Current feature = mobile
[LoadLCWasVariable] Feature folder mobile not installed, skip...
[LoadLCWasVariable] Current feature = wikis
...

앞의 추적에서는 마이그레이션 도구가 Search 및 Mobile이라는 두 가지 기능 애플리케이션의 설치 폴더를 찾을 수 없었기 때문에 하위 작업 LoadLCWasVariable에서 두 애플리케이션에 대한 작업이 생략되었음을 보여 준다.

Lotus Connections Search 컴포넌트는 없을 경우 전체 제품이 작동할 수 없는 두 가지 인프라 컴포넌트 중 하나이다. 내보내기를 수행 중인 기존 V2.0.1 환경이 정상적으로 작동하므로 Search 컴포넌트는 분명히 배치되어 있다.

이 경우에는 기능 애플리케이션의 등록 정보를 확인해야 한다. 모든 컴포넌트의 등록 정보는 <LC_HOME>/version에 있는 해당 .product 파일에 저장되며 이러한 파일에는 <component_name>.product 형식의 이름이 지정된다.

이러한 .product 파일을 검사해 보면 Mobile 및 Search에 해당하는 파일이 없다는 것을 알 수 있다. 이것이 바로 실패의 원인이다. 마이그레이션 도구가 Search 및 Mobile을 찾을 수 없었던 것은 해당 .product 파일이 없었기 때문이다.

지금까지 로그에서 동일한 문제로 인해 발생한 Exception 오류와 Skip 경고를 찾았으며, 이는 문제 해결 시 오류를 함께 처리할 필요가 있는 경우를 보여 준다.

가장 일반적인 문제 해결하기

마이그레이션 명령은 간단해 보이지만 프로세스 중에 발생하는 문제는 복잡하여 해결하기가 어려울 수도 있다. 이제부터는 발생 가능한 가장 일반적인 문제를 해결하는 방법에 대해 설명한다.

문제 1. 필수 특성 파일의 부재. 이 문제는 내보내기 프로세스에서 발생한다. 다음은 로그 스니펫이다.

Executing native2ascii with native encoding 'Cp1252': wkplc.properties -> wkplc_ascii.properties
java.lang.Exception: wkplc.properties could not be read.
ERROR: Native2ascii execution failed!
Executing native2ascii with native encoding 'Cp1252': wkplc_comp.properties -> wkplc_comp_ascii.properties
java.lang.Exception: wkplc_comp.properties could not be read.

...
[06/22/10 22:02:00.521 CST] WKSP0500

BUILD FAILED
C:\Program Files\IBM\WebSphere\LotusConnections\ConfigEngine\config\actions\util s.xml:872: CheckManagedNodeTask: ERROR: invalid input. "WpHome" property cannot be empty or null.

해결책. 이 로그에는 "java.lang.Exception: wkplc.properties could not be read" 예외가 두 번 표시된다. wkplc.properties 및 wkplc_comp.properties 파일은 백엔드 엔진의 구성 파일이며 <LC_HOME>/ConfigEngine/profiles/<PROFILE_NAME>에 있다.

이러한 파일에는 Lotus Connections 제품 및 WebSphere Application Server의 경로 및 다른 애플리케이션의 프로파일 경로와 같은 필수 구성이 있다. 마이그레이션 프로세스도 백엔드 엔진을 기반으로 한다. 이러한 파일 중 하나 이상이 없거나 실수로 구성 중 일부가 올바르지 않은 값으로 변경된 경우에는 마이그레이션 프로세스가 실패한다.

이 문제를 해결하려면 동일한 버전의 작동 중인 Lotus Connections 환경을 참조하여 파일이나 구성을 복구한다. 그런 다음 마이그레이션 도구 복구 단계를 실행한 후("실패한 가져오기 작업에서 복구" 섹션 참조) 마이그레이션 명령을 다시 실행한다.

문제 2. 잘못된 WebSphere Application Server 변수값. 이 경우에는 다음과 같은 데이터 파일 경로에 대한 경고 메시지가 표시된다.

lc-export-data:
Tue Jun 22 22:58:45 CST 2010
...
[copy] Warning: C:\IBM\WebSphere\LotusConnections\Data\activities\content not found.

해결책. V2.5 제품의 경우에는 각 애플리케이션의 데이터 파일 경로가 특성 파일에 저장되는 V2.0.1과는 달리 WebSphere Application Server 변수에 저장된다. 데이터 파일은 설치 마법사의 입력 매개변수인 상위 디렉토리에 배치된다.

기본적으로 WebSphere Application Server Integrated Solution Console의 Environment > WebSphere Variables 섹션에서 WebSphere Application Server 변수를 찾을 수 있다.

http://<HOSTNAME >:9060/ibm/console 여기서, <HOSTNAME>은 WebSphere Application Server를 호스트하는 서버의 호스트 이름이다.

이 오류는 내보내기 프로세스에서 발생한다. 경고 메시지에 인용된 디렉토리는 Activities 애플리케이션에 속해 있는 activities/content이다. 경로 정보는 WebSphere Application Server 변수에 있으며, Integrated Solution Console을 검사할 때 관련 변수인 ACTIVITIES_CONTENT_DIR과 그 값인 C:\IBM\LotusConnections\Data\activities\content를 볼 수 있다. 이 값은 이전 출력 메시지에 표시된 값이다.

하지만 Microsoft® Windows® 운영 체제에서는 기본값이 이 값과 다르다. 파일 시스템에서 Data 디렉토리를 직접 찾아보면 WebSphere Application Server 변수값 대신 C:\Program Files\IBM\LotusConnections\Data\activities\content가 실제 디렉토리이다.

이 문제는 WebSphere Application Server 변수를 수동으로 변경할 경우 발생할 수 있다. 문제를 해결하려면 WebSphere Application Server 변수값을 올바른 값으로 변경한 다음 마이그레이션 명령을 다시 실행한다.

문제 3. 오류: "Current version is not supported." 소스 환경의 버전이 적합하지 않으면 내보내기 로그에 다음과 같은 오류 메시지가 표시된다.

lc-export-config:
[LoadVersion] Load product versions from C:\Program Files\IBM\WebSphere\LotusConnections\ConfigEngine\..\version
[LoadVersion] Prefix =
[LoadVersion] Product set = All
[LoadVersion] Current version is not supported.
[LoadVersion] at com.ibm.lconn.ant.task.LoadProductVersion$Product.fixLCVersion(Unknown Source)
[LoadVersion] at com.ibm.lconn.ant.task.LoadProductVersion$Product.<init>(Unknown Source)

해결책. 마이그레이션 도구는 엄격하게 버전을 기반으로 작동한다. V2.5 마이그레이션 도구는 V2.0.1 이상부터의 마이그레이션과 V2.5 간 마이그레이션만을 지원하며 프로세스를 시작할 때 소스 버전을 검증한다. 이 경우 "Current version is not supported" 오류는 소스 환경의 버전이 올바르지 않음을 의미한다.

오류를 해결하려면 <LC_HOME>/version 디렉토리에서 다른 애플리케이션의 .product 파일에 있는 버전을 검사한다. 버전이 V2.0.1 보다 낮으면 먼저 V2.0.1 마이그레이션 도구를 사용하여 해당 애플리케이션의 버전을 V2.0.1로 업그레이드한다. 소스 환경이 함께 제공된 Gold 빌드로 배치되지 않은 경우에는 소스 환경의 마이그레이션을 지원할 수 있는 방법이 없다.

문제 4. WebSphere Application Server 프로파일이 비기본 경로에 있을 경우 빌드가 실패한다. WebSphere Application Server 프로파일에는 WebSphere Application Server 애플리케이션의 구성이 들어 있다. 프로파일은 기본 경로인 <WAS_HOME>/profiles뿐만 아니라 비기본 경로에도 배치할 수 있다. 이 경우에는 다음과 같이 비기본 경로에 대한 오류 메시지가 표시된다.

lc-export-config:[copy]Warning:D:\LC25\WEBSPH~1\APPSER~1\profiles\lc_profile\config\cells\JVConnCell\LotusConnections-config not
found.[copy]Warning:D:\LC25\WEBSPH~1\APPSER~1\profiles\lc_profile\config\cells\JVConnCell\LotusConnections-config not
found.[copy]Warning:D:\LC25\WEBSPH~1\APPSER~1\profiles\lc_profile\config\cells\JVConnCell\LotusConnections-config not
found.[copy]Warning:D:\LC25\WEBSPH~1\APPSER~1\profiles\lc_profile\config\cells\JVConnCell\LotusConnections-config not found.

...
BUILD FAILED
D:\LC25\WebSphere\LotusConnections\ConfigEngine\config\actions\migrate_util.xml:391: The following error occurred while executing this line:
D:\LC25\WebSphere\LotusConnections\ConfigEngine\config\actions\migrate_util.xml:521:
D:\LC25\WebSphere\LotusConnections\migration\work\import\level2 not found.

해결책. 로그를 보면 WebSphere Application Server의 경로가 D:\LC25\WebSphere\AppServer인 반면 프로파일 배치 애플리케이션의 경로는 D:\LC25\lc_profile이며, 이는 위에서 언급한 대로 비기본 경로이다.

이 문제는 다른 환경 문제와 더불어 V2.5 마이그레이션의 소프트웨어 제한으로 인해 발생한다. 마이그레이션 도구는 비기본 프로파일 경로를 지원하지 않는다. 즉, 비기본 경로에 프로파일을 배치할 수 없으며 그렇지 않은 경우 마이그레이션이 실패한다.


실패한 가져오기 작업에서 복구하기

마이그레이션 작업은 수정해야 하는 모든 파일을 백업하므로 복구가 가능하다.

내보내기 작업은 Lotus Connections 애플리케이션에 영향을 주지 않으므로 복구가 필요하지 않다. 오류가 발생하면 문제 해결 단계를 수행한 후 내보내기 작업을 다시 실행한다.

이와는 달리 가져오기 작업의 경우에는 가져오기 이후 마이그레이션 도구에 백업 폴더가 생성된다. 이 백업 디렉토리는 <LC_HOME>/migration/work/backup이며 다음과 같은 세 개의 서브디렉토리를 가지고 있다.

  • config. 대상 환경의 모든 신규 설치 XML 구성 파일이 있다. 가져오기 실패 후 복구를 수행할 경우에는 이 서브디렉토리에 있는 모든 항목을 <WAS_HOME>/AppServer/profiles/<PROFILE_NAME>/config/cells/<CELL_NAME>/LotusConnections-config에 재귀적으로 복사한다.
  • Data. 가져오기 이전에 대상 환경에 있던 모든 데이터 파일이 들어 있다. 가져오기 실패 후 복구를 수행할 경우에는 <LC_HOME>/data를 지운 후 이 서브디렉토리에 있는 모든 항목을 재귀적으로 다시 복사한다.
  • LC_HOME. 이 디렉토리는 마이그레이션 프로세스 중에 변경되지 않으므로 복구하지 않아도 된다.

결론

Lotus Connections 마이그레이션 도구는 XSLT 및 XPath 기술을 활용하여 버전 2.5에서 크게 향상되었다. 지금까지 새로운 마이그레이션 도구의 아키텍처 및 메커니즘과 사용법에 대해 살펴보았다.

이 기사에서 설명한 문제 해결 팁 및 케이스 분석을 수행하면 문제를 빠르게 진단하고 해결할 수 있으며, 복구 지침을 활용하면 가져오기 실패 후 환경을 복원할 수 있다.


참고자료

필자소개

Xie Ling is a Staff Software Engineer at the IBM China Software Development Lab in Shanghai. He has worked on the Lotus Connections Functional Verification Test (FVT) team since August 2007, before which he worked as a developer for IBM Workplace for Business Controls and Reporting. He earned a Master's degree in Computer Application Technology from Zhejiang University. You can reach Ling at xieling@cn.ibm.com.

Fan Xiang Jun is a Software Engineer at the IBM China Software Development Lab in Shanghai, where he's been a member of the Lotus Connections Functional Verification Test team since March 2009. You can reach him at xjfanxj@cn.ibm.com.

Zhang Jun Jing is a Staff Software Engineer on the Lotus Connections Installer Development team at the IBM China Software Development Lab. He has worked in this field for more than two years, focusing mainly on the development of the installer and wizards. You can reach him at jjzhang@cn.ibm.com.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=Lotus
ArticleID=591789
ArticleTitle=새 IBM Lotus Connections 2.5 마이그레이션 도구 사용하기
publish-date=08242010
author1-email=xieling@cn.ibm.com
author1-email-cc=
author2-email=xjfanxj@cn.ibm.com
author2-email-cc=
author3-email=jjzhang@cn.ibm.com
author3-email-cc=

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.