1.3.3. Fencing

Fencing is the disconnection of a node from the cluster's shared storage. Fencing cuts off I/O from shared storage, thus ensuring data integrity. The cluster infrastructure performs fencing through the fence daemon, fenced.
CMAN이 노드에 장애가 발생했다고 판단하면, 장애가 발생한 노드가 있는 다른 클러스터 인프라 구성 요소와 통신합니다. 장애 발생 통보시 fenced는 장애 발생 노드를 차단합니다. 다른 클러스터 인프라 구성 요소는 어떤 작업을 취할 지를 결정합니다 — 즉, 노드에 필요한 복구 작업을 실행합니다. 예를 들어, 노드 장애 발생시 fenced가 장애가 발생한 노드에 fencing 작업을 완료할 때까지 DLM 및 GFS는 작업을 일시 중지합니다. 장애 발생한 노드의 fencing 작업이 완료되면, DLM 및 GFS는 복구 작업을 실행합니다. DLM은 장애 발생 노드의 잠금 기능을 해재하고, GFS는 장애 발생 노드의 저널을 복구합니다.
fencing 프로그램은 클러스터 설정 파일에서 어떤 fencing 방법을 사용할 지를 결정합니다. 클러스터 설정 파일에서는 fencing 에이전트 및 fencing 장치라는 두가지 주요 fencing 방법이 있습니다: fencing 프로그램은 클러스터 설정 파일에 지정된 fencing 에이전트로 호출합니다. 다음으로 fencing 에이전트는 fencing 장치를 통해 노드를 차단합니다. fencing 작업이 완료되면 fencing 프로그램은 클러스터 관리자에게 알립니다.
Red Hat Cluster Suite에서는 다양한 fencing 방법을 제공합니다:
  • Power fencing — 실행 불가능한 노드의 전원을 끄기위해 전원 제어기를 사용하는 fencing 방법
  • Fibre Channel switch fencing — 스토리지를 실행 불가능한 노드로 연결시키는 Fibre Channel 포트를 비활성화시키는 fencing 방법
  • GNBD fencing — A fencing method that disables an inoperable node's access to a GNBD server.
  • 기타 fencing 방법 — IBM Bladecenters, PAP, DRAC/MC, HP ILO, IPMI, IBM RSA II, 기타 등등을 포함하여 실행 불가능한 노드의 I/O 또는 전원을 비활성화시키는 기타 다른 fencing 방법
그림 1.3. “Power Fencing Example” shows an example of power fencing. In the example, the fencing program in node A causes the power controller to power off node D. 그림 1.4. “Fibre Channel Switch Fencing Example” shows an example of Fibre Channel switch fencing. In the example, the fencing program in node A causes the Fibre Channel switch to disable the port for node D, disconnecting node D from storage.
Power Fencing Example

그림 1.3. Power Fencing Example

Fibre Channel Switch Fencing Example

그림 1.4. Fibre Channel Switch Fencing Example

fencing 방법은 클러스터에 있는 각각의 노드에 대한 fencing 방법 이름, fencing 에이전트, fencing 장치를 지정하기 위한 클러스터 설정 파일의 편집으로 구성되어 있습니다.
The way in which a fencing method is specified depends on if a node has either dual power supplies or multiple paths to storage. If a node has dual power supplies, then the fencing method for the node must specify at least two fencing devices — one fencing device for each power supply (refer to 그림 1.5. “Fencing a Node with Dual Power Supplies”). Similarly, if a node has multiple paths to Fibre Channel storage, then the fencing method for the node must specify one fencing device for each path to Fibre Channel storage. For example, if a node has two paths to Fibre Channel storage, the fencing method should specify two fencing devices — one for each path to Fibre Channel storage (refer to 그림 1.6. “Fencing a Node with Dual Fibre Channel Connections”).
Fencing a Node with Dual Power Supplies

그림 1.5. Fencing a Node with Dual Power Supplies

Fencing a Node with Dual Fibre Channel Connections

그림 1.6. Fencing a Node with Dual Fibre Channel Connections

하나의 fencing 방법이나 또는 여러 개의 fencing 방법을 사용하여 노드를 설정할 수 있습니다. 하나의 fencing 방법으로 노드를 설정한 경우, 이 방법만으로 노드를 fencing할 수 있습니다. 여러 fencing 방법으로 노드를 설정한 경우, 클러스터 설정 파일에서 지정된 fencing 방법 순서에 따라 하나의 fencing 방법에서 다른 방법으로 캐스캐이드 (cascade) 됩니다. 노드에 문제가 있을 경우, 클러스터 설정 파일에서 설정한 첫번째 fencing 방법으로 노드가 차단됩니다. 첫번째 fencing 방법에 문제가 발생했을 경우 두번째로 설정된 fencing 방법이 사용됩니다. 아무 fencing 방법도 실행되지 않을 경우, fencing은 첫번째로 설정된 fencing 방법을 다시 실행하게 되며 노드에 fencing이 실행될 때까지 클러스터 설정 파일에 설정된 순서로 fencing 방법을 반복 실행하게 됩니다.