На главную
Карта сайта
Написать письмо в АСПЕКТ СПб
Главная /  Решения /  ИТ-инфраструктура /  Системы высокой готовности / Отказоустойчивые кластеры

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

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

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

Failover Cluster 1


Рис.1. Пример реализации отказоустойчивого кластера

Данная схема отображает кластер с отсутствующими точками отказа (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), а также предоставлять службам кластеризации интерфейсы для конфигурирования приложений и ресурсов кластера.

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

  1. Появляется необходимость дублирования оборудования на всех уровнях кластера.
  2. Оборудование, в особенности коммутационное и системы хранения, должно поддерживать резервирование.
  3. Стоимость программного обеспечения, поддерживающего failover clustering, значительно выше стандартных версий, хотя имеются исключения (например, MS SQL Server 2005 Standard поддерживает до двух узлов в кластере).

Оптимальный результат

Поэтому для создания такой системы рекомендуется следовать методике планирования нагрузки и определения оптимальной для сформулированных требований по времени восстановления конфигурации. Зачастую бывает достаточно системы с холодным резервированием, стоимость которой сопоставима со стоимостью стандартного серверного решения. В связи с этим компания АСПЕКТ СПб рекомендует при выборе решения обращаться за консультацией к специалистам.

 
© АСПЕКТ СПб, 2009. Все права защищены.