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

9장 SunPlex Agent Builder

이 장에서는 자원 유형이나 데이터 서비스의 작성이 RGM(Resource Group Manager)의 제어하에 실행되는 것을 자동화하는 도구인 SunPlex Agent Builder와 Agent Builder용 Cluster Agent 모듈에 대해 설명합니다. 자원 유형은 클러스터 환경에서 RGM의 제어하에 응용 프로그램을 실행시키는 응용 프로그램 래퍼입니다.

이 장은 다음 내용으로 구성되어 있습니다.

Agent Builder 개요

Agent Builder에서는 응용 프로그램과 작성할 자원 유형의 종류에 대한 정보를 입력하기 위한 화면 기반 인터페이스를 제공합니다.


주 –

Agent Builder의 그래픽 사용자 인터페이스 버전에 액세스할 수 없는 경우 명령줄 인터페이스를 통해 Agent Builder에 액세스할 수 있습니다. Agent Builder 명령줄 버전 사용 방법을 참조하십시오.


입력한 정보에 따라 Agent Builder에서는 다음과 같은 소프트웨어를 생성합니다.

Agent Builder는 네트워크를 사용하여 클라이언트와 통신하는 응용 프로그램인 네트워크 인식 응용 프로그램뿐 아니라 네트워크를 인식하지 않는(독립 실행형) 응용 프로그램도 지원합니다. 또한 Agent Builder를 사용하여 PMF(Process Monitor Facility)에서 모니터해야 하고 개별적으로 다시 시작해야 하는 다중 독립 프로세스 트리를 가진 응용 프로그램에 대한 자원 유형을 생성할 수 있습니다. 다중 독립 프로세스 트리를 가진 자원 유형 만들기을 참조하십시오.

Agent Builder를 사용하기 전에 알아야 할 사항

다음 절에서는 Agent Builder를 사용하기 전에 알아야 하는 정보를 제공합니다.

다중 독립 프로세스 트리를 가진 자원 유형 만들기

Agent Builder에서는 다중 독립 프로세스 트리를 가진 응용 프로그램에 대한 자원 유형을 만들 수 있습니다. 이러한 프로세스 트리는 PMF에서 개별적으로 모니터하고 시작한다는 점에서 독립적입니다. PMF는 고유한 태그를 사용하여 각 프로세스를 시작합니다.


주 –

지정하는 생성된 소스 코드가 C 또는 GDS인 경우에만 Agent Builder를 사용하여 다중 독립 프로세스 트리를 가진 자원 유형을 만들 수 있습니다. Korn 쉘에 대해서는 Agent Builder를 사용하여 이러한 자원 유형을 만들 수 없습니다. Korn 쉘에 대해 이러한 자원 유형을 만들려면 수동으로 코드를 작성해야 합니다.


다중 독립 프로세스 트리를 가진 기본 응용 프로그램의 경우 단일 명령줄을 지정하여 응용 프로그램을 시작할 수 없습니다. 그보다는 텍스트 파일을 만들어 각각의 줄이 명령에 대한 전체 경로를 지정하여 응용 프로그램 프로세스 트리 중 하나를 시작해야 합니다. 이 파일의 모든 줄은 공백이 아니어야 합니다. Configure 화면의 Start Command 텍스트 필드에 이 텍스트 파일을 지정합니다.

이 파일에 실행 권한을 부여하지 않으면 Agent Builder에서 이 파일을 구별하여 단순 실행 가능 스크립트로 여러 프로세스 트리를 시작할 수 있습니다. 텍스트 파일에 실행 권한이 제공된 경우 해당 자원은 클러스터에 아무 문제나 오류 없이 나타나지만 모든 명령은 하나의 PMF 태그로 시작됩니다. 따라서 PMF에서 개별적으로 프로세스 트리를 모니터하거나 다시 시작할 수 없습니다.

Agent Builder 사용

이 절에서는 Agent Builder 사용 전에 완료해야 할 작업을 포함하여 Agent Builder 사용 방법에 대해 설명합니다. 또한 이 절에서는 자원 유형 코드를 생성한 후의 Agent Builder 이용 방법에 대해서도 설명합니다.

