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

확장 가능한 자원 구현

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

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

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

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

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

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

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

자원의 RTR 파일에서 Scalable 등록 정보를 선언할 경우 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

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

LB_STICKY 또는 LB_STICKY_WILDLoad_balancing_policy가 있는 확장 가능한 서비스의 경우 서비스가 온라인 상태일 때 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에서 다음과 같은 검사를 수행합니다.