Sun Cluster Geographic Edition 시스템 관리 설명서

9장 전환 및 인계 조치 사용자 정의

이 장에서는 보호 그룹의 역할이 보조에서 기본으로 변경될 때 실행되는 스크립트를 작성하는 방법을 설명합니다. 이 장은 다음 항목으로 구성되어 있습니다.

역할 변경 작업 스크립트 작성

보호 그룹 내의 클러스터가 secondary에서 primary 역할로 변경할 때 명령을 실행하도록 Sun Cluster Geographic Edition 소프트웨어를 구성할 수 있습니다. 이 변경은 전환 또는 인계 조작의 결과로서 발생할 수 있습니다.

보호 그룹이 새 기본 클러스터에서 시작될 때 새 기본 클러스터에서의 전환 또는 인계 중에 작업 명령을 실행합니다. 이 스크립트를 데이터 복제 역할이 보조 클러스터에서 기본 클러스터로 전환된 후 및 응용 프로그램 자원 그룹이 온라인으로 전환된 후 새 기본 클러스터에 호출합니다. 데이터 복제 역할이 성공적으로 변경되지 않는 경우 스크립트를 호출하지 않습니다.

이 스크립트에 대한 경로는 보호 그룹을 호스트할 수 있는 모든 파트너 클러스터의 모든 노드에서 유효해야 합니다.

다음 명령줄이 해당 스크립트를 실행합니다.


# custom-action-command-path -o primary -c clustername \ 
 -s partnershipname protectiongroupname userarguments
customactioncommandpath

사용자가 작성한 조치 명령에 대한 경로를 지정합니다.

-o primary

클러스터가 가정하는 역할이 primary임을 지정합니다.

-c clustername

기본 클러스터의 새 역할을 가정하고 있는 보조 클러스터의 이름을 지정합니다.

-s partnershipname

보호 그룹을 호스트하는 파트너쉽의 이름을 지정합니다.

protectiongroupname

역할 변경을 진행하고 있는 보호 그룹의 이름을 지정합니다.

userarguments

Sun Cluster Geographic Edition에서 제공하는 모든 옵션 후에 전달되는 정적 인수를 지정합니다.

이 자유 형식의 문자열은 필요할 때 스크립트에 의해 구문 분석할 수 있습니다. 예를 들어, key=value 쌍(예: name=sun.com,ip=10.1.2.3)의 목록을 지정할 수 있습니다. 또한 -n sun.com -a 10.1.2.3.4 같은 일련의 옵션을 지정할 수도 있습니다. 이들 인수의 형식은 Sun Cluster Geographic Edition 소프트웨어에 의해 제한되지 않습니다.

역할 변경 작업 스크립트의 종료 상태는 geopg switchover 또는 geopg takeover 명령 결과의 일부로서 보고됩니다. 작업 스크립트가 성공적으로 실행된 경우 종료 상태는 0입니다. 0이 아닌 종료 상태는 오류나 실패를 표시합니다. 종료 상태의 값은 역할 변경 조치의 다른 측면에 영향을 주지 않습니다. 전환 또는 작업 언계는 작업 스크립트의 종료 상태와 상관없이 보호 그룹의 응용 프로그램 자원 그룹을 온라인으로 만듭니다.

Sun Cluster Geographic Edition 소프트웨어는 응용 프로그램 자원 그룹을 온라인으로 전환하는 것과 같은 소프트웨어 프로세스 작업 전에 스크립트가 반환되기를 기다립니다. 그러므로, 작업 스크립트를 작성할 때 스크립트 실행에 필요한 시간 양을 먼저 알아야 보호 그룹에 대한 시간 초과 기간을 설정할 수 있습니다. 전환 또는 인계의 시간 초과를 피하기 위해 스크립트가 완료되는 데 충분한 시간으로 시간 초과 기간을 설정하고 응용 프로그램 자원 그룹은 새 기본 클러스터에서 오프라인으로 둡니다.


예 9–1 DNS 업데이트에 대한 전환 작업 스크립트

