Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.3. 차단 장치 설정

차단 장치 설정은 (a) 클러스터에 하나 또는 그 이상의 차단 장치를 지정하고 (b) 각 노드에 하나 또는 그 이상의 차단 방식을 지정 (지정된 차단 장치 사용)하는 것으로 구성됩니다.
사용 설정에 필요한 차단 장치 및 차단 방식 유형을 기반으로 다음과 같이 cluster.conf를 설정합니다:
  1. fencedevices 부분에서는 fencedevice 요소와 차단 장치 종속 속성을 사용하여 각 차단 장치를 지정합니다. 예 7.3. “cluster.conf에 추가된 APC 차단 장치 ”에서는 추가된 APC 차단 장치와 함께 설정 파일의 예를 보여주고 있습니다.
  2. clusternodes 부분에서는 각 clusternode 섹션의 fence 요소에서 노드의 차단 방식을 지정합니다. method 속성, name을 사용하여 차단 방식 이름을 지정합니다. device 요소와 속성, name, 특정 차단 장치 매개 변수를 사용하여 차단 방식의 차단 장치를 지정합니다. 예 7.4. “cluster.conf에 추가된 차단 방식 ”에서는 클러스터에 있는 각 노드에 대해 하나의 차단 장치가 있는 차단 방식의 예를 보여주고 있습니다.
  3. 비전원 (non-power) 차단 방식 (즉, SAN/스토리지 차단)의 경우, clusternodes 부분에 unfence 부분을 추가합니다. 이는 차단된 노드가 다시 시작할 때 까지 다시 활성화되지 않는지 확인합니다. 노드를 차단 해제하는 방법에 대한 자세한 내용은 fence_node(8) man 페이지에서 참조하십시오.
    unfence 부분에는 fence 부분에 있는 것과는 달리 method 부분이 들어 있지 않습니다. 하지만 이는 device 참조를 직접 포함하고 있어, "on" 또는 "enable"의 명시적 동작 (action)이 추가된 fence의 해당 장치 부분을 미러합니다. fenceunfence에 의해 동일한 fencedevice는 참조되며 device 행과 동일한 노드 별 인수는 반복됩니다.
    action 속성을 "on" 또는 "enable"로 지정하면 시작할 때 노드를 활성화합니다. 예 7.4. “cluster.conf에 추가된 차단 방식 ”예 7.5. “cluster.conf: 노드 당 여러 차단 방식 ”에는 unfence 요소 및 속성 예제가 포함되어 있습니다.
    unfence 관한 보다 자세한 내용은 fence_node man 페이지를 참조하십시오.
  4. 값을 증가시켜 config_version 속성을 업데이트합니다 (예: config_version="2"에서 config_version="3">로 변경)
  5. /etc/cluster/cluster.conf를 저장합니다.
  6. (옵션) ccs_config_validate 명령을 실행하여 클러스터 스키마 (cluster.rng)에 대해 업데이트된 파일의 유효성을 검사합니다. 예:
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  7. cman_tool version -r 명령을 실행하여 나머지 클러스터 노드에 설정을 전달합니다. 이는 추가 유효성 검사도 실행하게 됩니다. 업데이트된 클러스터 설정 정보를 전달하려면 각 클러스터 노드에서 ricci가 실행되고 있어야 합니다.
  8. 업데이트된 설정 파일이 전달되었는지 확인합니다.
필요한 경우, 노드 당 여러 차단 방식과 차단 방식 당 여러 차단 장치가 있는 복잡한 설정을 구성할 수 있습니다. 노드 마다 여러 차단 방식을 지정할 때, 첫 번째 방식을 사용하여 차단 실패할 경우, 차단 데몬인 fenced는 다음과 같은 방법을 시도하다가 성공할 때 까지 메소드 군을 차례로 반복하여 계속 실행합니다.
일부 경우, 노드 차단에는 두 개의 I/O 경로 또는 2 개의 파워 포트를 비활성해야 합니다. 이는 차단 방식에서 두 개 이상의 장치를 지정하여 수행할 수 있습니다. fenced는 각 차단 장치행에 대해 차단 에이전트를 한번 실행하지만, 차단이 성공적이라고 간주되려면 모두가 실행 성공해야 합니다.
보다 복잡한 설정은 “차단 장치 설정 예 ”에서 보여주고 있습니다.
특정 차단 장치 설정에 관한 내용은 차단 장치 에이전트 man 페이지 (예: fence_apc의 man 페이지)에서 보실 수 있습니다. 또한, 부록 A. 차단 장치 매개 변수 에서는 차단 장치 매개 변수 내용, /usr/sbin/에서는 차단 에이전트 내용, /usr/share/cluster/cluster.rng에서는 클러스터 스키마 내용, /usr/share/doc/cman-X.Y.ZZ/cluster_conf.html (예: /usr/share/doc/cman-3.0.12/cluster_conf.html)에서는 주석 스키마 내용을 확인할 수 있습니다.

