Solaris OS용 Sun Cluster 데이터 서비스 개발 안내서

자원 간 종속성 조정

경우에 따라 하나의 클라이언트-서버 데이터 서비스에서 클라이언트에 대한 요청을 이행하면서 다른 클라이언트-서버 데이터 서비스에 대한 요청을 합니다. 예를 들어, A가 서비스를 제공하기 위해 B가 서비스를 제공해야 하는 경우 데이터 서비스 A는 데이터 서비스 B에 종속됩니다. Sun Cluster에서는 자원 그룹내에서 자원 종속성을 구성할 수 있도록 허용하여 이 요구 사항을 제공합니다. 종속성은 Sun Cluster에서 데이터 서비스를 시작 및 중지하는 순서에 영향을 미칩니다. 자세한 내용은 scrgadm(1M) 설명서 페이지를 참조하십시오.

자원 유형의 자원이 다른 유형의 자원에 종속될 경우 클러스터 관리자에게 자원과 자원 그룹을 적절하게 구성하도록 지시하거나, 올바로 구성하도록 스크립트나 도구를 제공해야 합니다. 종속 자원을 “종속 대상” 자원과 동일한 노드에서 실행해야 할 경우 두 자원을 모두 동일한 자원 그룹에 구성해야 합니다.

명시적인 자원 종속성을 사용할지 또는 HA 데이터 서비스의 고유한 코드에서 다른 데이터 서비스의 가용성에 대해 명시적인 자원 종속성을 생략하고 폴링할지 여부를 결정합니다. 종속 및 종속 대상 자원을 서로 다른 노드에서 실행할 수 있는 경우 이들을 별도의 자원 그룹에 구성합니다. 이 경우 전체 그룹에 자원 종속성을 구성할 수 없기 때문에 폴링이 필요합니다.

일부 데이터 서비스에서는 직접 데이터를 저장하지 않지만, 대신 다른 백엔드 데이터 서비스에 종속되어 모든 데이터를 저장합니다. 그런 데이터 서비스에서는 모든 읽기 및 업데이트 요청을 백엔드 데이터 서비스의 호출로 변환합니다. 예를 들어, 모든 데이터를 Oracle과 같은 SQL 데이터베이스에 보관하는 가상의 클라이언트-서버 약속 캘린더 서비스를 고려해 보십시오. 약속 캘린더 서비스에는 고유한 클라이언트-서버 네트워크 프로토콜이 있습니다. 예를 들어, ONC RPC 같은 RPC 사양 언어를 사용하여 해당 프로토콜을 정의했을 수 있습니다.

Sun Cluster 환경에서 HA-ORACLE을 사용하여 백엔드 Oracle 데이터베이스의 가용성을 높일 수 있습니다. 그런 다음 약속 캘린더 데몬을 시작 및 중지하기 위한 간단한 메소드를 작성할 수 있습니다. 클러스터 관리자가 약속 캘린더 자원 유형을 Sun Cluster에 등록합니다.

약속 캘린더 응용 프로그램을 Oracle 데이터베이스와 동일한 노드에서 실행해야 할 경우 클러스터 관리자가 HA-ORACLE 자원과 동일한 자원 그룹에 약속 캘린더 자원을 구성하고, 약속 캘린더 자원을 HA-ORACLE 자원에 종속되게 합니다. 이 종속성은 scrgadmResource_dependencies 등록 정보 태그를 사용하여 지정합니다.

HA-ORACLE 자원을 약속 캘린더 자원과 다른 노드에서 실행할 수 있는 경우 클러스터 관리자는 두 개의 별도 자원 그룹에 이를 구성하고 Oracle 자원 그룹에 캘린더 자원 그룹의 자원 그룹 종속성을 구성할 수 있습니다. 그러나 자원 그룹 종속성은 자원 그룹을 모두 동일한 시간에 동일한 노드에서 시작 또는 중지할 경우에만 유효합니다. 따라서 캘린더 데이터 서비스 데몬을 시작한 후 Oracle 데이터베이스가 사용 가능하게 될 때까지 대기하도록 폴링할 수 있습니다. 캘린더 자원 유형의 Start 메소드에서는 대개 이 경우 성공을 반환합니다. 그러나 Start 메소드가 무기한 차단된 경우 이 메소드는 자원 그룹을 사용 중 상태로 만듭니다. 사용 중 상태에서는 그룹의 상태 변경(편집, 페일오버 또는 스위치오버)이 차단됩니다. 그러나 캘린더 자원의 Start 메소드가 시간 초과되거나 0 이외의 상태로 종료된 경우 Oracle 데이터베이스를 사용할 수 없는 동안에는 둘 이상의 노드 간에 자원 그룹이 핑퐁될 수 있습니다.