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

12장 심박동 관리

Sun Cluster Geographic Edition 소프트웨어는 파트너쉽에 참여하는 개별 클러스터가 파트너 사이트에서의 실패를 검출하는 방법으로서 공용 네트워크상의 심박동을 사용합니다. 심박동은 플러그인 모듈을 모니터하여 그 파트너의 심박동 상태를 조회합니다.

이 장에서는 다음 주제에 대해 논의합니다.

심박동 소개

Sun Cluster Geographic Edition에서의 심박동은 심박동 플러그인의 콜렉션을 위한 컨테이너입니다. 심박동은 이름 및 사용자가 조정할 수 있는 하나의 등록 정보인 Query_interval을 갖습니다. Query_interval 등록 정보는 심박동 상태 요청 사이의 지연을 지정합니다.

심박동 플러그인은 실제 물리적 모니터링 활동을 용이하게 합니다. 플러그인은 필수 조회 명령 또는 조회 라이브러리, 선택적 요청자 및 응답자 에이전트, 유형 및 Plugin_properties 문자열로 정의됩니다.

Sun Cluster Geographic Edition 제품은 다음의 기본 플러그인을 제공합니다.

기본 심박동 플러그인을 사용하는 기본 심박동은 사용자 정의 심박동을 지정하지 않고 geops create 또는 geops join을 실행할 때마다 작성됩니다. 기본 심박동의 이름은 hb_local-cluster-name~remote-cluster-name입니다. geops 명령에 대한 자세한 정보는 geops(1M) 매뉴얼 페이지를 참조하십시오.

사용자 정의 심박동 플러그인을 작성하고 이들을 기존 기본 심박동이나 새 사용자 정의 심박동과 연관시킬 수 있습니다.


주 –

사용자 정의 심박동은 특별한 환경을 위해 제공되며 구성할 때 주의해야 합니다. 시스템에서 사용자 정의 심박동을 사용해야 하는 경우 Sun 전문가에게 자문을 요청하십시오.


심박동 작성

이 절에서는 심박동 작성에 필요한 절차에 대해 설명합니다.

Procedure심박동 작성 방법

새 심박동을 작성하려면 이 절차를 사용하십시오. 파트너쉽이 있는 심박동을 사용하려면 파트너쉽을 작성하기 전에 심박동을 작성해야 합니다. 사용자 정의 심박동을 작성하기 전에 파트너쉽을 작성할 경우, 파트너쉽에서 사용하는 기본 심박동이 사용자 정의 심박동의 작성을 방해합니다.

사용자 정의 심박동은 기본 심박동이 파트너쉽 작성 중에 사용되지 않도록 합니다. 파트너쉽에 대해 기본 심박동을 사용하려는 경우 geops create 명령을 실행하기 전에 사용자 정의 심박동을 삭제해야 합니다.

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

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

  2. 심박동을 작성합니다.


    # geohb create -r remote-clustername \
    [-p property-setting [-p...]] heartbeat-name
    
    -r remote-clustername

    원격 파트너 클러스터의 이름을 지정합니다.

    -p property-setting

    name=statement 쌍을 사용하여 값을 할당 받는 심박동 등록 정보를 지정합니다. 복수 명령문을 사용하여 복수 등록 정보를 한 번에 설정할 수 있습니다.

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

    heartbeat-name

    심박동에 대한 식별자를 지정합니다.


    주의 – 주의 –

    동일한 파트너쉽의 각 클러스터에 있는 사용자 정의 심박동의 이름은 서로 달라야 합니다. 클러스터 cluster-parisparis-to-newyork 및 클러스터 cluster-newyorknewyork-to-paris와 같이 심박동을 고유하게 식별하는 이름을 선택합니다.


    geohb 명령에 대한 자세한 정보는 geohb(1M) 매뉴얼 페이지를 참조하십시오.


예 12–1 심박동 작성

이 예는 paris-to-newyork 라는 이름의 심박동을 작성합니다.


# geohb create -r cluster-newyork paris-to-newyork

심박동 플러그인 작성

이 절에서는 심박동 플러그인 작성에 필요한 절차에 대해 설명합니다.

