Друг мой, третье мое плечо, или Кластер от Microsoft
Александр Кунтыш, компания Эврика [email protected]
Лирическое вступление
Кому не хочется иметь рядом верного, преданного друга, который взял бы на себя часть твоих забот и смог бы иногда подменить тебя, уставшего от семейной жизни или работы, - да так быстро и незаметно, что жена только засомневалась бы на мгновение, недоверчиво тебя разглядывая, или повторила свой последний вопрос: "Где деньги"? А если случится несчастье - пришел бы на помощь и взял в руки твой штурвал, не выпуская своего, или строчил бы из пулемета, пока не придет подмога. Неужели не нужен никому такой друг? Мне, положим, не нужен, но нельзя же подходить ко всем с одной меркой.
Именно такими друзьями могут быть специальным образом соединенные компьютеры с Windows NT Server Enterprise Edition после установки программного обеспечения Microsoft Cluster Server. Это и есть кластер. От Microsoft.
Основное назначение кластера (здесь и далее речь пойдет именно о 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 можно найти в документации.
. Пробные установки были сделаны на различных типах оказавшихся под рукой компьютеров - 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.
Продолжительность выполнения теста - от четырех до пяти суток.
Проблем не обнаружено.