yandex










                	

                	

                
                
search phone

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

05.04.2021 Задача отказоустойчивого кластера — обеспечение доступности севиса в сети за счет минимально-необходимого времени восстановления после сбоя любого происхождения (пожар, аппаратная ошибка, атака и др.). Время восстановления сервиса в таком кластере, как правило, не должно превышать нескольких минут, а в ряде случаев, в зависимости от требований, и секунд.

Суть работы отказоустойчивого кластера заключается в способности отслеживать состояние узлов кластера и запущенных сервисов и, при обнаружении сбоя, перезапуска сервисов на свободных узлах кластера (service failover). Пример кластера приведен на рисунке 1.

Failover Cluster 1

Рис.1. Пример реализации отказоустойчивого кластера
http://www.aspectspb.ru/etc/failover1.jpg

Данная схема отображает кластер с отсутствующими точками отказа (null point of failure), то есть в системе нет такого узла, отказ которого повлек бы отказ системы. На схеме оба RAID-массива функционируют в режиме зеркала между собой, так что отказ одного массива не повлечет отказа системы.

Современные технологии построения систем хранения данных позволяют организовывать сеть связи с технологией Multipath IO, т.е. осуществление ввода-выода на дисковые массивы по нескольким маршрутам. Наиболее популярными являются интерфейсы Fibre Channel, Serial Attached SCSI и iSCSI, которые, в частности, реализованы в Windows Server 2008 Failover Cluster. От поддержки Parallel SCSI для кластеров как устаревшей технологии, не позволяющей реализовать ряд возможностей, в этой ОС в Microsoft было принято решение отказаться. Однако она до сих пор поддерживается в кластерах Windows Server 2003.

Обратим внимание, что основная задача отказоустойчивого кластера состоит в обеспечении быстрого восстановления сервисов (service failover) в случае их отказа ввиду проблемы в одном из узлов.

В ОС Windows Server 2003 и выше поддерживаются следующие топологии кластера на базе Fibre Channel:

Fibre Channel arbitrated loop (FC-AL) — кольцевая топология с арбитражом, в которой возможны только два узла и две системы хранения.
Fibre Channel switched fabric (FC-SW) — топология на базе коммутатора, в которой возможны до 16 серверов в кластере.
В кластерах возможно развертывание приложений следующих типов:

Single-instance applications — приложения, способные функционировать в режиме «одна запущенная копия — один набор данных на диске». В этом случае для каждого сервиса (приложения) устанавливается несколько копий на несколько узлов кластера, а также указывается один из общедоступных дисков (томов) системы хранения данных SAN для создания единой копии данных. В случае обнаружения отказа запущенной копии сервиса, кластер автоматически инициирует переподключения необходимых ресурсов от недоступного узла к одному из доступных узлов и запуск сервиса на этом узле. Помимо этого кластер автоматически переназначает сетевой IP-адрес на соответствующий сервер, так что пользователь фактически не замечает разницы за исключением временного отсутствия сервиса.
Multiple-instance applications — приложения, способные функционировать в режиме «несколько запущенных копий или модулей — один набор данных». Основаня проблема таких приложений — разграничение доступа к данным — уже была описана в разделе Балансировка сетевой нагрузки. Как правило, её решают путем разделения приложения на модули, выполняющие различные функции и обращающиеся к различным областям базы данных. Примером такого приложения можно считать Microsoft Exchange Server, Microsoft SQL Server.
Приложения, развертываемые в кластере, должны поддерживать возможности кластеризации операционной системы — в частности, сервисы обнаружения отказа, передачи временных данных на доступный узел и хранения базы данных кластера, такие как кворумный диск (Quorrum), а также предоставлять службам кластеризации интерфейсы для конфигурирования приложений и ресурсов кластера.

Отметим, что реализация кластера влечет удорожание всей системы на порядок, так как:

Появляется необходимость дублирования оборудования на всех уровнях кластера.
Оборудование, в особенности коммутационное и системы хранения, должно поддерживать резервирование.
Стоимость программного обеспечения, поддерживающего failover clustering, значительно выше стандартных версий, хотя имеются исключения (например, MS SQL Server 2005 Standard поддерживает до двух узлов в кластере).
Оптимальный результат
Поэтому для создания такой системы рекомендуется следовать методике планирования нагрузки и определения оптимальной для сформулированных требований по времени восстановления конфигурации. Зачастую бывает достаточно системы с холодным резервированием, стоимость которой сопоставима со стоимостью стандартного серверного решения. В связи с этим компания АСПЕКТ СПб рекомендует при выборе решения обращаться за консультацией к специалистам.