Друг мой, третье мое плечо, или Кластер от Microsoft


Александр Кунтыш, компания Эврика [email protected]


Лирическое вступление


Человека, сколько он себя помнит, всегда тянуло к чему-то несбыточному и прекрасному - справедливости, любви, звездам и кластерам. А может быть, не только человека? Быть может, создание первого кластера для мини-компьютеров VAX было результатом долгой тайной работы самих компьютеров, а вовсе не их хозяев?

Кому не хочется иметь рядом верного, преданного друга, который взял бы на себя часть твоих забот и смог бы иногда подменить тебя, уставшего от семейной жизни или работы, - да так быстро и незаметно, что жена только засомневалась бы на мгновение, недоверчиво тебя разглядывая, или повторила свой последний вопрос: "Где деньги"? А если случится несчастье - пришел бы на помощь и взял в руки твой штурвал, не выпуская своего, или строчил бы из пулемета, пока не придет подмога. Неужели не нужен никому такой друг? Мне, положим, не нужен, но нельзя же подходить ко всем с одной меркой.

Именно такими друзьями могут быть специальным образом соединенные компьютеры с Windows NT Server Enterprise Edition после установки программного обеспечения Microsoft Cluster Server. Это и есть кластер. От Microsoft.


Основные понятия
Собственно кластер можно определить как две и более компьютерные системы, управляемые и используемые так, как управляется и используется один компьютер.
Кластер на основе Microsoft Cluster Server, как уже говорилось выше, - это кластер из двух, специальным образом соединенных серверов Windows NT Server Enterprise Edition с установленным программным обеспечением Microsoft Cluster Server. Серверы должны иметь не менее одного общего SCSI диска и не менее одного сетевого соединения.

Основное назначение кластера (здесь и далее речь пойдет именно о Microsoft Cluster Server кластерах) - обеспечить высокую доступность приложений даже при выходе из строя одного из серверов кластера. При этом клиенты получают кратковременный отказ в обслуживании, связанный с передачей полномочий на ресурсы от одного сервера другому.

Microsoft Cluster Server кластер состоит из двух компьютеров - узлов (nodes). Для выявления сбоя узлы кластера с определенной периодичностью обмениваются сообщениями - процесс, который можно назвать пульсацией (heartbeat - пульсация сердца, сердцебиение).

Ресурсами кластера (cluster resources) называются ресурсы узловых компьютеров, управляемые программным обеспечением кластера. Microsoft Cluster Server поддерживает следующие типы ресурсов (перечень может быть расширен производителями):

Ресурсом кворума может быть ресурс, который:

Зависимые или связанные ресурсы объединяются в группы. Ресурсы одной группы могут принадлежать в каждый момент времени только одному узлу.

Виртуальным сервером называется группа, в которой содержатся ресурсы "IP адрес" и "Сетевое имя". На рис.1 - это группа G2_1, которой принадлежит ресурс "Сетевое имя Server1".

РИСУНОК 1. Кластер, группы, ресурсы

Такие группы представляются клиентам сети как отдельный псевдо- (виртуальный) сервер. На рис.2 - это сервер "Server1".

РИСУНОК 2. Сетевые ресурсы

Для групп и ресурсов определены понятия:

Подробное описание компонентов Microsoft Cluster Server можно найти в документации.


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


Настройка аппаратуры
По отзывам, Microsoft Cluster Server работает с различными типами оборудования. По личному опыту - достаточно иметь два сервера, устойчиво работающих под управлением Windows NT, два SCSI адаптера из Microsoft Hardware Compatibility List (HCL) в номинации SCSI/Cluster и проверенный кабель SCSI. Здесь необходимо понимать разницу между "устойчиво работать под управлением Windows NT" и "устойчиво запускаться под управлением Windows NT"

. Пробные установки были сделаны на различных типах оказавшихся под рукой компьютеров - Pentium II и Pentium II, потом Pentium II и Pentium MMX. В каждом сервере - по две сетевые карты 3Com PCI 10/100 MБ (3C905). SCSI адаптеры - одинаковые, в целях эксперимента - Adaptec 3940AUW (в HCL SCSI / Cluster их нет).

Устойчивого, последовательного и одновременного запуска компьютеров с обнаружением общих SCSI устройств, опять же разных - 4 и 9 ГБ, удалось добиться не сразу. Полученный опыт имеет ценность для конкретных адаптеров, и обсуждать его смысла не имеет.


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


Эксперименты
Поставленные цели:

Замечание. Эксперименты с сетевыми приложениями, например, SQL сервером, заслуживают отдельного рассмотрения и анализа и поэтому в данной статье не обсуждаются.

Первая группа проведенных экспериментов - ознакомительная.
Кластер. Виртуальный сервер. На компьютере-клиенте выполняется командный файл: происходит циклическое копирование произвольных файлов с виртуального сервера.
Производится выключение питания активного узла - владельца используемого ресурса. Небольшая задержка (до 15 сек).
Копирование продолжается.
Включение питания. Загрузка сервера. Процесс восстановления полномочий на ресурсы. Задержка.
Копирование продолжается.
Фантастика!

Вторая группа экспериментов - тестирование виртуального сервера на стенде тестирования серверов.
Кластер. Виртуальный сервер.
Тест Ziff Davis Net Bench - тестирование виртуального файлового сервера. 24 клиента Pentium 166. Продолжительность выполнения тестов - трое-четверо суток.
Проблем не обнаружено.
Замечание. Выведение активного узла в недоступное состояние не производилось, поскольку клиенты NetBench не рассчитаны на восстановление сетевого соединения.
Справка. Многие серверы из тех, что проходили тестирование в лаборатории фирмы Эврика, не смогли завершить выполнение на порядок менее сложных тестов. Если быть точным, выполнение подобных тестов, конечно, завершалось... аварийно. А выполнение теста и получение приемлемых результатов - случай еще более редкий.

Третья группа экспериментов.
Кластер. Виртуальный сервер.
8 клиентов. На компьютерах - клиентах выполняется командный файл: происходит циклическое копирование набора файлов с виртуального сервера. Во время выполнения теста каждые 30 минут производится поочередная перезагрузка узлов кластера утилитой Shutdown из Microsoft Resource Kit для Windows NT.
Продолжительность выполнения теста - от четырех до пяти суток.
Проблем не обнаружено.


Выводы
Microsoft Cluster Server является работоспособным, простым и в чем-то элегантным решением. Сфера применения достаточно подробно описана Microsoft. Заслуживает пристального внимания после появления и выхода в свет первого Service Pack для Microsoft Cluster Server 1.0.


КОМПЬЮТЕР ИНФОРМ