7.3.1. 차단 장치 설정 예

다음 예제에서는 노드 마다 하나의 차단 방식과 차단 방식 마다 하나의 차단 장치가 있는 간단설 설정을 보여주고 있습니다:
다음 예시에서는 보다 복잡한 설정을 보여줍니다:

참고

이 부분에 있는 예제가 전부는 아닙니다. 즉, 필요에 따라 차단 장치를 설정해야 하는 방법이 다를 수 있습니다.

예 7.3. cluster.conf에 추가된 APC 차단 장치


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
         <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>

이 예제에서 차단 장치 (fencedevice)는 fencedevices 요소에 추가되어, 차단 에이전트 (agent)를 fence_apc로, IP 주소 (ipaddr)를 apc_ip_example로, 로그인 (login)을 login_example로, 차단 장치 이름 (name)을 apc로, 암호 (passwd)를 password_example로 지정하고 있습니다.

예 7.4. cluster.conf에 추가된 차단 방식


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="APC">
              <device name="apc" port="1"/>
             </method>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="APC">
              <device name="apc" port="2"/>
            </method>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="APC">
              <device name="apc" port="3"/>
            </method>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
         <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>

이 예제에서 차단 방식 (method)은 각 노드에 추가되어 있습니다. 각 노드의 차단 방식 이름 (name)은 APC입니다. 각 노드에 있는 차단 방식의 장치 (device)는 이름(name)을 apc로 지정하고, 각 노드에 대해 고유한 APC 스위치 전원 포트 번호 (port)를 지정하고 있습니다. 예를 들어, node-01.example.com의 포트 번호는 1 (port="1")입니다. 각 노드의 장치 이름 (device name="apc")은 fencedevices 요소의 행에서 apc의 이름 (name)에 의해 차단 장치를 가리킵니다: fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example".

예 7.5. cluster.conf: 노드 당 여러 차단 방식


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="APC">
              <device name="apc" port="1"/>
             </method>
            <method name="SAN">
	      <device name="sanswitch1" port="11"/>
             </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="11" action="on"/> 
         </unfence
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="APC">
              <device name="apc" port="2"/>
            </method>
            <method name="SAN">
	      <device name="sanswitch1" port="12"/>
             </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="12" action="on"/> 
         </unfence
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="APC">
              <device name="apc" port="3"/>
            </method>
            <method name="SAN">
	      <device name="sanswitch1" port="13"/>
             </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="13" action="on"/> 
         </unfence
     </clusternode>
   </clusternodes>
   <fencedevices>
        <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/>
        <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example"
login="login_example" name="sanswitch1" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>


예 7.6. cluster.conf: 차단 장치, 멀티패스 다중 포트


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="SAN-multi">
	      <device name="sanswitch1" port="11"/>
	      <device name="sanswitch2" port="11"/>
	    </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="11" action="on"/>
             <device name="sanswitch2" port="11" action="on"/>
         </unfence
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="SAN-multi">
	      <device name="sanswitch1" port="12"/>
	      <device name="sanswitch2" port="12"/>
            </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="12" action="on"/>
             <device name="sanswitch2" port="12" action="on"/>
         </unfence
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="SAN-multi">
	      <device name="sanswitch1" port="13"/>
	      <device name="sanswitch2" port="13"/>
            </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="13" action="on"/>
             <device name="sanswitch2" port="13" action="on"/>
         </unfence
     </clusternode>
   </clusternodes>
   <fencedevices>
        <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example"
login="login_example" name="sanswitch1" passwd="password_example"/> 
        <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example"
login="login_example" name="sanswitch2" passwd="password_example"/> 
   </fencedevices>
   <rm>
   </rm>
</cluster>


예 7.7. cluster.conf: 듀얼 전원 공급을 갖는 노드 차단 장치


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="APC-dual">
              <device name="apc1" port="1"action="off"/>
              <device name="apc2" port="1"action="off"/>
              <device name="apc1" port="1"action="on"/>
              <device name="apc2" port="1"action="on"/>
             </method>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="APC-dual">
              <device name="apc1" port="2"action="off"/>
              <device name="apc2" port="2"action="off"/>
              <device name="apc1" port="2"action="on"/>
              <device name="apc2" port="2"action="on"/>
            </method>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="APC-dual">
              <device name="apc1" port="3"action="off"/>
              <device name="apc2" port="3"action="off"/>
              <device name="apc1" port="3"action="on"/>
              <device name="apc2" port="3"action="on"/>
            </method>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
       <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc1" passwd="password_example"/>
       <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc2" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>


듀얼 전원 공급과 함께 노드를 차단하기 위해 전원 스위치를 사용할 때, 두 포트 모두에 전원을 복구하기 전 전원 포트를 끄도록 에이전트에 통지해야 합니다. 에이전트의 기본값 온/오프 동작은 전원이 노드에서 완전히 비활성화되지 않게 할 수 있습니다.