СОЗДАНИЕ КЛАСТЕРА НА БАЗЕ WINDOWS 2000/2003.
Системный Администратор "администрирование"
ГЕННАДИЙ ДМИТРИЕВ, Monday 19 November 2007 - 09:46:09

[newpage=Введение]
ВВЕДЕНИЕ
Кластер – это группа из двух или более серверов, действующих совместно для обеспечения безотказной работы набора приложений или служб и воспринимаемых клиентом как единый элемент. Узлы кластера объединяются между собой с помощью аппаратных сетевых средств, совместно используемых разделяемых ресурсов и серверного программного обеспечения.
Microsoft Windows 2000/2003 поддерживает две технологии кластеризации: кластеры с балансировкой нагрузки (Network Load Balancing) и кластеры серверов.
В первом случае (кластеры с балансировкой нагрузки) служба Network Load Balancing придает службам и приложениям свойства высокого уровня надежности и масштабируемости за счет объединения до 32 серверов в единый кластер. Запросы от клиентов в данном случае распределяются среди узлов кластера прозрачным образом. При отказе узла кластер автоматически изменяет свою конфигурацию и переключает клиента на любой из доступных узлов. Этот режим конфигурации кластера также называется active-active режимом, когда одно приложение работает на нескольких узлах.
Кластер серверов распределяет свою нагрузку среди серверов кластера, причем каждый сервер несет свою собственную нагрузку. Если происходит отказ узла в кластере, то приложения и службы, настроенные на работу в кластере, прозрачным образом перезапускаются на любом из свободных узлов. Кластеры серверов используют разделяемые диски для обмена данными внутри кластера и для обеспечения прозрачного доступа к приложениям и службам кластера. Для них требуется специальное оборудование, но данная технология обеспечивает очень высокий уровень надежности, поскольку сам кластер не имеет какой-либо единственной точки отказа. Этот режим конфигурации кластера также называется active-passive режимом.
Приложение в кластере работает на одном узле с общими данными, расположенными на внешнем хранилище. Кластерный подход к организации внутренней сети дает следующие преимущества:



В этой статье я попытаюсь собрать свой опыт по созданию кластерных систем на базе Windows и дать небольшое пошаговое руководство по созданию двухузлового кластера серверов с разделяемым хранилищем данных.

Системные рекомендации

Требования к программному обеспечению:



Требования к аппаратному обеспечению:



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

Требования к сетевым настройкам:



Замечание:
по рекомендациям Microsoft ваш сервер должен иметь два сетевых адаптера, один для общей сети, второй для обмена данными внутри кластера. Можно ли строить кластер на одном интерфейсе – наверное, да, но я не пробовал.

[newpage=Установка кластера]
Установка кластера

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



Это пошаговое руководство позволит вам избежать ошибок во время установки и сэкономить массу времени.
Итак, начнем.

Установка и настройка узлов

Мы немного упростим задачу. Поскольку все узлы кластера должны быть либо участниками домена, либо контроллерами домена, то корневым держателем каталога AD (Active Directory) сделаем 1-й узел кластера, на нем же будет работать DNS-служба. 2-й узел кластера будет полноправным контроллером домена.
Установку операционной системы я готов пропустить , полагая, что в этом у вас не должно быть каких-то проблем. А вот конфигурацию сетевых устройств хочется пояснить.



Сетевые настройки

Перед началом установки кластера и Active Directory необходимо выполнить сетевые настройки. Все сетевые настройки хочется разделить на 4 этапа. Для распознавания имен в сети желательно иметь DNS-сервер с уже существующими записями о серверах кластера.
Каждый сервер имеет по две сетевые карты. Одна сетевая карта будет служить для обмена данными между узлами кластера, вторая будет работать на клиентов в нашей сети. Соответственно первый назовем Private Cluster Connection, второй назовем Public Cluster Connection.



Настройки сетевых адаптеров для одного и для другого сервера идентичны. Соответственно я покажу, как настроить сетевой адаптер и дам табличку с сетевыми настройками всех 4 сетевых адаптеров на обоих узлах кластера. Для настройки сетевого адаптера необходимо выполнить следующие шаги:



