Sun Custer 3.0 5/02 추가 정보

GDS 개요

GDS는 단순한 네트워크 인식 응용프로그램을 Sun Cluster의 Resource Group Management 프레임워크에 연결하여 가용성이 높거나 확장 가능하게 만드는 메커니즘입니다. 이 메커니즘에서는 일반적인 방법으로 응용프로그램의 가용성을 높이거나 확장 가능하게 만들 때처럼 에이전트를 코딩할 필요가 없습니다.

GDS는 사전에 컴파일된 하나의 데이터 서비스입니다. 이 방법에서는 사전에 컴파일된 데이터 서비스와 구성 요소, 콜백 메소드(rt_callbacks(1HA)) 구현 및 자원 유형 등록 파일(rt_reg(4))을 수정할 수 없습니다.

사전에 컴파일된 자원 유형

범용 데이터 서비스 자원 유형 SUNW.gdsSUNWscgds 패키지에 포함되어 있습니다. 클러스터를 설치할 때 scinstall(1M) 유틸리티가 이 패키지를 설치합니다. SUNWscgds 패키지에는 다음과 같은 파일이 포함되어 있습니다.


# pkgchk -v SUNWscgds
 
/opt/SUNWscgds 
/opt/SUNWscgds/bin 
/opt/SUNWscgds/bin/gds_monitor_check 
/opt/SUNWscgds/bin/gds_monitor_start 
/opt/SUNWscgds/bin/gds_monitor_stop 
/opt/SUNWscgds/bin/gds_probe 
/opt/SUNWscgds/bin/gds_svc_start 
/opt/SUNWscgds/bin/gds_svc_stop 
/opt/SUNWscgds/bin/gds_update 
/opt/SUNWscgds/bin/gds_validate 
/opt/SUNWscgds/etc 
/opt/SUNWscgds/etc/SUNW.gds

GDS를 사용하는 이유

GDS를 사용할 경우에는 SunPlex Agent Builder가 만드는 소스 코드 모델(scdscreate(1HA) 참조)이나 표준 Sun Cluster 관리 명령을 사용하는 경우보다 좋은 다음과 같은 이점이 있습니다.

GDS를 사용하여 서비스를 구성하는 방법

다음 두 가지 방법으로 GDS를 사용하는 서비스를 구성할 수 있습니다.

GDS 및 SunPlex Agent Builder

SunPlex Agent Builder를 사용하고 만들어지는 소스 코드 유형으로 GDS를 선택하십시오. 지정된 응용프로그램을 위한 자원을 구성하는 관리 스크립트 세트를 만드는 데는 사용자 입력이 사용됩니다.

GDS 및 표준 Sun Cluster 관리 명령

이 방법에서는 SUNWscgds에 있는 사전에 컴파일된 데이터 서비스 코드를 사용하지만 시스템 관리자가 표준 Sun Cluster 관리 명령(scrgadm(1M) 및 scswitch(1M))을 사용하여 자원을 만들고 구성해야 합니다.

GDS 기반 서비스를 구성하는 데 사용할 방법을 선택하는 방법

절차 "GDS를 사용하는 가용성이 높은 서비스를 구성하는 표준 Sun Cluster 관리 명령""GDS를 사용하는 확장 가능 서비스를 구성하는 표준 Sun Cluster 관리 명령"에서 설명하는 것처럼 필요한 scrgadmscswitch 명령을 실행하려면 많은 양을 입력해야 합니다.

SunPlex Agent Builder를 통해 GDS를 사용하면 scrgadmscswitch 명령을 대신 실행해 주는 관리 스크립트를 만들기 때문에 간단하게 처리할 수 있습니다.

GDS가 적합하지 않은 경우

GDS를 사용하면 많은 이점이 있지만 GDS를 사용하는 것이 적합하지 않은 경우가 있습니다. 다음과 같은 경우에는 GDS를 사용하지 않는 것이 좋습니다.

GDS 필수 입력

다음 등록 정보는 반드시 제공해야 합니다.

Start_command

Start_command 등록 정보에 지정되는 시작 명령은 응용프로그램을 실행합니다. 이 명령은 셸에 바로 전달되어 응용프로그램을 시작할 수 있도록 인수가 모두 지정된 UNIX 명령이어야 합니다.

Port_list

Port_list는 응용프로그램이 수신 대기하는 포트 목록입니다. Port_list 등록 정보는 SunPlex Agent Builder에 의해 작성되는 시작 스크립트에 지정되거나 표준 Sun Cluster 관리 명령을 사용할 경우에는 scrgadm 명령에 지정되어야 합니다.

GDS 선택 입력

GDS의 선택적 입력 사항은 다음과 같습니다.

Network_resources_used

이 등록 정보의 기본값은 Null입니다. 응용프로그램이 하나 이상의 주소에 바인드되어야 하는 경우에는 이 등록 정보를 지정해야 합니다. 이 등록 정보가 생략되거나 Null로 지정되면 응용프로그램이 모든 주소에서 수신하는 것으로 처리됩니다.

GDS 자원을 구성하기 전에 LogicalHostname 또는 SharedAddress 자원이 이미 구성되어 있어야 합니다. LogicalHostname 또는 SharedAddress 자원을 구성하는 방법은 Sun Cluster 3.0 12/01 Data Services Installation and Configuration Guide를 참조하십시오.