이 장은 다음 내용으로 구성되어 있습니다.

응용 프로그램 분석

Agent Builder를 사용하려면 먼저 응용 프로그램이 가용성 또는 확장성이 뛰어난 응용 프로그램이 되기 위한 기준을 충족시키는지 확인해야 합니다. Agent Builder에서는 응용 프로그램의 런타임 특성만을 토대로 분석을 하므로 이러한 분석을 수행할 수 없습니다. 이에 대한 자세한 내용은 응용 프로그램 적합성 분석를 참조하십시오.

Agent Builder는 사용자 응용 프로그램에 대해 항상 전체 자원 유형을 생성할 수 있는 것은 아니지만 대부분의 경우 적어도 부분적인 솔루션을 제공합니다. 예를 들어, 보다 복잡한 응용 프로그램에는 Agent Builder에서 기본적으로 생성하지 않는 추가 코드가 필요할 수 있습니다. 이러한 코드로는 추가 등록 정보에 대한 검증 확인을 추가하는 코드, Agent Builder에서 제공하지 않는 매개 변수를 조정하는 코드가 포함됩니다. 이런 경우 생성된 소스 코드나 RTR 파일을 변경해야 합니다. Agent Builder는 이런 종류의 융통성을 제공할 수 있도록 설계되었습니다.

Agent Builder에서는 사용자가 자신만의 특정 자원 유형 코드를 추가할 수 있는 생성된 소스 코드의 특정 지점에 주석을 배치합니다. 소스 코드를 변경한 후 Agent Builder에서 생성한 makefile을 사용하여 소스 코드를 다시 컴파일하고 자원 유형 패키지를 다시 생성할 수 있습니다.

Agent Builder에서 생성한 코드를 사용하지 않고 전체 자원 유형 코드를 작성한 경우라도 Agent Builder에서 제공한 makefile 및 구조를 이용하여 자원 유형에 대한 Solaris 패키지를 만들 수 있습니다.

Agent Builder 설치 및 구성

Agent Builder에는 특수 설치가 필요하지 않습니다. Agent Builder는 SUNWscdev 패키지에 포함되어 있습니다. 이 패키지는 기본적으로 표준 Sun Cluster 소프트웨어 설치 중에 설치됩니다. 자세한 내용은 Solaris OS용 Sun Cluster 소프트웨어 설치 안내서를 참조하십시오.

Agent Builder를 사용하기 전에 다음을 확인하십시오.


주 –

표준 cc 컴파일러가 아닌 다른 컴파일러를 Agent Builder와 함께 사용할 수 있습니다. 다른 컴파일러를 사용하려면 cc에서 gcc 등 다른 컴파일러로 $PATH에 심볼릭 링크를 만듭니다. 또는 makefile(현재 CC=cc)의 컴파일러 사양을 다른 컴파일러의 절대 경로로 변경합니다. 예를 들어, Agent Builder에서 생성한 makefile에서 CC=ccCC=pathname/gcc로 변경합니다. 이 경우 Agent Builder를 직접 실행할 수 없으며 데이터 서비스 코드와 패키지를 생성하려면 makemake pkg 명령을 사용해야 합니다.


Agent Builder 화면

