Статья для тех, кто никогда не работал с кластеризацией, имеет слабое представление о том «Что же это такое?» Но имеет практический опыт работы с Windows Server 200x

За красивым названием «Кластер (Cluster)» таится множество полезного и интересного с точки зрения системного администрирования.

В этой статье рассматриваться будет встроенное решение в ЛЮБОЙ операционной системе win server начинает от server 2003 а именно Network Load Balancing. (например отказоустойчивые кластеры возможны только в enterprise и datacenter edition).

 

Для чего же это нужно?! Конкретно NLB как понятно из названия для балансировки нагрузки между нодами кластера. Данный кластер служит для объединения любых TCP/IP сервисов, таких как: сервер печати, терминальные сервер, Web сервер и так далее, что бы снизить нагрузку на конкретный сервер, распределить ресурсы между нодами, в таком кластере может быть до 32 нод (Нода/node кластера — это один из включённых в него серверов.)

Любая работа начинается с идеи, допустим мы решили что в сети очень срочно нужен отказоустойчивый сервер терминалов для работы с какой-то базой данных, основным критерием которого будет постоянная доступность в сети, для этого мы имеем парочку физических серверов или 10 гиг памяти на системе виртуализации, значит строим кластер!

Для начала нам нужно 3 ноды в данном кластере, проще всего это сделать на системе виртуализации, но и физ серверах отличия нет.в1. Устанавливаем ОС (в нашем случае Windows Server 2008r2

(процесс установка Win2008R2 –это уже совсем другая история=)

Начать стоит с настройки сетевых карта, может быть и 1 и 2 карты в каждом сервере, отличие будет только в режиме работы. Допустим у нас две, первую настраиваем так, как будто это простой сервер т.е настройки TCP/IP как у любого сервера в вашей сети, вторая будет для кластера она настраивается точно так же как и первая но имеет другой ip адрес и в ней НЕ ПРОПИСЫВАЕТСЯ основной шлюз!

Пример: имеем 3 сервера по 2 сетевые карты, назначаем адреса как показано на рисунке 1

(1-7 это ip адреса)

Для удобства переименуем сетевые карты в LAN и NLB соответственно.

2. На NLB картах нужно выключить регистрацию адреса в DNS (свойства TCP/ipv4>дополнительно>вкладка DNS> галочка в низу «зарегистрировать адрес этого подключения в DNS « СНИМАЕМ!

Далее выставляем приоритеты сетевых подключений, LAN должна быть первая!

В отличии от win2003 и Win2008 у Win2008R2 есть маленькое отличии, которое долго не давало заставить работать кластер. Но проблема была решена, делюсь:

3. В Win2008R2 стандартно выключен форвардин пакетов между сетевыми соединениями! Включаем: netsh interface ipv4 set interface “ LAN” forwarding=enabled

Либо правим ключ реестра:

a. Запустите редактор реестра (Regedit.exe).

b. Найдите и выделите следующий раздел реестра:

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

c. Задайте следующие параметры реестра:

Имя параметра: IPEnableRouter

Тип значения: REG_DWORD

Значение: 1

ПРИМЕЧАНИЕ: Значение 1 включает пересылку TCP/IP (Включение) для всех Сетевые подключения установленных и используемых на данном компьютере.

d. Закройте редактор реестра.

Перед сборкой кластера, на всех нодах нужно поднять роли которые они будут поддерживать, в нашем случае это Remote Desktop.

4. На всех машинах будущего кластера поднимаем роль Remote Desktop Services и настраиваем её так, как вам необходимо.

Теперь собираем NLB кластер:

5. На всех машинах поднимаем службу NLB и в настройках каждой NLB сетевой карты СНИМАЕМ галочку с протокола NETWORK LOAD BALANCING, да, именно СНИМАЕМ!

6. На любой ноде после добавления роли заходи в administrative tools, запускаем консоль NLB, жмём на вкладку Cluster>new

В поле Host вводим доменное имя компютера на котором на котором вы сейчас находитесь и жмёте connect.

В низу появляются два интерфейса готовых для кластеризации, нам нужен NLB интерфейс выбираем его и жмём Next, в следующем окне оставляем всё без изменений и опять идём Next, а вот тут нажимаем кнопку Add… и вводим ip адрес будущего кластера на рисунке 1 это адрес номер 7 (это будет виртуальный адрес принадлежащий каждой сетевой карте (NLB) нового кластера) и маску подсети, далее нажимаем ок и видим новый кластер, жмём next. В поле Full internet name вводим DNS имя будущего кластера и выбираем режим Multicast. (оба режима имеют и плюсы и минусы, мной был выбран мультикаст. В следующем окне жмём edit и настраиваем открытые в кластере порты (в случае с RDP выставляем «From: 3389 To: 3389» если порт один и стандартный. Все настройки зависят от требований к серверу.

Далее добавляем ноды в наш кластер

7. Cluster>add host вводим имя следующей ноды и выбираем сетевую NLB потом далее… далее… далее… и в кластере появляется новая нода, так же и с остальными (До 32х нод). Проверьте что бы все ноды видные в консоли и горят зелёным цветом.

8. Далее создаём соответствующую запись в DNS.

Всё, кластер готов

Такие кластеры отличаются высокой маштабируемостью, удобством работы (в случае терминалов можно подключаться как к конкретной ноде так и ко всему кластеру). Равномерным респределением нагрузок на каждую ноду, удобством обслуживания каждой ноды и кластера в целом, гибкостью настроек.

Эта статья написана после перебора множества мануалов и статей, освещены только ключевые моменты настройка (не рассчитано на людей с отсутствием опыта по WinServer).

Множество мелких настроек это исключительно best practices, правильно установив и настроив такой кластер вы получите очень гибкое высоконагружаемое решение.

от Arol