Procedure심박동 플러그인 작성 방법

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

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

  2. 기존 심박동에 심박동 플러그인을 추가합니다.


    # geohb add-plugin heartbeat-name plug-in-name \
    [-p property-setting [-p...]] 
    heartbeat-name

    로컬 클러스터의 심박동에 대한 식별자를 지정합니다.

    plugin-name

    심박동 플러그인의 이름을 지정합니다.

    -pproperty-setting

    name=statement 쌍을 사용하여 값을 할당받는 심박동 플러그인 등록 정보를 지정합니다. 복수 명령문을 사용하여 복수 등록 정보를 한 번에 설정할 수 있습니다.

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

    geohb 명령에 대한 자세한 정보는 geohb(1M) 매뉴얼 페이지를 참조하십시오.


예 12–2 심박동 플러그인 작성

이 예는 command1 이라는 이름의 심박동 플러그인을 작성합니다.


# geohb add-plugin paris-to-newyork command1 -p Query_cmd=/usr/bin/hb/

심박동 플러그인 등록 정보 수정

이 절에서는 심박동 플러그인 등록 정보의 수정 절차에 대해 설명합니다. 플러그인 등록 정보를 수정하면 변경사항이 바로 적용됩니다.

Procedure심박동 플러그인의 등록 정보 수정 방법

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

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

  2. 심박동 플러그인 등록 정보를 수정합니다.


    # geohb modify-plugin -p property-setting \
    [-p...] plugin-name heartbeat-name
    
    heartbeat-name

    심박동에 대한 식별자를 지정합니다.

    plugin-name

    심박동 플러그인의 이름을 지정합니다.

    -p property-setting

    name=statement 쌍을 사용하여 값을 할당하는 심박동 플러그인 등록 정보를 지정합니다. 복수 명령문을 사용하여 복수 등록 정보를 한 번에 설정할 수 있습니다.

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


    주 –

    기본 플러그인의 일부 등록 정보를 편집할 수 없습니다.


    Sun Cluster Geographic Edition 소프트웨어가 지원하는 이름 및 값에 대한 정보는 부록 B, Sun Cluster Geographic Edition 엔티티의 합법적 이름 및 값를 참조하십시오.

    geohb 명령에 대한 자세한 정보는 geohb(1M) 매뉴얼 페이지를 참조하십시오.


예 12–3 심박동 플러그인의 등록 정보 수정

이 예는 TCP만 사용하기 위해 기본 TCP/UDP 플러그인 tcp_udp_plugin의 설정을 수정합니다.


# geohb modify-plugin -p Plugin_properties=paris-cluster/TCP/2084 \
tcp_udp_plugin hb_cluster-paris~cluster-newyork

심박동 및 심박동 플러그인 삭제

이 절에서는 심박동 및 심박동 플러그인 삭제 절차에 대해 설명합니다.

Procedure심박동 삭제 방법

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

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

  2. 심박동을 삭제합니다.


    # geohb delete heartbeat-name
    
    heartbeat-name

    심박동 설정에 대한 식별자를 지정합니다.

    geohb 명령에 대한 자세한 정보는 geohb(1M) 매뉴얼 페이지를 참조하십시오.


    주의 – 주의 –

    기본 심박동 tcp_upd_plugin , icrm_pluginping_plugin을 삭제하지 않아야 합니다.



예 12–4 심박동 삭제

이 예는 paris-to-newyork라는 이름의 심박동을 삭제합니다.


# geohb delete paris-to-newyork

Procedure심박동에서 플러그인 삭제 방법

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

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

  2. 심박동에서 플러그인을 제거합니다.


    # geohb remove-plugin plugin-name heartbeat-name
    
    plugin-name

    사용자 정의 심박동 플러그인의 이름을 지정합니다.

    heartbeat-name

    이 플러그인을 포함하는 심박동의 식별자를 지정합니다.


    주 –

    기본 플러그인 icrm_plugin을 삭제할 수 없습니다.


    Sun Cluster Geographic Edition 소프트웨어가 지원하는 이름 및 값에 대한 정보는 부록 B, Sun Cluster Geographic Edition 엔티티의 합법적 이름 및 값를 참조하십시오.

    geohb 명령에 대한 자세한 정보는 geohb(1M) 매뉴얼 페이지를 참조하십시오.


예 12–5 심박동에서 플러그인 삭제

이 예는 paris-to-newyork라는 이름의 심박동에서 command1 플러그인을 제거합니다.


# geohb remove-plugin command1 paris-to-newyork 

