응용 프로그램을 호환되게 만드는 방법에 대한 자세한 내용은 응용 프로그램 호환성을 참조하십시오. 새 버전의 응용 프로그램은 이전 버전과 호환되지 않습니다. 또한 두 개 이상의 클러스터에서 호환되지 않는 응용 프로그램을 업그레이드해야 합니다. 클러스터가 하나만 있으면 아래에 설명된 것처럼 업그레이드를 위해 "섀도우 클러스터"를 만듭니다.
호환되지 않는 응용 프로그램을 업그레이드할 경우:
새 버전의 응용 프로그램에 이전 버전의 응용 프로그램과는 다른 이름을 지정합니다. 아래 단계에서는 응용 프로그램의 이름이 변경된다고 가정합니다.
데이터 스키마가 호환되지 않으면 데이터 마이그레이션을 계획한 후에 다른 물리적 데이터 소스를 사용합니다.
이전 버전이 배포된 클러스터와는 다른 클러스터로 새 버전을 배포합니다.
이전 응용 프로그램에 대한 요청이 새 클러스터로 페일오버되지 않으므로 해당 응용 프로그램이 실행되는 클러스터를 오프라인으로 만들기 전에 해당 클러스터에 대해 적절히 긴 시간 초과를 설정합니다. 이러한 사용자 세션은 실패하게 됩니다.
이전 버전의 응용 프로그램을 저장하거나 도메인을 백업합니다.
도메인을 백업하려면 asadmin backup-domain 명령을 사용합니다.
기존 클러스터와 동일하거나 다른 시스템 집합에 "섀도우 클러스터"를 만듭니다.
관리 콘솔을 사용하여 새 클러스터를 만들고 기존 클러스터의 명명된 구성을 참조합니다.
각 시스템에서 새 인스턴스에 대한 포트를 사용자 정의하여 기존 활성 포트와 충돌하지 않도록 합니다.
클러스터와 관련된 모든 자원에 대해 asadmin create-resource-ref를 사용하여 새로 만들어진 클러스터에 대한 자원 참조를 추가합니다.
asadmin create-application-ref를 사용하여 새로 만들어진 클러스터에서 해당 클러스터로 배포된 다른 모든 응용 프로그램(현재 재배포된 응용 프로그램 제외)에 대한 참조를 만듭니다.
asadmin configure-ha-cluster를 사용하여 클러스터를 고가용성 클러스터로 구성합니다.
asadmin create-http-lb-ref를 사용하여 로드 밸런서 구성 파일에 새로 만들어진 클러스터에 대한 참조를 만듭니다.
새 버전의 응용 프로그램에 이전 버전과는 다른 이름을 지정합니다.
새 클러스터에 새 응용 프로그램을 대상으로 배포합니다. 다른 컨텍스트 루트를 사용합니다.
asadmin enable-http-lb-application을 사용하여 클러스터에 배포된 응용 프로그램을 활성화합니다.
다른 클러스터를 계속 실행하면서 새 클러스터를 시작합니다.
시작하면 클러스터가 도메인과 동기화되고 새 응용 프로그램으로 업데이트됩니다.
새 클러스터의 응용 프로그램을 테스트하여 제대로 실행되는지 확인합니다.
asadmin disable-http-lb-server를 사용하여 로드 밸런서에서 이전 클러스터를 비활성화합니다.
느린 세션이 지속되는 기간에 대한 시간 초과를 설정합니다.
asadmin enable-http-lb-server를 사용하여 로드 밸런서에서 새 클러스터를 활성화합니다.
asadmin export-http-lb-config를 사용하여 로드 밸런서 구성 파일을 내보냅니다.
내보낸 구성 파일을 웹 서버 인스턴스의 구성 디렉토리에 복사합니다.
예를 들어, Sun Java System Web Server의 경우 해당 위치는 web_server_install_dir/https-host-name/config/loadbalancer.xml입니다. 로드 밸런서 구성에서 reloadinterval을 설정하여 로드 밸런서에 대해 동적 재구성을 활성화해야 합니다. 이렇게 해야 새 로드 밸런서 구성 파일이 자동으로 로드됩니다.
시간 초과 기간이 만료되거나 이전 응용 프로그램의 모든 사용자가 종료하면 이전 클러스터를 중지하고 이전 응용 프로그램을 삭제하십시오.