Agent Builder는 단계별로 해당 화면이 있는 2단계 마법사입니다. Agent Builder에서는 다음과 같이 새로운 자원 유형 작성 프로세스를 안내하는 두 개의 화면을 제공합니다.

  1. 만들기. 이 화면에서 생성할 자원 유형에 대한 기본 정보(예: 이름, 생성된 파일의 작업 디렉토리 등)를 제공합니다. 작업 디렉토리는 자원 유형 템플리트를 만들고 구성하는 위치입니다. 또한 만들려는 자원의 종류(확장 가능 또는 페일오버), 기본 응용 프로그램이 네트워크를 인식하는지 여부(즉, 클라이언트와 통신하기 위해 네트워크를 사용하는지 여부) 및 생성할 코드 유형(C, Korn 쉘(ksh) 또는 GDS)을 지정합니다. GDS에 대한 자세한 내용은 제 10 장, 일반 데이터 서비스을 참조하십시오. 이 화면에 대한 모든 정보를 제공하고 Create를 선택하여 해당 출력을 생성해야 합니다. 그런 다음 구성 화면을 표시할 수 있습니다.

  2. 구성. 이 화면에서 UNIX® 쉘에 전달될 수 있는 전체 명령줄을 지정하여 기본 응용 프로그램을 시작해야 합니다. 또는 응용 프로그램을 중지 및 검사하기 위한 명령을 제공할 수 있습니다. 이러한 명령을 지정하지 않은 경우 생성된 출력은 신호를 사용하여 응용 프로그램을 중지하고 기본 검사 기법을 제공합니다. 검사 명령에 대한 자세한 내용은 Configure 화면 사용을 참조하십시오. 이 화면을 사용하여 세 명령 각각의 시간 초과값도 변경할 수 있습니다.

Agent Builder 시작


주 –

Agent Builder의 그래픽 사용자 인터페이스 버전에 액세스할 수 없는 경우 명령줄 인터페이스를 통해 Agent Builder에 액세스할 수 있습니다. Agent Builder 명령줄 버전 사용 방법을 참조하십시오.



주 –

기존 자원 유형의 작업 디렉토리에서 Agent Builder를 시작한 경우 Agent Builder에서 Create 및 Configure 화면을 기존 자원 유형 값으로 초기화합니다.


다음 명령을 입력하여 Agent Builder를 시작합니다.


% /usr/cluster/bin/scdsbuilder

Create 화면이 나타납니다.

그림 9–1 Create 화면

주 Agent Builder 화면을 표시하는 SunPlex Agent Builder라는 대화 상자

Agent Builder 탐색

다음 작업을 수행하여 Create 및 Configure 화면에 대한 정보를 입력합니다.

각 화면 아래 있는 옵션을 사용하면 작업을 완료하거나 다음 또는 이전 화면으로 이동하거나 Agent Builder를 종료할 수 있습니다. Agent Builder는 이 옵션을 상황에 맞게 강조 표시하거나 비활성화합니다.

예를 들어, Create 화면에서 필드를 입력하고 원하는 옵션을 선택한 경우 화면 아래 있는 Create을 누릅니다. 이전 화면이 없고 이 화면을 완료하기 전에는 다음 단계로 이동할 수 없기 때문에 Previous 및 Next는 비활성화됩니다.

Create, Previous, Next 및 Cancel 명령을 표시하는 화면 아래쪽 패널

Agent Builder는 화면 아래 있는 출력 로그 영역에 진행 메시지를 표시합니다. Agent Builder가 완료되면 성공 메시지를 표시하거나 출력 로그를 확인하라는 경고 메시지를 표시합니다. Next가 강조 표시됩니다. 마지막 화면인 경우에는 Cancel만 강조 표시됩니다.

언제든지 Cancel을 선택하여 Agent Builder를 종료할 수 있습니다.

찾아보기

특정 Agent Builder 필드를 사용하여 정보를 입력하거나 Browse를 눌러 디렉토리 구조를 찾아보고 파일이나 디렉토리를 선택할 수 있습니다.

Browse 명령

Browse를 누르면 다음 화면과 유사한 화면이 나타납니다.

파일 목록을 표시하는 Browse 화면

폴더를 두 번 눌러 폴더를 엽니다. 커서를 파일로 이동하면 파일 이름이 파일 이름 상자에 표시됩니다. 원하는 파일을 찾아서 커서를 이동한 다음 Select를 누릅니다.


주 –

디렉토리를 찾으려면 커서를 원하는 디렉토리로 이동하고 Open을 누릅니다. 하위 디렉토리가 없으면 Agent Builder에서 찾아보기 창을 닫고 커서를 이동한 디렉토리 이름을 해당하는 필드에 넣습니다. 디렉토리에 하위 디렉토리가 있는 경우 Close를 눌러 찾아보기 창을 닫고 이전 화면을 다시 표시합니다. Agent Builder에서 커서를 이동한 디렉토리 이름을 해당 필드에 넣습니다.