이 예제에서는 nsupdate 명령을 사용하여 새 클러스터를 가리키도록 호스트 이름을 재구성하는 스크립트를 작성합니다. nsupdate 명령에 대한 자세한 내용은 nsupdate(1M) 매뉴얼 페이지를 참조하십시오.

이름 서비스는 companyX.com에 연결하려는 클라이언트를 보호 그룹에 대한 기본 클러스터 cluster-paris의 주소로 참조합니다. 기본 클러스터가 응답하지 못하면 관리자가 대체 클러스터 cluster-newyork으로의 보호 그룹 전환을 수행합니다.


#!/bin/ksh
# sample script to update dns
# Assumes each cluster has an entry with name "lh-paris-1" in /etc/hosts
# but different value for the IP in each cluster
# for forward DNS (A) entry: will delete old entry for "lh-paris-1"
# and add one that is correct for "this cluster"
#
# For reverse (PTR) DNS entry, will just add one for this cluster. 
# Will NOT delete PTR record left over from old cluster. So
# eventually you will just have reverse lookup for the IP for both clusters
# doing reverse resolution to the same name (lh-paris-1.odyssey.com)
# This should be fine, as long as the forward resolution stays "correct"
#
# The blank line of input at the end of nsupdate is REQUIRED
#
# A short TTL is put on the new records (600 = 10 minutes)
# but you can't really control what kind of caching goes on on
# the client side


# get IP corresponding to name "lh-paris-1" on THIS Cluster
NEWIP=$(getent hosts lh-paris-1|cut -f1)

# this bit splits out the octets in order to add the reverse PTR entry
IFS=.
set $NEWIP
unset IFS

/usr/sbin/nsupdate <<ENDNSUPDATE
update delete ora-lh.odyssey.com A
update add ora-lh.odyssey.com 600 A $NEWIP
update add $4.$3.$2.$1.in-addr.arpa 600 PTR ora-lh.odyssey.com.

ENDNSUPDATE

전환 또는 인계 시에 스크립트를 실행하도록 보호 그룹 구성

스크립트를 작성한 후 전환 또는 인계가 발생할 때 해당 스크립트를 실행하도록 보호 그룹을 구성해야 합니다. 전환 또는 인계가 발생하는 경우 새 기본 클러스터가 될 클러스터에서 해당 스크립트가 실행됩니다.

Procedure전환 또는 인계 시에 스크립트를 실행하도록 보호 그룹을 구성하는 방법

  1. 클러스터 노드에 로그인합니다.

    이 절차를 완료하려면 Geo Management RBAC 권리 프로파일이 지정되어야 합니다. RBAC에 대한 자세한 정보는 Sun Cluster Geographic Edition 소프트웨어와 RBAC를 참조하십시오.

  2. 보호 그룹의 RoleChange_ActionCmdRoleChange_ActionArgs 등록 정보를 구성합니다.


    # geopg set-prop -p RoleChange_ActionCmd=fullyqualifiedscript -p RoleChange_ActionArgs=scriptarguments
    
    -p propertysetting

    보호 그룹의 등록 정보를 지정합니다.

    RoleChange_ActionCmd 등록 정보를 사용하여 명령에 대한 경로를 지정합니다. 이 경로는 보호 그룹을 호스트할 수 있는 모든 파트너 클러스터의 모든 노드에서 유효해야 합니다.

    RoleChange_ActionArgs 등록 정보를 사용하여 조치 명령이 실행될 때 명령줄에 첨부하려는 인수를 정의합니다.

    사용자가 설정할 수 있는 등록 정보에 대한 자세한 내용은 부록 A, 표준 Sun Cluster Geographic Edition 등록 정보를 참조하십시오.

    protectiongroupname

    보호 그룹의 이름을 지정합니다.


예 9–2 클러스터 전환 또는 인계 시 명령을 실행하도록 보호 그룹 구성

이 예에서는 newDNS로 명명된 사용자 정의 명령을 실행하도록 보호 그룹을 구성합니다.


# geopg set-prop -p RoleChange_ActionCmd=/usr/bin/newDNS \
-p RoleChange_ActionArgs=domain=companyx.com,ip=1.2.3.4 avspg