값을 지정하려면 자원 이름을 하나 이상 지정하십시오. 각 자원 이름은 하나 이상의 논리 호스트 이름이나 하나 이상의 공유 주소를 포함할 수 있습니다. 자세한 내용은 r_properties(5)를 참조하십시오.

Stop_command

중지 명령은 응용프로그램을 중지시키고 응용프로그램이 완전히 중지된 후에만 반환해야 합니다. 이 명령은 셸에 바로 전달되어 응용프로그램을 중지시킬 수 있도록 완성된 UNIX 명령이어야 합니다.

Stop_command를 입력하면 중지 시간 초과의 80% 상태에서 GDS 중지 메소드가 중지 명령을 실행합니다. 중지 명령의 실행 결과와 관계없이 GDS 중지 명령은 중지 시간 초과의 15% 상태에서 SIGKILL을 전달합니다. 남은 5% 시간은 하우스키핑 오버헤드를 위해 예약됩니다.

중지 명령이 생략되면 GDS가 Stop_signal에 지정된 신호를 사용하여 응용프로그램을 중지시킵니다.

Probe_command

프로브 명령은 지정된 응용프로그램의 안정성을 주기적으로 검사합니다. 이 명령은 셸에 바로 전달되어 응용프로그램을 검사할 수 있도록 인수가 모두 지정된 UNIX 명령이어야 합니다. 프로브 명령을 실행하면 응용프로그램이 정상일 경우에 종료 상태 0을 반환합니다.

프로브 명령의 종료 상태는 응용프로그램의 장애 수준을 확인하는 데 사용됩니다. 프로브 상태라고 부르는 이 종료 상태는 0(성공)과 100(완전한 실패) 사이의 정수이어야 합니다. 프로브 상태가 특수한 값 201이 될 수도 있는데, 이 값이 반환되면 Failover_enabled가 false로 설정되지 않은 경우에 즉시 응용프로그램을 페일오버합니다. 프로브 상태는 GDS 프로빙 알고리즘(scds_fm_action(3HA) 참조)에서 응용프로그램을 로컬로 다시 시작할 것인지 아니면 다른 노드로 페일오버할 것인지를 결정하는 데 사용됩니다. 종료 상태가 201이면 응용프로그램이 즉시 페일오버됩니다.

프로브 명령이 생략되면 GDS가 Newtork_resources_used에 있는 IP 주소 세트나 scds_get_netaddr_list(3HA)의 결과를 통해 응용프로그램에 연결하는 간단한 자체 프로브를 제공합니다. 연결에 성공하면 즉시 연결을 끊습니다. 연결과 연결 끊기가 모두 성공하면 응용프로그램이 안정적으로 실행되는 것으로 판단할 수 있습니다.


주 -

GDS에 의해 제공되는 프로브는 완전한 기능의 응용프로그램 프로브를 대신하여 간단한 기능만 합니다.


Start_timeout

이 등록 정보는 시작 명령에 대한 시작 시간 초과를 지정합니다(자세한 내용은 "Start_command" 참조). Start_timeout의 기본값은 300초입니다.

Stop_timeout

이 등록 정보는 중지 명령에 대한 중지 시간 초과를 지정합니다(자세한 내용은 "Stop_command" 참조). Stop_timeout의 기본값은 300초입니다.

Probe_timeout

이 등록 정보는 프로브 명령에 대한 시간 초과 값을 지정합니다(자세한 내용은 "Probe_command" 참조). Probe_timeout의 기본값은 30초입니다.

Child_mon_level

이 등록 정보는 PMF를 통해 프로세스를 모니터하는 컨트롤을 제공합니다. 이 등록 정보는 분기된 자식 프로세스에 대한 모니터 범위를 나타냅니다. 이 등록 정보는 pmfadm(1M) 명령에 -C 인수를 사용한 것과 비슷합니다.

이 등록 정보를 생략하거나 기본값 -1로 설정하면 pmfadm 명령에서 -C 옵션을 생략한 것과 동일한 기능을 합니다. 즉, 모든 자식(하위) 프로세스(상위 프로세스 포함)가 모두 모니터됩니다. 자세한 내용은 pmfadm(1M) 설명서 페이지를 참조하십시오.


주 -

이 옵션 지정에는 표준 Sun Cluster 관리 명령만 사용할 수 있습니다. SunPlex Agent Builder를 사용하는 경우에는 이 옵션을 지정할 수 없습니다.


Failover_enabled

이 부울 확장 등록 정보는 자원의 페일오버 작동을 제어합니다. 이 확장 등록 정보가 true로 설정되면 retry_interval에 지정된 초 단위 시간 내에 시작 횟수가 retry_count를 초과할 경우에 응용프로그램이 페일오버됩니다.

이 확장 등록 정보가 false로 설정되면 retry_interval의 초 단위 시간 내에 재시작 횟수가 retry_count를 초과할 경우에 응용프로그램이 다시 시작되거나 다른 노드로 페일오버되지 않습니다.

이 확장 등록 정보를 사용하면 응용프로그램 자원이 자원 그룹의 페일오버를 시작하지 못하게 할 수 있습니다. 기본값은 true입니다.

Stop_signal

GDS는 이 정수 확장 등록 정보를 사용하여 PMF를 통해 응용프로그램을 중지시키는 데 사용할 신호를 결정합니다. 지정할 수 있는 정수 값 목록은 signal(3head)을 참조하십시오. 기본값은 15(SIGTERM)입니다.