화면의 오른쪽 위 모서리에 있는 아이콘에서 다음을 수행합니다.

위쪽 화살표를 표시하는 아이콘

 

디렉토리 트리에서 한 수준 위로 이동합니다. 

홈을 표시하는 아이콘

 

홈 폴더로 되돌아갑니다. 

새 폴더를 표시하는 아이콘

 

현재 선택된 폴더에 새 폴더를 만듭니다. 

뷰를 변경하기 위해 사용하는 아이콘

 

서로 다른 뷰 간을 전환하기 위한 이 아이콘은 나중에 사용하기 위해 예약되어 있습니다. 

메뉴

Agent Builder는 File 및 Edit 풀다운 메뉴를 제공합니다.

File 메뉴

File 메뉴에는 다음과 같은 두 가지 옵션이 있습니다.

Edit 메뉴

Edit 메뉴에는 다음과 같은 두 가지 옵션이 있습니다.

Create 화면 사용

Create 화면

자원 유형을 만들기 위한 첫 번째 단계는 Agent Builder를 시작할 때 나타나는 Create 화면을 채우는 것입니다. 다음 그림에서는 필드에 정보를 입력한 후의 Create 화면을 보여줍니다.

그림 9–2 Create 화면

정보를 입력한 후의 Create 화면을 표시하는 대화 상자

Create 화면에는 다음과 같은 필드, 라디오 버튼 및 확인란이 포함되어 있습니다.


주 –

cc 컴파일러가 $PATH에 없는 경우 Agent Builder에서 C 라디오 버튼을 비활성화하고 ksh 라디오 버튼을 선택하도록 허용합니다. 다른 컴파일러를 지정하려면 Agent Builder 설치 및 구성 마지막 부분의 설명을 참조하십시오.


필수 정보를 입력한 후 Create을 누르십시오. 화면 아래의 Output Log 창에서는 Agent Builder가 수행 중인 작업을 표시합니다. Edit 메뉴에서 Save Output Log를 선택하여 출력 로그의 정보를 저장할 수 있습니다.

작업이 완료되면 Agent Builder는 성공 메시지 또는 경고 메시지를 표시합니다.


주 –

전체 자원 유형 생성은 2단계의 프로세스이며 첫 번째 단계(Create)를 완료한 다음 입력한 정보나 Agent Builder에서 완료한 작업을 잃어버리지 않고 Agent Builder를 종료할 수 있습니다. 완료된 작업 재사용을 참조하십시오.


Configure 화면 사용

Configure 화면

Agent Builder에서 자원 유형 만들기를 완료한 후 Create 화면에서 Next를 선택하면 다음 그림과 같이 Configure 화면이 나타납니다. 자원 유형을 만들기 전에는 Configure 화면에 액세스할 수 없습니다.

그림 9–3 Configure 화면

Configure 화면을 표시하는 대화 상자

Configure 화면에는 다음과 같은 필드가 있습니다.

Agent Builder Korn 쉘 기반 $hostnames 변수 사용

네트워크 인식 응용 프로그램과 같은 많은 응용 프로그램의 경우 응용 프로그램에서 수신하는 호스트 이름과 서비스 고객 요청을 명령줄의 응용 프로그램에 전달해야 합니다. Configure 화면에서 대부분의 경우 호스트 이름은 대상 자원 유형에 대한 시작, 중지 및 검사 명령에 지정해야 할 매개 변수입니다. 그러나 응용 프로그램이 수신하는 호스트 이름은 클러스터에 특정합니다. 호스트 이름은 자원이 클러스터에서 실행될 때 결정되고 Agent Builder가 자원 유형 코드를 생성할 때는 결정될 수 없습니다.

이 문제를 해결하기 위해 Agent Builder는 $hostnames 변수를 제공하여 사용자가 명령줄에서 시작, 중지 및 검사 명령을 지정할 수 있도록 합니다.


주 –

$hostnames 변수는 Korn 쉘 기반 서비스에서만 지원됩니다. $hostnames 변수는 C 기반 및 GDS 기반 서비스에서는 지원되지 않습니다.