심박동 구성 정보 인쇄

이 절에서는 심박동 구성 정보 인쇄 절차에 대해 설명합니다.

Procedure심박동 구성 정보 인쇄 방법

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

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

  2. 특정 심박동 또는 전체 심박동 서브시스템에 대한 현재 구성 정보를 표시합니다.


    # geohb list [heartbeat-name-list]
    heartbeat-name-list

    구성 정보가 인쇄되어야 하는 로컬 클러스터의 특정 심박동 이름을 지정합니다.

    심박동 이름 목록을 지정하지 않으면 이 명령은 구성된 모든 심박동에 대한 정보를 표시합니다.

    geohb 명령에 대한 자세한 정보는 geohb(1M) 매뉴얼 페이지를 참조하십시오.


예 12–6 심박동 구성 정보 표시

이 예는 paris-to-newyork 심박동에 대한 정보를 표시합니다.


# geohb list paris-to-newyork

심박동 등록 정보 조정

기본 심박동은 파트너쉽 작성의 일부로서 작성됩니다. 사용자 정의 심박동을 사용하는 경우 파트너쉽을 작성하기 전에 사용자 정의 심박동을 작성해야 합니다. geohb set-prop 명령을 사용하여 기본 및 사용자 정의 심박동의 등록 정보를 수정할 수 있습니다. 이 명령에 대한 자세한 정보는 geohb(1M) 매뉴얼 페이지를 참조하십시오.


주 –

사용자 정의 심박동은 특별한 환경을 위해 제공되며 구성할 때 주의해야 합니다. 시스템에서 사용자 정의 심박동을 사용해야 하는 경우 Sun 전문가에게 자문을 요청하십시오.


Query_interval 등록 정보의 기본값을 수정하는 경우 간격이 충분히 긴지 확인하십시오. 간격이 너무 짧으면 논리 호스트 이름 자원을 사용 가능하기 전에 시간이 초과되거나 심박동 유실 이벤트가 발생할 수 있습니다. 이 장애 조치는 두 개 이하의 응답되지 않은 심박동 요청을 가져와야 합니다. 120초의 기본 query_interval 값을 3초의 기본 heartbeat.retries 매개변수로 설정하면 거짓 실패가 선언되지 않고 피어 클러스터가 6분(120 * 3 )동안 비응답 상태로 있을 수 있습니다.

heartbeat.retries 매개변수는 com.sun.cluster.agent.geocontol.xml 파일에 지정됩니다.

Query_interval 등록 정보의 지연 설정을 조정하는 경우 다음이 성립해야 합니다.


Query_interval > 최악의 경우의 논리 호스트 장애 조치 시간 / 2

의심이 가는 클러스터에 대한 논리 호스트 장애 조치 시간을 실험적으로 판별해야 합니다.

거짓 실패를 피하기 위해 다음이 성립해야 합니다.


Query_interval > 최악의 경우의 논리 호스트 장애 조치 시간 / 3

heartbeat.retries 값을 변경할 필요가 없습니다. heartbeat.retries 등록 정보의 기본값을 변경하려면 Sun 전문가에게 문의하십시오.

Procedure심박동 등록 정보 수정 방법

단계
  1. 클러스터 노드 중 하나에 로그인합니다.

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

  2. 심박동 등록 정보를 수정합니다.


    # geohb set-prop -p property-setting \
    [-p...] heartbeat-name
    
    -p property-setting

    심박동의 기본 등록 정보를 설정합니다.

    심박동 등록 정보는 name=statement 쌍에 의해 값이 지정됩니다. 복수 명령문을 사용하여 복수 등록 정보를 한 번에 설정할 수 있습니다.

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

    heartbeat-name

    심박동 설정에 대한 식별자를 지정합니다.

    Sun Cluster Geographic Edition 소프트웨어가 지원하는 이름 및 값에 대한 정보는 부록 B, Sun Cluster Geographic Edition 엔티티의 합법적 이름 및 값를 참조하십시오.

    geohb 명령에 대한 자세한 정보는 geohb(1M) 매뉴얼 페이지를 참조하십시오.


예 12–7 기본 심박동의 등록 정보 수정

다음 예는 cluster-pariscluster-newyork 사이의 기본 심박동에 대한 설정을 수정하는 방법을 보여줍니다.


