Solaris OS용 Sun Cluster 개요

데이터 서비스

데이터 서비스는 Sun Cluster 구성 수정 없이 응용 프로그램이 실행될 수 있게 하는 소프트웨어 및 구성 파일의 조합입니다. Sun Cluster 구성에서 실행되는 응용 프로그램은 자원 그룹 관리자(RGM)가 제어하는 자원 형태로 실행됩니다. 데이터 서비스는 Sun Java System Web Server 또는 Oracle 데이터베이스와 같은 응용 프로그램이 단일 서버가 아니라 클러스터에서 실행되도록 구성할 수 있게 합니다.

데이터 서비스 소프트웨어는 응용 프로그램에서 다음 작업을 수행하는 Sun Cluster 관리 방법을 구현합니다.

데이터 서비스의 구성 파일은 RGM에게 응용 프로그램을 나타내는 자원 등록 정보를 정의합니다.

RGM은 클러스터에 포함된 페일오버 및 확장 가능 데이터 서비스의 특징을 제어합니다. RGM은 클러스터 구성원 변경에 대응하여 클러스터의 선택된 노드에서 데이터 서비스를 시작하고 중지하는 일을 담당합니다. RGM은 데이터 서비스 응용 프로그램이 클러스터 프레임워크를 활용할 수 있게 합니다.

RGM은 데이터 서비스를 자원처럼 제어합니다. 이 구현은 Sun에서 제공되거나 개발자가 일반 데이터 서비스 템플리트, 데이터 서비스 개발 라이브러리(DSDL API) 또는 자원 관리 API(RMAPI)를 사용하여 작성합니다. 클러스터 관리자는 자원 그룹이라고 부르는 컨테이너에 자원을 만들고 관리합니다. RGM 및 관리자 작업을 통해 자원 및 자원 그룹은 온라인 상태와 오프라인 상태 간을 전환하게 됩니다.

자원 유형

자원 유형이란 클러스터에 응용 프로그램을 인식시키는 등록 정보 모음입니다. 이러한 모음에는 클러스터의 노드에서 응용 프로그램을 시작, 중지 및 모니터하는 방법에 대한 정보가 포함됩니다. 또한 자원 유형에는 응용 프로그램을 클러스터에서 사용하기 위해 정의해야 하는 응용 프로그램별 등록 정보가 포함됩니다. Sun Cluster 데이터 서비스에는 몇 가지 사전 정의된 자원 유형이 있습니다. 예를 들어, Sun Cluster HA for DNS는 자원 유형 SUNW.oracle-server이고 Sun Cluster HA for Apache는 자원 유형 SUNW.apache입니다.

자원

자원은 클러스터 전체에 걸쳐 정의된 자원 유형의 인스턴스입니다. 자원 유형이 있어 여러 응용 프로그램 인스턴스가 클러스터에 설치될 수 있습니다. 자원을 초기화하면 RGM은 응용 프로그램별 등록 정보에 값을 할당하고 해당 자원은 자원 유형 수준의 모든 등록 정보를 상속합니다.

데이터 서비스는 여러 가지 유형의 자원을 사용합니다. Apache 웹 서버 또는 Sun Java System Web Server와 같은 응용 프로그램은 자신이 종속된 네트워크 주소(논리 호스트 이름 및 공유 주소)를 사용합니다. 응용 프로그램과 네트워크 자원이 RGM에 의해 관리되는 기본 단위를 구성합니다.

자원 그룹

RGM이 관리하는 자원은 하나의 단위로 관리될 수 있도록 자원 그룹에 놓입니다. 자원 그룹은 관련된 또는 상호 종속된 자원들의 집합니다. 예를 들어, SUNW.LogicalHostname 자원 유형에서 파생된 자원은 Oracle 데이터베이스 자원 유형에서 파생된 자원과 같은 자원 그룹에 속할 수 있습니다. 자원 그룹에서 페일오버나 스위치오버가 시작되면 해당 자원 그룹은 하나의 단위로서 마이그레이션합니다.

데이터 서비스 유형

데이터 서비스는 응용 프로그램이 고가용성을 가질 수 있게 하며, 확장 가능한 서비스는 클러스터 내부에서 한번의 실패가 발생한 후 심각한 응용 프로그램 중단이 발생하지 않도록 하는 데 기여합니다.