다음 예와 같이 $hostnames 변수를 실제 호스트 이름과 같이 정확하게 지정합니다.


% /opt/network_aware/echo_server -p port_no -l $hostnames

대상 자원 유형의 자원이 클러스터에서 실행될 경우에는 자원의 Network_resources_used 자원 등록 정보에서 해당 자원에 대해 구성된 LogicalHostname 또는 SharedAddress 호스트 이름이 $hostnames 변수 값으로 대체됩니다.

멀티 호스트 이름을 가진 Network_resources_used 등록 정보를 구성한 경우 $hostnames 변수에는 모든 호스트 이름이 쉼표로 구분되어 포함됩니다.

등록 정보 변수

등록 정보 변수를 사용하여 RGM 프레임워크에서 선택된 Sun Cluster 자원, 자원 유형 및 자원 그룹 등록 정보 값을 검색할 수 있습니다. Agent Builder는 등록 정보 변수에 대한 시작, 검사 또는 중지 스크립트를 검색하여 Agent Builder가 스크립트를 시작하기 전에 이러한 변수를 해당 값으로 대체합니다.


주 –

등록 정보 변수는 Korn 쉘 기반 서비스에는 지원되지 않습니다.


등록 정보 변수 목록

다음 목록에는 스크립트에 사용할 수 있는 등록 정보 변수가 포함되어 있습니다. Sun Cluster 자원, 자원 유형 및 자원 그룹 등록 정보는 부록 A, 표준 등록 정보를 참조하십시오.

다음 목록에는 자원 등록 정보 변수가 포함되어 있습니다.

다음 목록에는 자원 유형 등록 정보 변수가 포함되어 있습니다.

다음 목록에는 자원 그룹 등록 정보 변수가 포함되어 있습니다.

등록 정보 변수 구문

이 예에 표시된 것처럼 등록 정보 이름 앞에 퍼센트 기호(%)를 포함시켜 등록 정보 변수임을 나타냅니다.


# /opt/network_aware/echo_server -t %RS_STOP_TIMEOUT -n %RG_NODELIST

앞의 예에서 Agent Builder는 이러한 등록 정보 변수를 해석하고 다음 값을 사용하여 echo_server 스크립트를 시작할 수 있습니다.


# /opt/network_aware/echo_server -t 300 -n phys-node-1,phys-node-2,phys-node-3

Agent Builder에서 등록 정보 변수를 대체하는 방법

다음 목록에서는 Agent Builder에서 등록 정보 변수 유형을 해석하는 방법을 설명합니다.

완료된 작업 재사용

Agent Builder를 사용하여 다음과 같은 방법으로 완료된 작업을 재사용할 수 있습니다.

기존 자원 유형 복제 방법

다음 절차를 수행하여 Agent Builder에서 생성한 기존 자원 유형을 복제합니다.

  1. 다음 중 하나의 방법을 사용하여 기존 자원 유형을 Agent Builder로 로드합니다.

    • Agent Builder에서 생성된 기존 자원 유형의 작업 디렉토리(rtconfig 파일이 포함되어 있음)에서 Agent Builder를 시작합니다. Agent Builder는 Create 및 Configure 화면에서 해당 자원 유형에 대한 값을 로드합니다.

    • File 풀다운 메뉴에서 Load Resource Type 옵션을 사용합니다.

  2. Create 화면에서 작업 디렉토리를 변경합니다.

    Browse를 사용하여 디렉토리를 선택해야 합니다. 새 디렉토리 이름을 입력하는 것만으로는 충분하지 않습니다. 디렉토리를 선택한 후 Agent Builder에서 Create 버튼을 다시 사용할 수 있습니다.

  3. 변경 작업을 수행합니다.

    이 절차를 통해 자원 유형에 대해 생성된 코드 유형을 변경할 수 있습니다. 예를 들어, 처음에 Korn 쉘 버전의 자원 유형을 만들었지만 시간이 지나면서 C 버전이 필요한 경우에는 기존 Korn 쉘 자원 유형을 로드하고 출력 언어를 C로 변경한 다음 Agent Builder에서 C 버전의 자원 유형을 만들도록 할 수 있습니다.

  4. 복제된 자원 유형을 만듭니다.

    Create를 눌러 자원 유형을 만듭니다. Next를 눌러 Configure 화면을 표시합니다. Configure를 눌러 자원 유형을 구성한 다음 Cancel을 눌러 마칩니다.