# geohb set-prop -p Query_interval=60 hb_cluster-paris~cluster-newyork 

사용자 정의 심박동 플러그인을 사용하는 심박동 작성

사용자 정의 심박동 플러그인을 작성하고 이 사용자 정의 심박동 플러그인을 사용하도록 기존 기본 심박동이나 새 사용자 정의 심박동을 구성할 수 있습니다.

사용자 정의 심박동은 특별한 환경을 위해 제공되며 구성할 때 주의해야 합니다. 시스템에서 사용자 정의 심박동을 사용해야 하는 경우 Sun 전문가에게 자문을 요청하십시오.


주 –

사용자 정의 심박동을 구성하는 경우 사용자 정의 심박동의 이름이 파트너 클러스터의 사용자 정의 심박동의 이름과 달라야 합니다.



주의 – 주의 –

사용자 정의 심박동이 존재하면 기본 심박동이 파트너쉽 작성 중에 사용되지 못합니다. 파트너쉽에 대해 기본 심박동을 사용하려는 경우 geops create 명령을 실행하기 전에 사용자 정의 심박동을 삭제해야 합니다.


사용자 정의 심박동 플러그인 작성

심박동이 작성될 때 사용자 정의 심박동 플러그인이 Sun Cluster Geographic Edition 소프트웨어에 의해 다음 인수가 전달됩니다.

query-interval

Query-interval 등록 정보의 값으로, 그 이후에는 심박동 상태 요청이 실패로 선언되는 초 단위의 지연을 정의합니다.

mode

플러그인 시작 모드로서 Normal 또는 Emergency 중 하나입니다.

plugin-property-values

있는 경우 심박동 플러그인에 대해 구성되는 Plugin-properties 등록 정보의 값입니다.

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

사용자 정의 심박동 플러그인은 2차 클러스터에서 심박동을 점검하고 다음 종료 값 중 하나를 리턴할 것입니다.

Procedure기존 기본 심박동에 사용자 정의 심박동 플러그인 추가 방법

단계
  1. 1차 클러스터의 노드에 로그인합니다.

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

  2. 기본 심박동에 사용자 정의 심박동 플러그인을 추가합니다.


    # geohb add-plugin -p property-setting [-p...] \
    plugin-name hb_local-cluster-name-remote-cluster-name
    
    -p property-setting

    name=statement 쌍을 사용하여 심박동 플러그인의 등록 정보를 설정합니다.

    Query_cmd 등록 정보를 사용하여 사용자 정의 심박동 플러그인에 대한 경로를 지정합니다.

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

    plugin-name

    사용자 정의 심박동 플러그인의 이름을 지정합니다.

    hb_local-cluster-name- remote-cluster-name

    사용자 정의 심박동 플러그인에 추가하려는 기본 심박동의 이름을 지정합니다.

  3. 변경이 올바르게 이루어졌는지 확인합니다.


    # geoadm status
  4. 2차 클러스터의 한 노드에서 이전 단계를 반복합니다.


예 12–8 기본 심박동에 사용자 정의 심박동 플러그인 추가

다음 예는 기본 심박동 hb_cluster-paris~cluster-newyork에 사용자 정의 심박동 플러그인 command1을 추가하는 방법을 보여줍니다.


# geohb add-plugin -p query_cmd=/usr/bin/hb command1 \
hb_cluster-paris~cluster-newyork
# geoadm status

