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