생성된 소스 코드 편집

Agent Builder에서는 자원 유형 생성 프로세스를 간소화하기 위해 입력 수를 제한하며, 이에 따라 생성되는 자원 유형의 범위도 제한됩니다. 따라서 추가 등록 정보에 대한 검증 확인 등 보다 복잡한 기능을 추가하거나 Agent Builder에서 제공하지 않는 매개 변수를 조정하려면 생성된 소스 코드나 RTR 파일을 수정해야 합니다.

소스 파일은 install_directory /rt_name/src 디렉토리에 있습니다. Agent Builder는 사용자가 코드를 추가할 수 있는 위치의 소스 코드에 주석을 포함시킵니다. 주석의 형식은 다음과 같습니다(C 코드의 경우).


/* User added code -- BEGIN vvvvvvvvvvvvvvv */
/* User added code -- END   ^^^^^^^^^^^^^^^ */


주 –

이러한 주석은 파운드 기호(#)로 주석의 시작을 나타낸다는 점을 제외하고 Korn 쉘 소스 코드에서와 동일합니다.


예를 들어, rt_name.h에서는 다른 프로그램에서 사용하는 모든 유틸리티 루틴을 선언합니다. 선언 목록 끝에는 사용자 코드에 추가했을 수 있는 추가 루틴을 선언할 수 있는 주석이 있습니다.

또한 Agent Builder는 install_directory/rt_name/src 디렉토리에 적절한 대상과 함께 makefile을 생성합니다. make 명령을 사용하여 소스 코드를 다시 컴파일하고 make pkg 명령을 사용하여 자원 유형 패키지를 다시 생성합니다.

RTR 파일은 install_directory/ rt_name/etc 디렉토리에 있습니다. 표준 텍스트 편집기를 사용하여 RTR 파일을 편집할 수 있습니다. RTR 파일에 대한 자세한 내용은 자원 및 자원 유형 등록 정보 설정을 참조하십시오. 등록 정보에 대한 자세한 내용은 부록 A, 표준 등록 정보를 참조하십시오.

Agent Builder 명령줄 버전 사용 방법

Agent Builder 명령줄 버전은 그래픽 사용자 인터페이스와 동일한 기본 프로세스를 따릅니다. 그러나 그래픽 사용자 인터페이스에 정보를 입력하는 대신 scdscreatescdsconfig 명령에 매개 변수를 전달합니다. scdscreate(1HA)scdsconfig(1HA) 설명서 페이지를 참조하십시오.

Agent Builder 명령줄 버전을 사용하려면 다음 단계를 수행합니다.

  1. scdscreate를 사용하여 가용성이 높거나 확장 가능한 응용 프로그램을 만들기 위한 Sun Cluster 자원 유형 템플리트를 만듭니다.

  2. scdsconfigure를 사용하여 scdscreate로 만든 자원 유형 템플리트를 구성합니다.

    등록 정보 변수를 지정할 수 있습니다. 등록 정보 변수는 등록 정보 변수를 참조하십시오.

  3. 디렉토리를 작업 디렉토리의 pkg 하위 디렉토리로 변경합니다.

  4. pkgadd 명령을 사용하여 scdscreate로 만든 패키지를 설치합니다.

  5. 원할 경우 생성된 소스 코드를 편집합니다.

  6. 시작 스크립트를 실행합니다.

디렉토리 구조

Agent Builder에서 대상 자원 유형에 대해 생성한 모든 파일을 보관하는 디렉토리 구조를 만듭니다. Create 화면에서 작업 디렉토리를 지정합니다. 개발한 추가 자원 유형에 대해 별도의 설치 디렉토리를 지정해야 합니다. Agent Builder는 Create 화면에서 공급업체 이름과 자원 유형 이름을 결합한 이름의 하위 디렉토리를 작업 디렉토리에 만듭니다. 예를 들어, SUNW를 공급업체 이름으로 지정하고 ftp라는 자원 유형을 만든 경우 Agent Builder는 작업 디렉토리에 SUNWftp라는 디렉토리를 만듭니다.

이 하위 디렉토리에서 Agent Builder는 다음 표에 나열된 디렉토리를 만들어 채웁니다.

디렉토리 이름 

목차 

bin

C 출력의 경우 소스 파일에서 컴파일된 이진 파일을 포함합니다. Korn 쉘 출력의 경우 src 디렉토리와 동일한 파일을 포함합니다.

etc

RTR 파일을 포함합니다. Agent Builder에서 공급업체 이름과 응용 프로그램 이름을 마침표(.)로 구분해서 연결하여 ) RTR 파일 이름을 생성합니다. 예를 들어, 공급업체 이름이 SUNW이고 자원 유형 이름이 ftp일 경우 RTR 파일 이름은 SUNW.ftp입니다.

