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

출력

이 절에서는 Agent Builder에서 생성하는 출력에 대해 설명합니다.

소스 및 이진 파일

자원 그룹과 궁극적으로 클러스터의 자원을 관리하는 RGM (Resource Group Manager)은 콜백 모델에서 작동합니다. 노드 실패 같은 특정 이벤트가 발생할 경우 RGM은 영향을 받은 노드에서 실행 중인 각 자원에 대한 자원 유형의 메소드를 호출합니다. 예를 들어, RGM은 영향을 받은 노드에서 실행 중인 자원을 중지하기 위해 Stop 메소드를 호출한 다음 자원의 Start 메소드를 호출하여 다른 노드에서 자원을 시작합니다. 이 모델에 대한 자세한 내용은 RGM 모델, 콜백 메소드rt_callbacks(1HA) 설명서 페이지를 참조하십시오.

이 모델을 지원하기 위해 Agent Builder는 install_directory/rt_name/bin 디렉토리에 8개의 실행 가능한 프로그램(C)이나 콜백 메소드 역할을 하는 스크립트(ksh)를 생성합니다.


주 –

엄격하게 말하자면 오류 모니터를 구현하는 rt_name _probe 프로그램은 콜백 프로그램이 아닙니다. RGM에서는 rt_name _probe를 직접 호출하지 않지만, rt_name_probe를 호출하여 오류 모니터를 시작 및 중지하는 rt_name _monitor_startrt_name _monitor_stop을 호출합니다.


Agent Builder에서 생성하는 8개의 메소드는 다음과 같습니다.

각 메소드에 대한 자세한 내용은 rt_callbacks(1HA) 설명서 페이지를 참조하십시오.

install_directory/ rt_name/src 디렉토리(C 출력)에서 Agent Builder는 다음 파일을 생성합니다.

Agent Builder는 rt_name .o 파일을 각 메소드 .o 파일에 연결하여 install_directory/ rt_name/bin 디렉토리에 실행 가능 파일을 만듭니다.

ksh 출력의 경우 install_directory /rt_name/bin install_directory/rt_name/src 디렉토리는 동일합니다.—각 디렉토리에는 7개의 콜백 메소드와 PROBE 메소드에 해당하는 8개의 실행 가능한 스크립트가 포함됩니다.


주 –

ksh 출력에는 시간을 갖고 검사하기 위해 특정 콜백 메소드에서 요구하는 2개의 컴파일된 유틸리티 프로그램(gettimegethostnames)이 포함됩니다.


소스 코드를 편집하고 make 명령을 실행하여 코드를 다시 컴파일할 수 있습니다. 작업을 마치면 make pkg 명령을 실행하여 새 패키지를 생성합니다. 소스 코드 변경을 지원하기 위해 Agent Builder는 코드를 추가할 소스 코드의 해당 위치에 주석을 포함시킵니다. 생성된 소스 코드 편집를 참조하십시오.

유틸리티 스크립트 및 설명서 페이지

자원 유형을 생성하고 클러스터에 해당 패키지를 설치한 경우 일반적으로 관리 명령이나 SunPlex Manager를 사용하여 클러스터에서 실행 중인 자원 유형의 인스턴스(자원)를 가져와야 합니다. 그러나 편의상 Agent Builder는 대상 자원 유형의 자원을 중지 및 제거하기 위한 스크립트뿐만 아니라 이러한 용도의 사용자 정의 유틸리티 스크립트(시작 스크립트)를 생성합니다. install_directory /rt_name/util 디렉토리에 있는 세 개의 스크립트는 다음을 수행합니다.


주 –

해당하는 시작 스크립트에서 시작한 자원에만 제거 스크립트를 사용할 수 있습니다. 이는 스트립트가 내부 규칙을 사용하여 자원 및 자원 그룹 이름을 지정하기 때문입니다.


