Фехтование (вычислительная техника) - Fencing (computing)

Фехтование это процесс выделения узел из компьютерный кластер или защита общих ресурсов, когда узел кажется неисправным.[1][2]

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

Базовые концепты

Ограждение узла (или забор ввода-вывода) - это виртуальный «забор», отделяющий узлы, которые не должны иметь доступа к общему ресурсу, от этого ресурса. Он может отделить активный узел от его резервной копии. Если резервная копия пересекает забор и, например, пытается управлять тем же дисковым массивом, что и основной, может возникнуть опасность для данных. Такие механизмы, как STONITH предназначены для предотвращения этого состояния.

Изоляция узла означает обеспечение того, чтобы Ввод / вывод из этого уже нельзя сделать. Ограничение обычно выполняется автоматически кластерной инфраструктурой, такой как файловые системы общего диска, для защиты процессы от других активных узлов, изменяющих ресурсы во время сбоев узлов. Механизмы поддержки ограждения, такие как механизм резервирования / освобождения SCSI, существуют по крайней мере с 1985 года.[3]

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

Подходы к фехтованию

Существует два класса методов ограждения: один отключает сам узел, другой запрещает доступ к таким ресурсам, как общие диски.[1] В некоторых случаях предполагается, что, если узел не отвечает по истечении заданного временного порога, он может считаться неработающим, хотя существуют контрпримеры, например долгое пейджинговое неистовство.[1]

В STONITH Метод расшифровывается как «Shoot The Other Node In The Head», что означает, что подозреваемый узел отключен или выключен. Например, силовое ограждение использует контроллер питания для выключения неработающего узла. Затем узел может перезапуститься и позже присоединиться к кластеру. Однако существуют подходы, при которых оператор информируется о необходимости ручного перезапуска узла.[1]

В ограждение ресурсов подход запрещает доступ к ресурсам без отключения питания узла. Это может включать:

Когда в кластере только два узла, метод резервирования / освобождения может использоваться как двухузловой STONITH, при этом при обнаружении того, что узел B «отказал», узел A выдаст резерв и получит все ресурсы (например, общий диск) для себя. Узел B будет отключен, если он попытается выполнить ввод-вывод (в случае, если он был временно завис). На узле B сбой ввода-вывода запускает некоторый код, уничтожающий узел.

Постоянное резервирование - это, по сути, соответствие ключа, поэтому узел, имеющий правильный ключ, может выполнять ввод-вывод, в противном случае его ввод-вывод не работает. Следовательно, достаточно изменить ключ при сбое, чтобы обеспечить правильное поведение во время сбоя. Однако не всегда возможно изменить ключ на отказавшем узле.

STONITH - это более простой и простой метод для реализации на нескольких кластерах, в то время как различные подходы к ограждению ресурсов требуют определенных подходов к реализации для каждой реализации кластера.[1]

Смотрите также

Рекомендации

  1. ^ а б c d е Алан Робертсон Ограничение ресурсов с помощью STONITH. Исследовательский центр IBM Linux, 2010 г. [1][постоянная мертвая ссылка ]
  2. ^ Среда Sun Cluster: Sun Cluster 2.2 Энрике Варгас, Джозеф Бьянко, Дэвид Дитс 2001 ISBN стр. 58
  3. ^ "Интерфейс стандартов малых компьютеров". ANSI X3.131-1986.

внешняя ссылка