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, который тут же изолирует проблемный узел. Другие компоненты будут выполнять действия в соответствии с ситуацией, к примеру, начнут операции восстановления. Получив информацию о сбое узла, DLM и GFS прекращают все действия, до тех пор пока fenced не завершит его изолирование.
Изолирующая программа выбирает способ изоляции на основе полученной из файла конфигурации информации. Его определяют два основных элемента: изолирующий агент и изолирующее устройство. Программа осуществляет вызов агента, заданного в файле конфигурации. Агент, в свою очередь, ограничит узел с помощью изолирующего устройства. Программа уведомит менеджер кластера о завершении.
Возможные методы изоляции Red Hat Cluster Suite:
  • Изолирование с помощью питания: использует контроллер питания для отключения проблемного узла.
  • Изолирование с помощью переключателя Fibre Channel: отключает порт Fibre Channel, соединяющий хранилище с проблемным узлом.
  • GNBD fencing — A fencing method that disables an inoperable node's access to a GNBD server.
  • Прочие виды: отключение ввода/ вывода или питания проблемного узла, включая 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.
Power Fencing Example

Рисунок 1.3. Power Fencing Example

Fibre Channel Switch Fencing Example

Рисунок 1.4. Fibre Channel Switch Fencing Example

Чтобы указать метод изолирования узла, в файле конфигурации кластера необходимо определить имя метода, агент и изолирующее устройство для каждого узла в составе кластера.
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

Для узла можно использовать один или несколько изолирующих методов. Если используется один метод, то другие методы недоступны. Если же используется несколько методов, то они будут применяться каскадно в соответствии с порядком, определенным в файле конфигурации кластера. При сбое узла он будет изолирован согласно заданному в файле способу. Если первый способ не сработает, то процесс изолирования начнется заново и будет использован следующий способ. Если же все методы завершились неудачей, процесс начнется сначала, переходя от первого метода в файле конфигурации к последующему до тех пор, пока узел не будет изолирован.