Глава 4. Изоляция узлов

Изоляция узла (англ. fencing) — отключение неисправного узла от кластерного хранилища с целью поддержки целостности данных. До тех пор пока узел не будет благополучно изолирован, все операции ввода-вывода в кластере будут приостановлены. Это позволяет снизить вероятность повреждения данных в хранилище. Изоляцию узла проводит специальный демон fenced.
Как только CMAN обнаружит сбой узла, он сообщит об этом другим кластерным подсистемам, в том числе fenced, который тут же изолирует узел. Другие подсистемы будут действовать в соответствии с ситуацией — так, DLM и GFS2 приостановят работу до тех пор, пока fenced не сообщит об успешном отключении узла, после чего DLM освободит его блокировки, GFS2 восстановит журнал — и они продолжат работу.
Отключение узла от кластера осуществляется внешними устройствами, взаимодействие с которыми осуществляют агенты. При сбое узла fenced свяжется с агентом, который сможет изолировать узел при помощи соответствующего устройства. Агенты и устройства изоляции настраиваются в файле конфигурации кластера.
Red Hat High Availability поддерживает разные способы изоляции:
  • Отключение питания — использует контроллер питания для обесточивания проблемного узла.
  • Отключение от хранилища — закрывает порт Fibre Channel между узлом и хранилищем.
  • Другое оборудование для ограничения ввода-вывода и отключения питания: IBM BladeCenter, PAP, DRAC/MC, HP ILO, IPMI, IBM RSA II и пр.
Рисунок 4.1, «Отключение питания» демонстрирует пример, в котором программа изоляции на узле A связывается с контроллером, который выключит узел D. Рисунок 4.2, «Отключение от хранилища» рассматривает ситуацию, в которой коммутатор Fibre Channel закроет порт для узла D, тем самым отключив его от хранилища.
Отключение питания

Рисунок 4.1. Отключение питания

Отключение от хранилища

Рисунок 4.2. Отключение от хранилища

Чтобы настроить метод изоляции, для каждого узла в файле конфигурации кластера надо определить имя метода, агент и устройство изоляции.
Если компьютер оснащен двумя источниками питания, для его изоляции надо будет задействовать два устройства (см. Рисунок 4.3, «Изоляция узла с двумя источниками питания»). Аналогично, если узел использует несколько маршрутов для подключения к хранилищу, надо будет настроить по одному устройству изоляции на каждый маршрут (см. Рисунок 4.4, «Изоляция узла с двумя соединениями Fibre Channel»).
Изоляция узла с двумя источниками питания

Рисунок 4.3. Изоляция узла с двумя источниками питания

Изоляция узла с двумя соединениями Fibre Channel

Рисунок 4.4. Изоляция узла с двумя соединениями Fibre Channel

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