Procedure사용자 정의 심박동 플러그인 작성 및 사용자 정의 심박동에 추가하는 방법

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

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

  2. 새 사용자 정의 심박동을 작성합니다.


    # geohb create -r remote-clustername \
    [-p property-setting [-p...]] heartbeat-name
    
    -r remote-clustername

    원격 2차 파트너 클러스터의 이름을 지정합니다.

    -p property-setting

    심박동의 기본 등록 정보를 설정합니다.

    심박동 등록 정보는 name=statement 쌍에 의해 값이 지정됩니다.

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

    heartbeat-name

    심박동 설정에 대한 식별자를 지정합니다.


    주의 – 주의 –

    동일한 파트너쉽의 각 클러스터에 있는 사용자 정의 심박동의 이름은 서로 달라야 합니다. 클러스터 cluster-parisparis-to-newyork 및 클러스터 cluster-newyorknewyork-to-paris와 같이 심박동을 고유하게 식별하는 이름을 선택합니다.


    geohb 명령에 대한 자세한 정보는 geohb(1M) 매뉴얼 페이지를 참조하십시오.

  3. 심박동에 사용자 정의 심박동 플러그인을 추가합니다.


    # geohb add-plugin -p property-setting [-p...] \
    plugin-name heartbeat-name
    
    -p property-setting

    name=statement 쌍을 사용하여 심박동 플러그인의 등록 정보를 설정합니다.

    Query_cmd 등록 정보를 사용하여 사용자 정의 심박동 플러그인에 대한 경로를 지정합니다.

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

    plugin-name

    사용자 정의 심박동 플러그인의 이름을 지정합니다.

    heartbeat-name

    심박동 설정에 대한 식별자를 지정합니다.

  4. 이전 단계에서 작성한 심박동을 사용할 파트너쉽을 작성합니다.


    # geops create -c remote-cluster-name -h heartbeat-name \
    [-p property-setting [-p...]] partnership-name
    
    -c remote-cluster-name

    파트너쉽에 참여할 원격 클러스터의 이름을 지정합니다.

    이 이름은 원격 클러스터에서 Sun Cluster Geographic Edition 기반구조가 사용하는 논리 호스트 이름과 일치합니다.

    -h heartbeat-name

    파트너 클러스터의 가용성을 모니터하기 위해 파트너쉽에서 사용되는 사용자 정의 심박동을 지정합니다.

    -p property-setting

    name=value 쌍 명령문의 문자열로 파트너쉽 등록 정보의 값을 설정합니다.

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

    partnership-name

    파트너쉽의 이름을 지정합니다.


    주 –

    사용자 정의 심박동이 파트너쉽에 추가될 때 icrm_plugin이라는 이름의 기본 플러그인이 작성됩니다.


    geops create 명령을 사용한 파트너쉽 작성에 대한 자세한 정보는 파트너쉽 작성 방법을 참조하십시오.

  5. 변경이 올바르게 이루어졌는지 확인합니다.


    # geoadm status

예 12–9 새 사용자 정의 심박동에 사용자 정의 심박동 플러그인 추가

이 예는 사용자 정의 심박동 플러그인을 사용하고 심박동과 새 파트너쉽을 연결하는 심박동 paris-to-newyork를 작성합니다.


# geohb create -r cluster-newyork paris-to-newyork 
# geohb add-plugin -p query_cmd=/usr/bin/hb/ command1 paris-to-newyork
# geops create -c cluster-newyork -h paris-to-newyork paris-newyork-ps
# geoadm status

심박동 유실 통지 구성

심박동이 유실될 때 전자 우편 통지를 보내거나 조치 스크립트를 실행하도록 Sun Cluster Geographic Edition 소프트웨어를 구성할 수 있습니다. 선택적 Notification_emailaddrs Notification_actioncmd 등록 정보를 사용하여 심박동 유실 통지를 구성합니다.

심박동 유실 통지는 사용자가 심박동의 Query_interval 등록 정보로 구성하는 간격 후에도 심박동이 계속 실패하는 경우에 발생합니다. 심박동 모니터는 Query_interval 기간마다 논리 호스트의 응답자에게 심박동 요청을 보냅니다. Query_interval 안에 응답이 수신되지 않는 경우 내부 계수가 올라갑니다. 계수가 heartbeat.retries 등록 정보에 지정된 수에 접근하면 심박동이 실패했다고 판단합니다.

예를 들어, 120초의 기본 Query_interval 및 3초의 기본 heartbeat.retries를 사용할 수 있습니다. 파트너 클러스터로부터의 최종 심박동 응답 후에 심박동 유실 이벤트가 최대 10분 동안 전송됩니다.


120sec (delay since last query) + 3*120sec (wait for normal response) 
+ 120 sec (wait for retry response)

심박동 유실 시스템 이벤트의 생성과 심박동 유실 통지의 트리거링 사이에 추가 지연이 발생할 수 있습니다. 전자 우편 통지를 구성하는 경우 전자 우편의 전달에서 추가 지연을 경험할 수 있습니다.


주 –

심박동 유실 이벤트가 반드시 원격 클러스터가 붕괴했음을 표시하지는 않습니다.


