Отказоустойчивый кластер


Отказоустойчивый кластер (англ. High-Availability cluster, HA cluster — кластер высокой доступности) — кластер (группа серверов), спроектированный в соответствии с методиками обеспечения высокой доступности и гарантирующий минимальное время простоя за счёт аппаратной избыточности. Без кластеризации сбой сервера приводит к тому, что поддерживаемые им приложения или сетевые сервисы оказываются недоступны до восстановления его работоспособности. Отказоустойчивая кластеризация исправляет эту ситуацию, перезапуская приложения на других узлах кластера без вмешательства администратора в случае обнаружения аппаратных или программных сбоев. Процесс перезапуска известен как аварийное переключение. В рамках этого процесса программное обеспечение кластеризации может дополнительно настроить узел перед запуском приложения на нём (например, импортировать и смонтировать соответствующие файловые системы, переконфигурировать сетевое оборудование или запустить какие-либо служебные приложения).

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

Реализации HA-кластеров представляют собой попытки достигнуть отказоустойчивости кластера в целом путём исключения критических точек отказа, в том числе за счёт резервирования вычислительных мощностей, сетевых подключений и хранилищ данных, объединённых в избыточную Сеть хранения данных.

Не каждое приложение может работать в высокодоступной кластерной среде. Соответствующие решения должны быть заложены на ранней стадии разработки программного обеспечения. Для работы в HA-кластере приложение должно соответствовать, как минимум, следующим техническим требованиям, последние два из которых имеют решающее значение для его надежной работы в кластере, и которые наиболее сложно в полной мере удовлетворить:

Чаще всего встречаются двухузловые HA-кластеры — это минимальная конфигурация, необходимая для обеспечения отказоустойчивости. Но часто кластеры содержат намного больше, иногда десятки узлов. Все эти конфигурации, как правило, могут быть описаны одной из следующих моделей:

Термины логический хост или кластерный логический хост используются для обозначения сетевого адреса, который используется для доступа к сервисам, предоставляемым кластером. Идентификатор логического хоста не привязан к одному узлу кластера. Это на самом деле сетевой адрес / имя, которые связаны с сервисом (ами), предоставленным кластером. Если узел кластера с, например, работающей базой данных выходит из строя, база данных будет перезапущена на другом узле кластера, и сетевой адрес, по которому пользователи получают доступ к базе данных, сохранится для любого нового узла, так что пользователи сохранят доступ к базе данных.