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

확장 가능한 자원 구현

확장 가능한 자원은 동시에 둘 이상의 노드에서 온라인이 될 수 있습니다. 확장 가능한 자원에는 Sun Java System Web Server용 Sun Cluster HA(이전의 Sun ONE Web Server용 Sun Cluster HA) 및 Apache용 Sun Cluster HA 같은 데이터 서비스가 포함됩니다.

RGM에서는 확장 가능한 자원의 구현을 지원하는 여러 개의 등록 정보를 제공합니다.

부울 자원 유형 등록 정보 FailoverFALSE로 설정하여 한 번에 둘 이상의 노드에서 온라인이 될 수 있는 자원 그룹에 자원이 구성될 수 있도록 합니다.

Scalable 자원 유형은 자원에서 클러스터 공유 주소 기능을 사용하는지 확인합니다. 확장 가능 서비스는 공유 주소 자원을 사용하여 확장 가능 서비스의 여러 인스턴스가 클라이언트에 단일 서비스로 나타나도록 하기 때문에 이 등록 정보를 TRUE로 설정합니다.

RG_mode 등록 정보를 사용하여 클러스터 관리자는 자원 그룹을 페일오버나 확장 가능으로 식별할 수 있습니다. RG_mode SCALABLE일 경우 RGM을 사용하면 Maximum_primaries가 1보다 큰 값을 가질 수 있습니다. 이것은 여러 노드에서 그룹을 동시에 마스터할 수 있음을 의미합니다. RGM을 사용하면 Failover 등록 정보가 FALSE인 자원을 RG_modeSCALABLE인 자원 그룹에서 인스턴스화할 수 있습니다.

클러스터 관리자는 확장 가능 서비스 자원을 포함하는 확장 가능한 자원 그룹을 만들고, 확장 가능한 자원이 종속되는 공유 주소 자원을 포함하는 별도의 페일오버 자원 그룹을 만듭니다.

클러스터 관리자는 RG_dependencies 자원 그룹 등록 정보를 사용하여 노드에서 자원 그룹을 온라인화 및 오프라인화하는 순서를 지정합니다. 확장 가능한 자원과 확장 가능한 자원이 종속되는 공유 주소 자원은 서로 다른 자원 그룹에 있기 때문에 확장 가능 서비스에는 이 순서 지정이 중요합니다. 확장 가능한 데이터 서비스를 시작하기 전에 먼저 해당 네트워크 주소(공유 주소) 자원을 활성으로 구성해야 합니다. 따라서 관리자는 확장 가능 서비스를 포함하는 자원 그룹의 RG_dependencies 등록 정보를 공유 주소 자원이 있는 자원 그룹을 포함하도록 설정해야 합니다.

자원의 RTR 파일에서 확장 가능 등록 정보를 선언할 경우 RGM에서는 자원에 대해 다음과 같은 확장 가능 등록 정보 집합을 자동으로 만듭니다.

Network_resources_used

이 자원에서 사용한 공유 주소 자원을 식별합니다. 이 등록 정보 기본값은 빈 문자열로 설정되므로 클러스터 관리자는 자원을 만들 때 확장 가능 서비스에서 사용하는 공유 주소의 실제 목록을 제공해야 합니다. scsetup 명령 및 SunPlex Manager는 확장 가능 서비스에 필요한 자원과 그룹을 자동으로 설정하기 위한 기능을 제공합니다.

Load_balancing_policy

자원의 로드 균형 조정 정책을 지정합니다. RTR 파일에서 정책을 명시적으로 설정하거나 기본값 LB_WEIGHTED를 사용할 수 있습니다. 어떤 경우든 RTR 파일에서 Load_balancing_policy에 대한 TunableNONE 또는 FALSE로 설정하지 않는 한 클러스터 관리자는 자원을 만들 때 값을 변경할 수 있습니다. 올바른 값은 다음과 같습니다.

LB_WEIGHTED

Load_balancing_weights 등록 정보에 설정된 가중치에 따라 여러 노드로 로드를 분산합니다.

LB_STICKY

확장 가능 서비스의 해당 클라이언트(클라이언트 IP 주소로 식별)는 항상 같은 클러스터 노드로 전송됩니다.

LB_STICKY_WILD

와일드카드 sticky 서비스의 IP 주소에 연결되는 해당 클라이언트(클라이언트의 IP 주소로 식별됨)는 포트 번호와 관계없이 항상 같은 클러스터 노드로 전송됩니다.

Load_balancing_policy LB_STICKY 또는 LB_STICKY_WILD가 있는 확장 가능한 서비스의 경우 서비스가 온라인 상태일 때 Load_balancing_weights를 변경하면 기존 클라이언트 유사성이 다시 설정될 수 있습니다. 그럴 경우 클러스터의 다른 노드에서 이전에 클라이언트를 사용했더라도 다른 노드에서 후속 클라이언트 요청을 서비스할 수 있습니다.

마찬가지로 클러스터에서 서비스의 새로운 인스턴스를 시작하면 기존 클라이언트 유사성이 다시 설정될 수 있습니다.

Load_balancing_weights

각 노드에 전송할 로드를 지정합니다. 형식은 weight@node, weight@node입니다. 여기서 weight는 지정한 node에 분산된 로드의 상대적인 비율을 반영하는 정수입니다. 노드에 분산되는 로드의 분수는 이 노드에 대한 가중치를 활성 인스턴스의 모든 가중치의 합으로 나눈 것입니다. 예를 들면, 1@1,3@2는 노드 1에서 1/4의 로드를 수신하고, 노드 2에서 3/4의 로드를 수신하도록 지정합니다.

Port_list

서버가 수신하고 있는 포트를 식별합니다. 이 등록 정보의 기본값은 빈 문자열입니다. RTR 파일에서 포트 목록을 제공할 수 있습니다. 그렇지 않으면 클러스터 관리자는 자원을 만들 때 실제 포트 목록을 제공해야 합니다.

관리자가 확장 가능 또는 페일오버로 구성할 수 있는 데이터 서비스를 만들 수 있습니다. 그렇게 하려면 데이터 서비스의 RTR 파일에서 Failover 자원 유형 등록 정보와 Scalable 자원 유형을 FALSE로 선언하십시오. 만들 때 조정 가능한 Scalable 등록 정보를 지정합니다.

Failover 등록 정보 값(FALSE)을 사용하면 자원을 확장 가능한 자원 그룹에 구성할 수 있습니다. 관리자는 자원을 만들 때 Scalable의 값을 TRUE로 변경하여 공유 주소를 사용 가능하게 하여 확장 가능 서비스를 만들 수 있습니다.

한편 FailoverFALSE로 설정하더라도 관리자는 자원을 페일오버 자원 그룹으로 구성하여 페일오버 서비스를 구현할 수 있습니다. 관리자는 FALSEScalable의 값을 변경하지 않습니다. 이러한 불확정성을 지원하기 위해 Scalable 등록 정보에서 Validate 메소드를 선택해야 합니다. ScalableFALSE일 경우 자원이 페일오버 자원 그룹에 구성되는지 확인합니다.

확장 가능한 자원에 대한 추가 정보는 Solaris OS용 Sun Cluster 개념 안내서에 있습니다.

확장 가능 서비스에 대한 검증 검사

확장 가능 등록 정보를 TRUE로 설정하여 자원을 만들거나 업데이트할 경우 RGM에서 다양한 자원 등록 정보를 검증합니다. 등록 정보가 제대로 구성되지 않은 경우 RGM은 시도된 업데이트나 만들기를 거부합니다. RGM에서 다음과 같은 검사를 수행합니다.