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
将保护(fence)故障节点。其他群集基础结构组件将决定采取什么行动 — 也就是说,它们执行任何必需的恢复。例如,当 DLM 和 GFS 被告知节点故障时,将暂停活动,直到它们检测到 fenced
已经完成对故障节点的保护。当确认故障节点已经被保护时,DLM 和 GFS 会执行恢复。DLM 释放对失败节点的锁定;GFS 恢复故障节点的日志。
保护程序根据群集配置文件决定使用哪种保护方法。群集配置文件用两个关键元素定义了保护方法:保护代理(fencing agent)和保护设备(fencing device)。保护程序调用这里定义的保护代理。而保护代理则通过保护设备来保护节点。当保护过程结束时,保护程序将通知群集管理器。
Red Hat Cluster Suite提供各种保护方法:
- 电源保护(Power fencing)— 该方法使用电源控制器来关闭不可操作的节点。
- 光线通道开关保护(Fibre Channel switch fencing)— 该方法禁用连接至不可操作节点的光线通道端口。
- GNBD fencing — A fencing method that disables an inoperable node's access to a GNBD server.
- 其他保护方法 — 如禁用 I/O 或不可操作节点的电源,包括 IBM Bladecenters, PAP, DRAC/MC, HP ILO, IPMI, IBM RSA II 等。
图 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.
图 1.3. Power Fencing Example
图 1.4. Fibre Channel Switch Fencing Example
指定保护方法通过编辑群集配置文件完成,如分配保护方法名、保护代理(fencing agent)、以及用于群集里每个节点的保护设备(fencing device)。
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”).
图 1.5. Fencing a Node with Dual Power Supplies
图 1.6. Fencing a Node with Dual Fibre Channel Connections
您可以配置节点具有一个或多个保护方法。当您配置某个节点具有一个保护方法时,这个方法就是保护该节点的唯一可用保护方法。而当您配置某个节点具有多个保护方法时,保护方法将按照群集配置文件里指定的顺序挨个进行层叠(cascade)。如果某个节点出现故障,配置文件里指定的第一个保护方法将对它进行保护。如果第一个保护方法没有成功,指定的第二个保护方法将被使用。如果所有方法都没有成功,保护将从第一个保护方法重新开始,且安装群集配置文件里指定的顺序进行循环,直到这个节点被成功地保护为止。