다음 절은 심박동 유실 통지 등록 정보 구성 방법 및 Sun Cluster Geographic Edition 소프트웨어가 심박동 유실 이벤트 후에 실행하는 사용자 정의 조치 스크립트 작성 방법에 대해 설명합니다.

심박동 유실 통지 등록 정보 구성

두 파트너쉽 등록 정보인 Notification_emailaddrsNotification_actioncmd를 사용하여 심박동 유실 통지를 구성할 수 있습니다. geops 명령을 사용하여 이들 등록 정보를 설정합니다.

파트너쉽 작성 중에 기본 심박동에서 이들 등록 정보를 설정할 수 있습니다. 자세한 정보는 파트너쉽 작성 방법을 참조하십시오. 또한 심박동 등록 정보 수정 방법에 설명된 절차를 사용하여 이들 등록 정보를 수정할 수도 있습니다.

전자 우편에 의해 심박동 유실이 통지되기 원하는 경우 Notification_emailaddrs 등록 정보를 설정하십시오. 쉼표로 구분된 전자 우편 주소 목록을 지정할 수 있습니다. 전자우편 클라이언트를 클러스터 노드로 구성해야 전자우편 알림을 사용할 수 있습니다. 전자 우편 서비스 구성에 대한 자세한 정보는 Solaris System Administration Guide: Network Services를 참조하십시오.

심박동 유실에 대한 응답으로 명령이 실행되기 원하는 경우 Notification_actioncmd 등록 정보를 설정하십시오.


예 12–10 기존 파트너쉽에 대한 심박동 유실 통지 구성

다음과 같이 기존 파트너쉽 paris-newyork-ps에 대한 통지 전자 우편 주소와 사용자 정의 통지 스크립트를 지정합니다.


phys-paris-1# geops set-prop \
-p Notification_emailaddrs=ops@paris.com,ops@newyork.com \
-p Notification_actioncmd=/opt/hb_action.sh paris-newyork-ps 

심박동 유실에 대한 조치 쉘 스크립트 작성

로컬 클러스터가 파트너 클러스터와의 심박동 유실을 검출할 때 실행되는 조치 쉘 스크립트를 작성할 수 있습니다. 이 스크립트는 루트 권한으로 실행되므로, 파일이 루트 권한과 실행 권한을 가져야 합니다.

Notification_actioncmd 등록 정보를 구성한 경우 조치 명령은 다음 명령줄에서 이벤트에 대한 정보를 제공하는 인수와 함께 실행됩니다.


# custom-action-command-path -c local-cluster-name -r remote-cluster-name -e 1 \
-n node-name -t time
custom-action-command-path

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

-c local-cluster-name

로컬 클러스터의 이름을 지정합니다.

-p remote-cluster-name

원격 파트너 클러스터의 이름을 지정합니다.

-e1

심박동 유실 이벤트가 발생했음을 의미하는 HBLOST=1을 지정합니다.

-nnode-name

심박동 유실 이벤트 통지를 송신한 클러스터 노드의 이름을 지정합니다.

-t timestamp

심박동 유실 이벤트의 시간을 1970년 1월 1일, 00:00:00 GMT 이후의 밀리초 수로 지정합니다.


주의 – 주의 –

이 스크립트를 사용하여 2차 클러스터에서 자동 작업 인계를 수행할 수 있습니다. 그러나 그런 자동화 조치는 위험합니다. 심박동 유실 통지가 1차 및 2차 클러스터 모두의 모든 심박동 연결의 완전한 유실에 의해 유발되는 경우 위와 같은 자동화 조치는 두 개의 1차 클러스터가 존재하는 상황을 만들 수 있습니다.



예 12–11 통지 조치가 Sun Cluster Geographic Edition 소프트웨어에 의해 제공되는 명령줄 정보를 구문 분석하는 방법

이 예는 통지 조치 쉘 스크립트에서 구문 분석된 명령줄에 제공되는 이벤트 정보를 보여줍니다.


#!/bin/sh

set -- `getopt abo: $*`
if [ $? != 0]
then
      echo $USAGE
      exit 2

fi
for i in $*
do

      case $i in
      -p)      PARTNER_CLUSTER=$1; shift;;
      -e)      HB_EVENT=$2; shift;;
      -c)      LOCAL_CLUSTER=$3; shift;;
      -n)      EVENT_NODE=$4; shift;;
      esac
done