Agent Builder는 응용 프로그램 이름을 스크립트 이름에 추가하여 이 스크립트 이름을 지정합니다. 예를 들어, 응용 프로그램 이름이 ftp일 경우 스크립트 이름은 startftp, stopftpremoveftp입니다.

Agent Builder는 각 유틸리티 스크립트의 install_directory /rt_name/man/man1m 디렉토리에 설명서 페이지를 제공합니다. 스크립트에 전달해야 할 매개 변수가 이 설명서 페이지에 설명되어 있으므로 스크립트를 시작하기 전에 이 설명서 페이지를 읽어보십시오.

이 설명서 페이지를 보려면 man 명령과 함께 -M 옵션을 사용하여 설명서 디렉토리 경로를 지정합니다. 예를 들어, SUNW가 공급업체이고 ftp가 응용 프로그램 이름일 경우 다음 명령을 사용하여 startftp(1M) 설명서 페이지를 봅니다.


man -M install_directory/SUNWftp/man startftp

클러스터 관리자도 설명서 페이지 유틸리티 스크립트를 사용할 수 있습니다. Agent Builder에서 생성한 패키지를 클러스터에 설치한 경우 유틸리티 스크립트의 설명서 페이지는 /opt/ rt_name/man 디렉토리에 있습니다. 예를 들면, 다음 명령을 사용하여 startftp(1M) 설명서 페이지를 봅니다.


man -M /opt/SUNWftp/man startftp

지원 파일

Agent Builder는 pkginfo, postinstall, postremovepreremove 같은 지원 파일을 install_directory/rt_name/etc 디렉토리에 저장합니다. 이 디렉토리에는 대상 자원 유형에 사용 가능한 자원 및 자원 유형 등록 정보를 선언하는 자원 유형 등록(RTR) 파일도 포함되며 자원을 클러스터에 등록할 경우 등록 정보값을 초기화합니다(자세한 내용은 자원 및 자원 유형 등록 정보 설정 참조). RTR 파일은 vendor_name. resource_type_name(예: SUNW.ftp)으로 이름이 지정됩니다.

표준 텍스트 편집기를 사용하여 이 파일을 편집하고 소스 코드를 다시 컴파일하지 않고 변경할 수 있습니다. 그러나 make pkg 명령을 사용하여 패키지를 다시 만들어야 합니다.

패키지 디렉토리

install_directory/rt_name/pkg 디렉토리에는 Solaris 패키지가 포함됩니다. 패키지 이름은 공급업체 이름과 응용 프로그램 이름을 결합한 이름(예: SUNWftp)입니다. install_directory/rt_name/src 디렉토리의 Makefile에서는 새 패키지 작성을 지원합니다. 예를 들어, 소스 파일을 변경하고 코드를 다시 컴파일하거나 패키지 유틸리티 스크립트를 변경한 경우 make pkg 명령을 사용하여 새 패키지를 만듭니다.

클러스터에서 패키지를 제거한 경우 둘 이상의 노드에서 동시에 명령을 실행하면 pkgrm 명령이 실패할 수 있습니다. 다음 두 가지 방법 중 하나로 이 문제를 해결할 수 있습니다.

여러 노드에서 동시에 실행해서 pkgrm이 실패한 경우 한 노드에서 다시 실행한 다음 나머지 노드에서 실행합니다.

rtconfig 파일

작업 디렉토리에 C 또는 ksh 소스 코드를 생성한 경우 Agent Builder는 사용자가 Create 화면과 Configure 화면에서 입력한 정보를 포함하는 구성 파일 rtconfig를 생성합니다. 기존 자원 유형의 작업 디렉토리에서 Agent Builder를 시작하거나 File 메뉴의 Load Resource Type 명령을 사용하여 기존 자원 유형을 로드한 경우 Agent Builder는 rtconfig 파일을 읽고 Create 화면과 Configure 화면을 기존 자원 유형에 제공된 정보로 채웁니다. 기존 자원 유형을 복제할 경우 이 기능이 유용합니다(기존 자원 유형 복제 참조).