Sun Cluster 시스템에서는 응용 프로그램을 가용성과 확장성이 높은 자원으로 실행 및 관리할 수 있습니다. RGM (Resource Group Manager)으로 알려진 클러스터 기능은 고가용성 및 확장성을 위한 기법을 제공합니다. 이 기능에 대한 프로그래밍 인터페이스를 구성하는 요소는 다음과 같습니다.
콜백 메소드를 작성하는 데 사용할 수 있는 저급 API 명령 및 함수 집합인 자원 관리 API(RMAPI). 이러한 API는 libscha.so 라이브러리에서 구현됩니다.
저급 API 및 프로세스 관리 기능을 상위 수준에서 캡슐화하고 콜백 메소드를 쉽게 작성할 수 있도록 일부 다른 기능을 추가하는 라이브러리 함수 집합인 데이터 서비스 개발 라이브러리(DSDL). 이 함수는 libdsdev.so 라이브러리에서 구현됩니다.
Sun Cluster 패키지에 포함되어 있는 항목은 데이터 서비스를 만드는 과정을 자동화하는 도구인 SunPlexTMAgent Builder입니다(제 9 장 참조). Agent Builder는 C 쉘(DSDL 함수를 사용하여 콜백 메소드 작성)이나 Korn 쉘(ksh)(저급 API 명령을 사용하여 콜백 메소드 작성)로 데이터 서비스 코드를 생성합니다.
RGM은 각 클러스터 노드에서 데몬으로 실행되거나 미리 구성된 정책에 따라 선택된 노드에서 자원을 자동으로 시작 및 중지합니다. RGM은 영향을 받은 노드에서 자원을 중지하고 다른 노드에서 자원을 시작함으로써 노드 실패 및 재부트의 경우에 자원의 가용성을 높여줍니다. 또한 RGM은 자원 실패를 감지하고 실패한 자원을 다른 노드로 재할당하거나 자원 성능의 다른 측면을 모니터할 수 있는 자원별 모니터를 자동으로 시작 및 중지합니다.
RGM은 한 번에 하나의 노드에서만 온라인 상태가 될 수 있는 페일오버 자원과 동시에 여러 노드에서 온라인 상태가 될 수 있는 확장 가능 자원을 모두 지원합니다.