man

start, stopremove 유틸리티 스크립트에 대한 사용자 정의 설명서 페이지를 포함합니다. 예를 들면, startftp(1M), stopftp(1M) 및 removeftp(1M)입니다.

 

이 설명서 페이지를 보려면 man -M 옵션을 사용하여 경로를 지정합니다. 예를 들면 다음과 같습니다.


# man -M install_directory/SUNWftp/man removeftp

pkg

최종 패키지를 포함합니다. 

src

Agent Builder에서 생성한 소스 파일을 포함합니다. 

util

Agent Builder에서 생성한 start, stopremove 유틸리티 스크립트를 포함합니다. 유틸리티 스크립트 및 설명서 페이지를 참조하십시오. Agent Builder에서 이 스크립트 이름에 응용 프로그램 이름을 추가합니다(예: startftp, stopftp, removeftp).

Agent Builder 출력

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

소스 및 이진 파일

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

이 모델을 지원하려고 Agent Builder는 콜백 메소드 역할을 하는 여덟 개의 실행 C 프로그램 또는 Korn 쉘 스크립트를 install_directory/ rt_name/bin 디렉토리에 생성합니다.


주 –

엄격하게 말하자면 오류 모니터를 구현하는 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 디렉토리에 실행 가능 파일을 만듭니다.

Korn 쉘 출력의 경우 install_directory /rt_name/bin install_directory/rt_name/src 디렉토리가 동일합니다. 각 디렉토리에는 일곱 개의 콜백 메소드와 Probe 메소드에 해당하는 여덟 개의 실행 스크립트가 포함되어 있습니다.


주 –

Korn 쉘 출력에는 시간을 갖고 검사하기 위해 특정 콜백 메소드에서 요구하는 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 또는 Korn 쉘 소스 코드를 생성한 경우 Agent Builder에서는 사용자가 Create 화면과 Configure 화면에서 입력한 정보를 포함하는 구성 파일 rtconfig를 생성합니다. 기존 자원 유형의 작업 디렉토리에서 Agent Builder를 시작하거나 File 풀다운 메뉴에서 Load Resource Type을 선택하여 기존 자원 유형을 로드하면 Agent Builder에서 rtconfig 파일을 읽고 Create 및 Configure 화면에 기존 자원 유형에 대해 제공된 정보를 입력합니다. 기존 자원 유형을 복제할 경우 이 기능이 유용합니다. 기존 자원 유형 복제 방법을 참조하십시오.

Agent Builder용 Cluster Agent 모듈

Agent Builder용 Cluster Agent 모듈은 NetBeansTM 모듈입니다. Cluster Agent 모듈을 사용하면 Sun Java Studio(이전의 Sun ONE Studio) 제품 사용자는 통합된 개발 환경을 통해 Sun Cluster 소프트웨어용 자원 유형이나 데이터 서비스를 만들 수 있습니다. Cluster Agent 모듈은 사용자가 만들 자원 유형의 종류를 설명하는 화면 기반의 인터페이스를 제공합니다.


주 –