데이터 서비스를 구성할 때 다음 데이터 서비스 유형 중 하나로 구성해야 합니다.

페일오버 데이터 서비스

페일오버는 클러스터가 실패한 기본 노드에서 응용 프로그램을 찾아서 지정된 중복 보조 노드로 자동 재배치하는 프로세스입니다. 페일오버 응용 프로그램은 다음과 같은 특징을 갖습니다.

오류 모니터가 오류를 발견하면, 데이터 서비스가 구성된 방법에 따라 동일한 노드에서 인스턴스를 재시작하려고 하거나 다른 노드에서 인스턴스를 시작하려고 합니다(페일오버). 페일오버 서비스는 페일오버 자원 그룹을 사용합니다. 이 자원 그룹은 응용 프로그램 인스턴스 자원 및 네트워크 자원(논리 호스트 이름)을 위한 컨테이너입니다. 논리 호스트 이름은 하나의 노드에서 구성될 수 있는 IP 주소로, 나중에 원래 노드에서 자동으로 구성이 중지되고 다른 노드에서 구성이 시작됩니다.

클라이언트의 서비스 연결이 일시 중단되고 페일오버가 종료된 후에 다시 연결해야 하는 경우도 있습니다. 그러나 클라이언트에서는 서비스를 제공하는 물리적 서버의 변경 사항을 알 수 없습니다.

확장 가능 데이터 서비스

확장 가능 데이터 서비스는 응용 프로그램 인스턴스들이 여러 노드에서 동시에 실행될 수 있게 합니다. 확장 가능 서비스는 두 가지 자원 그룹을 사용합니다. 확장 가능 자원 그룹은 응용 프로그램 자원을 포함하며, 페일오버 자원 그룹은 확장 가능 서비스가 종속되는 네트워크 자원(공유 주소)을 포함합니다. 확장 가능 자원 그룹은 여러 노드에서 온라인 상태가 가능하므로, 서비스의 여러 인스턴스가 동시에 실행될 수 있습니다. 공유 주소를 호스팅하는 페일오버 자원 그룹은 한 번에 한 노드에서만 온라인 상태입니다. 확장 가능 서비스를 호스팅하는 모든 노드는 동일한 공유 주소를 사용하여 서비스를 호스팅합니다.

클러스터는 단일 네트워크 인터페이스(전역 인터페이스)를 통해 서비스 요청을 받습니다. 이러한 요청은 로드 균형 조정 정책이 설정한 사전 정의 알고리즘 중 하나를 기반으로 각 노드에 분산됩니다. 클러스터는 로드 균형 조정 정책을 사용하여 몇몇 노드 사이의 서비스 부하 균형을 맞추는 로드 균형 조정 정책을 사용할 수 있습니다.

병렬 응용 프로그램

Sun Cluster 시스템에서는 병렬 데이터베이스를 사용하여 클러스터의 모든 노드에 걸쳐 응용 프로그램의 병렬 실행을 공유하는 환경을 제공합니다. Sun Cluster Support for Oracle Parallel Server/Real Application Clusters는 설치되면 Oracle Parallel Server/Real Application Clusters가 Sun Cluster 노드에서 실행될 수 있게 하는 패키지의 집합입니다. 또한 이 데이터 서비스에서는 Sun Cluster 명령을 사용하여 Sun Cluster Support for Oracle Parallel Server/Real Application Clusters를 관리할 수 있게 합니다.

병렬 응용 프로그램은 클러스터 환경에서 실행되어 둘 이상의 노드에서 마스터할 수 있게 되어 있습니다. Oracle Parallel Server/Real Application Clusters 환경에서는 여러 Oracle 인스턴스가 함께 동일한 공유 주소에 대해 액세스를 제공합니다. Oracle 클라이언트는 이 인스턴스 중 어떤 것이라도 사용하여 데이터베이스에 액세스할 수 있습니다. 따라서 하나 이상의 인스턴스가 실패하더라도 클라이언트는 남아 있는 인스턴스에 연결하여 계속 데이터베이스에 액세스할 수 있습니다.