Sun Java System Application Server Enterprise Edition 8.1 2005Q2 고가용성 관리 설명서

고가용성 데이터베이스 개요

이 절에서는 고가용성 데이터베이스(HADB)를 소개하고 Application Server에서 사용할 수 있도록 HADB를 설정 및 구성하는 방법을 설명합니다.

이 절은 다음 내용으로 구성되어 있습니다.

HADB 및 Application Server

HADB는 응용 프로그램 서버 계층과는 별도로 실행 및 관리할 수 있는 수평 확장 가능한 데이터베이스입니다. HADB는 로드 균형 조정, 페일오버 및 상태 복구 기능을 통해 최고 99.999%의 서비스 및 데이터 가용성을 지원하도록 설계되었습니다.

Application Server에서는 HADB를 사용하여 HTTP 및 Stateful Session Bean(SFSB) 세션 데이터를 저장합니다. 세션 지속성 메커니즘이 없으면 웹 또는 EJB 컨테이너가 페일오버될 때 HTTP 또는 SFSB 세션 상태 데이터가 손실됩니다.

Application Server와는 별도로 상태 관리를 수행하면 큰 이점을 얻을 수 있습니다. 응용 프로그램 서버 인스턴스는 외부 고가용성 상태 서비스에 상태 복제를 위임하는 확장 가능하고 성능이 뛰어난 Java™ 2 Platform, Enterprise Edition(J2EE™ 플랫폼) 컨테이너의 역할을 수행합니다. 이와 같이 구조가 느슨하게 연결되어 있으므로 클러스터에서 응용 프로그램 서버 인스턴스를 쉽게 추가 및 제거할 수 있습니다. 최적의 가용성 및 성능을 얻기 위해 HADB 상태 복제 서비스를 독립적으로 확장할 수 있습니다.

HADB 서버 구조

고가용성은 업그레이드를 위한 계획된 작동 중단이나 하드웨어 또는 소프트웨어 장애로 인한 갑작스러운 작동 중단에도 불구하고 가용성이 보장되는 것을 의미합니다. HADB는 간단한 데이터 모델과 확장성이 뛰어난 중복형 고성능 토폴로지를 기반으로 합니다. HADB는 고성능 엔터프라이즈 응용 프로그램 서버 환경 내에서 모든 유형의 세션 상태 지속성을 전달하기 위한 이상적인 플랫폼을 제공합니다.

다음 그림은 네 개의 활성 노드와 두 개의 예비 노드가 있는 데이터베이스 구조를 나타냅니다. 노드 0과 1, 노드 2와 3은 미러 노드 쌍을 이룹니다.

그림 2–1 HADB 구조

HADB 구조

HADB는 데이터의 조각화 및 복제를 통해 고가용성을 구현합니다. 데이터베이스의 모든 테이블은 조각이라고 하는 거의 같은 크기의 하위 집합을 만들 수 있도록 분할되어 있습니다. 조각화는 데이터베이스 노드 간에 데이터를 균일하게 분산시키는 해시 기능을 기반으로 합니다. 각 조각은 데이터베이스의 미러 노드에 두 번 저장됩니다. 이를 통해 데이터의 내결함성 및 빠른 복구가 가능해집니다. 또한 한 노드에 장애가 발생하거나 종료되면 다시 활성 상태가 될 때까지 예비 노드가 작업을 인계 받을 수 있습니다.

HADB 노드는 서로 미러링되는 두 개의 DRU(Data Redundancy Unit)로 구성됩니다. 각 DRU는 활성 노드와 예비 노드의 절반을 구성하며 하나의 완전한 데이터 복사본을 포함하게 됩니다. 내결함성을 보장하기 위해 하나의 DRU를 지원하는 컴퓨터는 전원 공급 장치(무정전 전원 공급 장치 권장), 처리 장치 및 저장 장치 등이 완전하게 자체 지원될 수 있어야 합니다. 한 DRU에서 전원이 끊어지면 전원이 다시 연결될 때까지 다른 DRU의 노드가 요청을 계속 처리할 수 있습니다.

세션 지속성 메커니즘이 없는 경우 한 웹 또는 EJB 컨테이너가 다른 컨테이너로 페일오버될 때 비활성 세션 상태를 비롯한 HTTP 또는 SFSB 세션 상태 데이터가 손실됩니다. 세션 지속성을 위해 HADB를 사용하면 이러한 문제가 해결됩니다. HADB는 별도로 분리되어 있지만 잘 통합된 지속성 저장소 계층에서 상태 정보를 저장하고 검색합니다.

HADB는 세션 데이터가 삭제될 때 공간을 사용 가능하게 확보합니다. HADB는 크기가 고정된 블록에 세션 데이터 레코드를 저장합니다. 블록의 모든 레코드가 삭제되면 블록은 사용 가능하게 해제됩니다. 블록의 레코드는 무작위로 삭제되어 블록에 이 생길 수 있습니다. 블록에 새 레코드가 삽입되고 인접한 공간이 필요한 경우에는 홀이 제거되므로 블록이 축소됩니다.

지금까지 구조를 간단히 요약해서 설명했습니다. 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide를 참조하십시오.

HADB 노드

데이터베이스 노드는 프로세스 집합, 공유 메모리의 전용 영역, 하나 이상의 보조 저장 장치로 구성됩니다. 데이터베이스는 세션 데이터를 저장, 업데이트 및 검색합니다. 각 노드에는 하나의 미러 노드가 있으므로 노드는 쌍을 이룹니다. 또한 가용성을 최대화하려면 각 DRU에 하나씩 두 개 이상의 예비 노드를 포함시킵니다. 이렇게 하면 한 노드에 장애가 발생할 경우 노드가 복구되는 동안 예비 노드가 작업을 인계 받을 수 있습니다.

다른 노드 토폴로지에 대한 설명을 보려면 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Deployment Planning Guide의 3 장, Selecting a Topology를 참조하십시오.

새로운 기능 및 향상된 기능

Sun Java System Application Server Enterprise Edition 8.1에 제공된 HADB 버전에는 다양한 새 기능과 향상된 기능이 포함되어 있습니다.

관리 시스템의 기본 구성 요소가 변경되어 HADB 관리 기능이 향상되었습니다. 이전 hadbm 인터페이스 기능은 몇 가지 수정 사항을 제외하고 그대로 유지되었습니다. 또한 이번 변경으로 SSH/RSH의 종속성이 제거되었습니다.

관리 에이전트 서버 프로세스(ma)는 도메인을 구성하며 데이터베이스 구성을 저장소에 보관합니다. 저장소 정보는 모든 에이전트에서 분산됩니다.

다음 항목에서 보다 자세한 정보를 얻을 수 있습니다.

일반적인 기능 향상

이 버전의 HADB는 다음과 같은 향상된 기능을 제공합니다.

특정 기능 변경

이 버전의 HADB는 이전 버전과 비교해 다음과 같이 달라졌습니다.

HADB에 대한 고객 지원 사용

HADB 문제가 발생했을 때 고객 지원부에 문의하기 전에 다음 정보를 최대한 수집하십시오.