Sun Java Studio 설명서에는 Sun Java Studio 제품의 설정, 설치 및 사용 방법에 대한 정보가 들어 있습니다.


Cluster Agent 모듈 설치 및 설정 방법

Sun Cluster 소프트웨어를 설치할 때 Cluster Agent 모듈이 설치됩니다. Sun Cluster 설치 도구는 scdsbuilder.jar Cluster Agent 모듈 파일을 /usr/cluster/lib/scdsbuilder에 저장합니다. Sun Java Studio 소프트웨어와 함께 Cluster Agent 모듈을 사용하려면 이 파일에 대한 심볼릭 링크를 만들어야 합니다.


주 –

Cluster Agent 모듈을 실행하려는 시스템에 Sun Cluster, Sun Java Studio 제품 및 Java 1.4가 설치되어 사용할 수 있어야 합니다.


  1. 모든 사용자 또는 사용자 자신만 Cluster Agent 모듈을 사용하도록 허용합니다.

    • 모든 사용자가 사용할 수 있게 하려면 수퍼유저가 되거나 그에 상응하는 역할이 되어 전역 모듈 디렉토리에 심볼릭 링크를 만듭니다.


      # cd /opt/s1studio/ee/modules
      # ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      


      주 –

      /opt/s1studio/ee 이외의 디렉토리에 Sun Java Studio 소프트웨어를 설치한 경우 이 디렉토리 경로를 사용자가 사용한 경로로 대체합니다.


    • 사용자 자신만 사용할 수 있게 하려면 modules 하위 디렉토리에 심볼릭 링크를 만듭니다.


      % cd ~your-home-dir/ffjuser40ee/modules
      % ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      

  2. Sun Java Studio 소프트웨어를 중지했다가 다시 시작합니다.

Cluster Agent 모듈 시작 방법

다음은 Sun Java Studio 소프트웨어에서 Cluster Agent 모듈을 시작하는 방법을 설명하는 단계입니다.

  1. Sun Java Studio의 File 메뉴에서 New를 선택하거나 도구 모음에서 다음 아이콘을 누릅니다. Sun Java Studio 소프트웨어의 도구 모음에 새로 만들기 아이콘을 표시하는 그래픽

    새로 만들기 마법사 화면이 나타납니다.

    New Wizard 화면을 표시하는 대화 상자

  2. 템플리트 선택 창에서 필요한 경우 아래로 스크롤하여 기타 폴더 옆에 있는 키를 누릅니다.Other 폴더의 키를 표시하는 인라인 그래픽

    Other 폴더가 열립니다.

    확장된 Other 폴더 메뉴를 표시하는 그림

  3. Other 폴더에서 Sun Cluster Agent Builder를 선택하고 Next를 누릅니다.

    Sun Java Studio용 Cluster Agent 모듈이 시작됩니다. 첫 번째 새로 만들기 마법사 - Sun Cluster Agent Builder 화면이 나타납니다.

    첫 번째로 나타나는 New Wizard Sun Cluster Agent Builder 화면을 표시하는 대화 상자

Cluster Agent 모듈 사용

Agent Builder 소프트웨어를 사용하는 것과 마찬가지로 Cluster Agent 모듈을 사용합니다. 인터페이스는 동일합니다. 예를 들어, 다음 그림에서는 Agent Builder 소프트웨어의 Create 화면과 Cluster Agent 모듈의 첫 번째 새로 만들기 마법사 - Sun Cluster Agent Builder 화면에 동일한 필드와 선택 항목이 들어 있다는 것을 보여줍니다.

그림 9–4 Agent Builder 소프트웨어의 Create 화면

정보를 입력한 후의 Create 화면을 표시하는 대화 상자

그림 9–5 Cluster Agent 모듈의 새로 만들기 마법사 - Sun Cluster Agent Builder 화면

정보를 입력한 후의 New Wizard Sun Cluster Agent Builder 화면을 표시하는 대화 상자

Cluster Agent 모듈과 Agent Builder의 차이점

Cluster Agent 모듈과 Agent Builder는 여러 가지 면에서 비슷하지만 약간의 차이점이 있습니다.