Для конфигурирования всех сетевых адаптеров на узлах кластера используйте следующую табличку:



Установка Active Directory

Поскольку эта статья не преследует цель рассказать об установке Active Directory, то этот пункт я опущу. Всевозможных рекомендаций, книг об этом написано достаточно много ( в том числе и на этом сайте). Выберете доменное имя, вроде mycompany.ru, установите Active Directory на первом узле, добавьте второй узел в домен в качестве контроллера домена. Когда все сделаете, проверьте конфигурации серверов, Active Directory.

[newpage=Установка Cluster User Account и Настройка внешнего массива данных]

Установка Cluster User Account

По рекомендациям Microsoft для Cluster Service следует создать отдельную учетную запись, от имени которой он будет работать. Эта учетная запись должна быть создана до установки Cluster Service:





Настройка внешнего массива данных

Для настройки внешнего массива данных в кластере необходимо помнить, что перед установкой Cluster Service на узлах вы должны сначала сконфигурировать диски на внешнем массиве, только потом устанавливать службу кластера сначала на первом узле, только потом на втором. В случае нарушения порядка установки у вас произойдет сбой, и вы не достигнете цели. Можно ли будет исправить – наверное, да. Когда появится ошибка, у вас будет время, чтобы поправить настройки. Но Microsoft столь загадочная штука, что совсем не знаешь, на какие грабли наступишь. Проще иметь перед глазами пошаговую инструкцию и не забывать нажимать на кнопки. По шагам конфигурирование внешнего массива выглядит так:



На этом конфигурация внешнего массива завершена.

[newpage=Установка Cluster Service Software]

Установка Cluster Service Software

Конфигурация первого узла кластера

Перед началом установки Cluster Service Software все узлы кластера должны быть выключены, все внешние массивы должны быть включены. Перейдем к конфигурации первого узла. Внешний массив включен, первый сервер включен. Весь процесс установки происходит с использованием Cluster Service Configuration Wizard:





[newpage=Установка Cluster Service Software -- Конфигурация второго узла кластера]
Конфигурация второго узла кластера

Для установки и конфигурирования второго узла кластера необходимо, чтобы первый узел был включен, все сетевые диски были включены. Процедура настройки второго узла очень напоминает ту, что я описал выше. Однако есть небольшие изменения. Для этого используйте следующую инструкцию:



Для установки дополнительных узлов кластера используйте эту же инструкцию.

Постскриптум

Чтобы вам не запутаться со всеми этапами установки кластера, приведу небольшую табличку, в которой отражены все основные этапы.
Время реакции кластера на непредвиденные ситуации зависит от множества параметров. Это тип ресурса, свойства ресурса, свойства группы ресурсов и времени, необходимого ресурсу на загрузку. Например, загрузка базы данных сервера DHCP происходит достаточно быстро. Однако перевод Exchange-сервера может занять до нескольких секунд. Это время, необходимое Exchange-серверу произвести быструю проверку целостности базы и загрузить все необходимые компоненты. В частности, мы экспериментировали с серверами WINS и DHCP, длительность реакции на отказ сервиса не превышала 1.5 секунд.
А время реакции Exchange-сервера составляла около 10 секунд, это выражалось в небольшом тайм-ауте в работе клиента.
По завершении всех этих операций вы получите полностью работающий двухузловой кластер. В качестве ресурсов кластера можно использовать внутренние службы WINS, DNS, DHCP, можно настроить IIS-сервер на работу внутри кластера. Можно использовать внешние приложения, главное, чтобы они поддерживали кластерные технологии Microsoft. Можно бесконечно долго спорить о том, нужна ли данная технология. На мой взгляд, каждое решение должно быть обосновано и грамотно реализовано.
Я лишь попытался поделиться своим опытом создания такой системы.
Хочется выразить глубокую благодарность за неоценимую интеллектуальную помощь Андрееву Павлу, системному администратору Novavox.



Журнал "Системный администратор"



эта статья с Компьютерные сети и технологии
( http://www.xnets.ru/plugins/content/content.php?content.177 )