Кластер (единица хранения данных)
- 1 year ago
- 0
- 0
Отказоустойчивый кластер ( англ. High-Availability cluster , HA cluster — кластер высокой доступности ) — кластер (группа серверов ), спроектированный в соответствии с методиками обеспечения высокой доступности и гарантирующий минимальное время простоя за счёт аппаратной избыточности. Без кластеризации сбой сервера приводит к тому, что поддерживаемые им приложения или сетевые сервисы оказываются недоступны до восстановления его работоспособности. Отказоустойчивая кластеризация исправляет эту ситуацию, перезапуская приложения на других узлах кластера без вмешательства администратора в случае обнаружения аппаратных или программных сбоев. Процесс перезапуска известен как аварийное переключение . В рамках этого процесса программное обеспечение кластеризации может дополнительно настроить узел перед запуском приложения на нём (например, импортировать и смонтировать соответствующие файловые системы, переконфигурировать сетевое оборудование или запустить какие-либо служебные приложения).
Отказоустойчивые кластеры широко используются для поддержки важных баз данных , хранения файлов в сети, бизнес-приложений и систем обслуживания клиентов, таких как сайты электронной коммерции .
Реализации HA-кластеров представляют собой попытки достигнуть отказоустойчивости кластера в целом путём исключения критических точек отказа, в том числе за счёт резервирования вычислительных мощностей, сетевых подключений и хранилищ данных, объединённых в избыточную Сеть хранения данных .
Не каждое приложение может работать в высокодоступной кластерной среде. Соответствующие решения должны быть заложены на ранней стадии разработки программного обеспечения. Для работы в HA-кластере приложение должно соответствовать, как минимум, следующим техническим требованиям, последние два из которых имеют решающее значение для его надежной работы в кластере, и которые наиболее сложно в полной мере удовлетворить:
Чаще всего встречаются двухузловые HA-кластеры — это минимальная конфигурация, необходимая для обеспечения отказоустойчивости. Но часто кластеры содержат намного больше, иногда десятки узлов. Все эти конфигурации, как правило, могут быть описаны одной из следующих моделей:
Термины логический хост или кластерный логический хост используются для обозначения сетевого адреса, который используется для доступа к сервисам, предоставляемым кластером. Идентификатор логического хоста не привязан к одному узлу кластера. Это на самом деле сетевой адрес / имя, которые связаны с сервисом (ами), предоставленным кластером. Если узел кластера с, например, работающей базой данных выходит из строя, база данных будет перезапущена на другом узле кластера, и сетевой адрес, по которому пользователи получают доступ к базе данных, сохранится для любого нового узла, так что пользователи сохранят доступ к базе данных.
HA-кластеры, кроме описанных схем межузлового резервирования, используют и все методы, обычно применяемые в отдельных (некластерных) системах и сетевой инфраструктуре для максимального повышения надёжности. К ним относятся:
Меры по обеспечению бесперебойной работы отдельного узла помогают свести к минимуму вероятность обращения к механизмам собственно отказоустойчивой кластеризации. В случае задействования последних доступ к сервису может прерываться, хотя бы и ненадолго, и целесообразнее предупреждать критические отказы оборудования.
Системы, которые обрабатывают ошибки в распределенных компьютерных системах, используют разные стратегии устранения последствий сбоя. Например, Apache Cassandra API предусматривает три варианта обработки ошибок:
Для контроля работоспособности узлов в кластере обычно используется передача непрерывного периодического сигнала («пульса», англ. heartbeat ) во внутренней сети кластера от каждого из узлов, по наличию которого управляющее ПО судит о нормальной работе соседних узлов. С этим связана неочевидная, но серьёзная проблема «разделённого мозга» ( англ. split-brain_(computing) ) — в случае одновременного разрыва множества соединений во внутренней сети кластера по причине сбоя питания, неисправности сетевого оборудования и т. п., узел, не способный корректно обработать данную ситуацию, начинает вести себя так, как будто все остальные узлы кластера вышли из строя, запуская дубликаты уже работающих в кластере сервисов, что может привести к повреждению данных в общем хранилище.
|
В другом языковом разделе
есть более полная статья
(англ.)
.
|