Настройка nlb windows server

Обновлено: 07.07.2024

Предварительные условия.

В данном руководстве подразумевается что у вас уже есть развернутая система Indeed-Id 7.0 с несколькими лог-серверами.

Установка и настройка сервера балансировки сетевой нагрузки для лог-сервера.

Балансировщик сетевой нагрузки (Network Load Balancing, NLB) устанавливается как стандартный компонент Windows и не требует для запуска и работы каких-либо изменений в оборудовании.

Установка компонента.

Компонент “Балансировка сетевой нагрузки” должен быть установлен на всех серверах где установлен indeed-id Log Server.

Настройка компонента.

Создание нового NLB кластера.

Кластер NLB - группа серверов ( узлов ), на каждом узле устанавливается своя копия приложения.

  1. Откройте оснастку NLB на одном из серверов. В диспетчере серверов нажмите “Средства” выберите “Диспетчер балансировки сетевой нагрузки”.
  2. В окне NLB нажмите “Кластер”, выберите в списке “Новый”.
  3. В окне “Подключение” указываем данные сервера с установленной ролью NLB (IP адрес или имя машины) и нажимаем “Подключить”. После успешного подключения узел будет отображаться в окне интерфейсы. Нажмите “Далее”.
  4. В окне “Параметры узла” настройте
    1. Укажите уникальный идентификатор узла. С помощью этого параметра устанавливается приоритет в обработке трафика, узел с наименьшим ID среди членов кластера на данный момент обрабатывает весь сетевой трафик кластера.
    2. В пункте “Выделенные IP-адреса” можно добавить, изменить или удалить адреса по которым сервер доступен в сети.
    3. В пункте “Начальное состояние узла указываем” выбираем состояние по умолчанию для узла.
    1. “Полное Интернет-имя”, соответствующее указанному IP-адресу.
    2. Укажите режим работы кластера, который определяет, будет ли для операций кластера использоваться встроенный MAC-адрес адаптера. Все узлы кластера должны работать в одном режиме — либо в одноадресном, либо в многоадресном. NLB не поддерживает смешанную среду одноадресной и многоадресной рассылки внутри одного кластера.
      • Одноадресный (Unicast) — В этом режиме встроенный MAC-адрес физического сетевого адаптера отключается и заменяется МАС-адресом виртуального адаптера кластера. Оба IP-адреса сервера (выделенный IP-адрес сервера и IP-адрес кластера) разрешаются в один единственный МАС-адрес кластера. При использовании одноадресного режима всем узлам кластера назначается один и тот же IP и MAC-адрес. Поскольку все узлы кластера разделяют один MAC-адрес, а оригинальный MAC-адрес адаптера не используется, использовать адаптер кластера для других целей кроме кластерных (например для управления сервером) становится проблематично. Эту проблему можно обойти, используя несколько сетевых адаптеров: один для кластерного трафика, второй для управления.
      • Многоадресный (Multicast) — В этом режиме NLB преобразует MAC-адрес кластерного адаптера в адрес группы. IP-адрес кластера разрешается в этот адрес групповой рассылки, а выделенный IP-адрес сервера — в оригинальный MAC-адрес адаптера. При этом у адаптера остается оригинальный, встроенный MAC-адрес, что дает возможность использовать оба IP-адреса: кластера для трафика клиент-кластер, а выделенный для остального сетевого трафика, специфичного для компьютера. Обратите внимание, что режим Multicast обязательно должен поддерживаться сетевым оборудованием, кроме того может потребоваться дополнительная настройка на коммутаторе.
      • Многоадресный IGMP (IGMP Multicast) — Многоадресный режим с поддержкой протокола групповой передачи данных (Internet Group Management Protocol, IGMP). Включение поддержки IGMP дает возможность ограничить широковещательный трафик, т.е. обеспечить прохождение трафика к NLB-кластеру только через порты, обслуживающие узлы кластера, а не через все порты коммутатора. Для обеспечения этого режима необходимо включить поддержку IGMP на сетевом оборудовании.



    7. В окне “Правила для портов” выполните:

    В этом разделе представлен обзор функции балансировки сетевой нагрузки (NLB) в Windows Server 2016. С помощью NLB можно управлять двумя или более серверами как одним виртуальным кластером. Балансировка сетевой нагрузки повышает доступность и масштабируемость приложений Интернет-сервера, например, используемых в Интернете, FTP, брандмауэре, прокси-сервере, виртуальной частной сети (VPN) и других критически важных серверах.

    Windows Server 2016 включает новое Load Balancerное программное обеспечение Azure (SLB) в качестве компонента инфраструктуры программно-определяемой сети (SDN). используйте SLB вместо балансировки сетевой нагрузки, если вы используете SDN, используют неWindowsные рабочие нагрузки, требуется преобразование исходящего сетевого адреса (NAT) или уровень 3 (L3) или не TCP-сервер. вы можете продолжить использовать NLB с Windows Server 2016 для развертываний без SDN. Дополнительные сведения о SLB см. в разделе Программная балансировка нагрузки (SLB) для Sdn.

    Компонент балансировки сетевой нагрузки (NLB) распределяет трафик по нескольким серверам с помощью сетевого протокола TCP/IP. Объединяя несколько компьютеров, на которых запущены приложения, в единый виртуальный кластер, NLB обеспечивает надежность и быстродействие веб-серверов и других ответственных серверов.

    Серверы в NLB-кластере называются узлами, и на каждом узле выполняется отдельная копия серверных приложений. Балансировка сетевой нагрузки позволяет распределять входящие клиентские запросы между узлами в кластере. При этом можно настроить нагрузку для каждого узла. Если нужно обработать дополнительную нагрузку, узлы можно добавлять к кластеру динамически. Кроме того, технология балансировки сетевой нагрузки может направлять весь трафик на один предназначенный для этого узел, называемый узлом по умолчанию.

    Балансировка сетевой нагрузки позволяет обращаться ко всем компьютерам в кластере по одному и тому же набору IP-адресов и поддерживает набор уникальных IP-адресов, выделенных для каждого узла. Для приложений с балансировкой нагрузки при сбое на узле или его отключении нагрузка автоматически перераспределяется между работающими компьютерами. Когда компьютер будет готов к работе, он может снова присоединиться к кластеру в рабочем режиме и взять на себя часть нагрузки, что позволит снизить объем данных, приходящийся на другие компьютеры кластера.

    Практическое применение

    Применение NLB целесообразно для обеспечения работы приложений, выполняемых без учета состояния, таких как веб-серверы, выполняющие службы Internet Information Services (IIS), в части их доступности с минимальной потерей машинного времени, а также масштабируемости (за счет добавления дополнительных серверов по мере увеличения нагрузки). В следующих разделах описывается применение NLB для поддержки высокой доступности, масштабируемости и управляемости кластерных серверов, выполняющих указанные приложения.

    Высокий уровень доступности

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

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

    Балансировка нагрузки сети при добавлении и удалении узлов.

    Восстановление и перераспределение рабочей нагрузки в течение 10 секунд.

    Масштабируемость

    Масштабируемость показывает, насколько можно расширить возможности компьютера, службы или приложения в соответствии с повышением требований к его производительности. Применительно к кластерам NLB масштабируемость — это возможность добавления одной или нескольких систем к существующему кластеру, когда общая нагрузка кластера превышает его текущую производительность. Поддержка масштабируемости реализуется в NLB следующим образом:

    Балансировка запросов нагрузки в пределах NLB-кластера для отдельных служб TCP/IP.

    Поддержка до 32 компьютеров в одном кластере.

    Балансировка запросов нагрузки для нескольких серверов (от одного либо от нескольких клиентов) по нескольким узлам кластера.

    Добавление узлов в NLB-кластер по мере увеличения нагрузки, не приводящее к сбоям в работе кластера.

    Вывод узлов из состава кластера по мере уменьшения нагрузки.

    Высокая производительность и уменьшение объема служебных данных за счет реализации полнофункционального конвейерного режима. Данный режим позволяет отправлять запросы NLB-кластеру, не ожидая ответа на предыдущий запрос.

    Управляемость

    Поддержка управляемости реализуется в NLB следующим образом:

    Управляйте и настраивайте несколько кластеров балансировки сетевой нагрузки и узлов кластера с одного компьютера с помощью диспетчера NLB или командлетов балансировки сетевой нагрузки (NLB) в Windows PowerShell.

    Используя правила управления портами, можно задавать режим балансировки для отдельного IP-порта или группы портов.

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

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

    Имеется возможность блокировки доступа по сети к определенным IP-портам.

    Обеспечивается поддержка протокола управления группами Интернета (IGMP) на узлах кластера для управления лавинной адресацией коммутирующего порта (в ходе которой входящие сетевые пакеты отправляются на все порты коммутатора) при работе в режиме многоадресной рассылки.

    Запуск, остановка и управление действиями NLB могут производиться удаленно с использованием команд или сценариев Windows PowerShell.

    События NLB можно просматривать в журнале событий Windows. В журнал событий записываются все действия NLB и изменения кластера.

    Важные функции

    NLB устанавливается в качестве стандартного компонента сетевого драйвера Windows Server. Его операции прозрачны для стека сетевых протоколов TCP/IP. На следующем рисунке показана связь между балансировкой сетевой нагрузки и другими компонентами программного обеспечения в типичной конфигурации.

    Балансировка сетевой нагрузки и другие программные компоненты

    Ниже приведены основные возможности балансировки сетевой нагрузки.

    Не требует для запуска изменений аппаратной части.

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

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

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

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

    Не требует модификации серверных приложений, что обеспечивает их работу в любом кластере NLB.

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

    Обеспечивает возможность отключения компьютеров от сети для проведения профилактического обслуживания, не затрагивая операции кластера на других узлах.

    Требования к оборудованию

    Ниже приведены требования к оборудованию для запуска кластера балансировки сетевой нагрузки.

    Все узлы кластера должны располагаться в одной подсети.

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

    Все сетевые адаптеры в одном кластере необходимо использовать либо в одноадресном, либо в многоадресном режиме. Балансировка сетевой нагрузки не поддерживает смешанную среду одноадресной и многоадресной рассылки внутри одного кластера.

    При использовании одноадресного режима сетевой адаптер, задействованный для управления трафиком клиент-кластер, должен поддерживать изменение адреса его уровня управления доступом к среде передачи данных (MAC-адреса).

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

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

    Адаптер, на каждом узле которого включается NLB, может использовать только протокол TCP/IP. Не добавляйте для этого адаптера другие протоколы (например, IPX).

    IP-адреса серверов в составе кластера должны быть статическими.

    NLB не поддерживает протокол DHCP. NLB отключает протокол DHCP на каждом настраиваемом интерфейсе.

    Сведения об установке

    nlb можно установить с помощью диспетчер сервера или команд Windows PowerShell для балансировки сетевой нагрузки.

    Дополнительно можно установить средства балансировки сетевой нагрузки для управления локальным или удаленным кластером NLB. к этим средствам относятся диспетчер балансировки сетевой нагрузки и команды Windows PowerShell NLB.

    Установка с диспетчер сервера

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

    Установка с Windows PowerShell

    чтобы установить балансировку сетевой нагрузки с помощью Windows PowerShell, выполните следующую команду в Windows PowerShell запросе с повышенными привилегиями на компьютере, где требуется установить nlb.

    После завершения установки перезагрузка компьютера не требуется.

    Дополнительные сведения см. в разделе Install-WindowsFeature.

    Диспетчер балансировки сетевой нагрузки

    Чтобы открыть диспетчер балансировки сетевой нагрузки в диспетчере сервера, в меню Сервис выберите пункт Диспетчер балансировки сетевой нагрузки.

    Дополнительные ресурсы

    В следующей таблице приведены ссылки на дополнительные сведения о функции балансировки сетевой нагрузки.

    Компонент балансировки сетевой нагрузки (Network Load Balancing, NLB) в Windows Server 2012 распределяет сетевой трафик по нескольким серверам с помощью протокола TCP/IP. Группируя два и более сервера в единый виртуальный кластер, NLB повышает доступность и масштабируемость серверных приложений.

    NLB умеет выполнять балансировку нагрузки любых приложений и служб, использующих сетевой протокол TCP/IP и связанных с определенным TCP- или UDP-портом. Использовать балансировку сетевой нагрузки целесообразно для обеспечения работы приложений, выполняемых без учета состояния, например для веб-, FTP- или служб удаленных рабочих столов (Remote Desktop).

    Также NLB может пригодиться и в менее очевидных ситуациях. К примеру, с помощью этого механизма можно обеспечить повышенную избыточность веб-серверов front-end на базе SharePoint 2010, а при использовании Exchange 2010 выравнивание сетевой нагрузки можно применять в целях создания CAS-массивов для роли сервера клиентского доступа (Client Access Server).

    Принцип работы

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

    NLB дает возможность обращаться ко всем серверам в кластере по единому IP-адресу, а также поддерживает набор уникальных IP-адресов для каждого узла. При сбое на узле или его отключении нагрузка автоматически перераспределяется между работающими серверами. При внезапном отключении все активные подключения к такому серверу будут потеряны, однако если работа узла завершается намеренно, есть возможность обслужить все активные подключения до отключения компьютера. В любом случае отключенный компьютер, когда он будет готов к работе, может снова присоединиться к кластеру в рабочем режиме и взять на себя часть нагрузки, что позволит снизить объем данных, приходящийся на другие узлы кластера.

    • выявляют узлы, оставшиеся активными членами кластера;
    • назначают узел с наивысшим приоритетом узлом по умолчанию;
    • обеспечивают обработку новых запросов клиентов работающими узлами.

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

    Установка

    NLB устанавливается как стандартный компонент Windows и не требует для запуска и работы каких-либо изменений в оборудовании. Тем не менее при планировании NLB кластера необходимо учесть некоторый моменты:

    • В кластер может входить до 32 узлов;
    • Все узлы кластера должны располагаться в одной подсети;
    • Количество сетевых адаптеров на каждом узле не ограничено, при этом различные узлы могут иметь разное число адаптеров;
    • Все сетевые адаптеры в одном кластере необходимо использовать либо в одноадресном (Unicast), либо в многоадресном (Multicast) режиме. Балансировка сетевой нагрузки не поддерживает смешанную среду одноадресной и многоадресной рассылки внутри одного кластера;
    • При использовании одноадресного режима сетевой адаптер, задействованный для нужд кластера, должен поддерживать программное изменение MAC-адреса;
    • Сетевой адаптер, на котором включается NLB, может использовать только протокол TCP/IP. Нельзя добавлять для этого адаптера другие протоколы (например IPX);
    • IP-адреса серверов в составе кластера должны назначаться статически. NLB не поддерживает протокол DHCP и отключает его на каждом настраиваемом интерфейсе;
    • NLB не работает совместно со службой Failover Clustering. Если сервер является частью отказоустойчивого кластера, то задействовать на нем балансировку сетевой нагрузки не получится.

    Если все условия соблюдены, то приступаем к развертыванию кластера. Первым делом необходимо установить сам компонент балансировки сетевой нагрузки. Для этого открываем Server Manager и запускаем мастер установки ролей и компонентов. Переходим на вкладку Features и отмечаем компонент Network Load Balancing.

    установка компонента NLB

    Также NLB можно установить с помощью PowerShell, следующей командой:

    Install-WindowsFeature -Name NLB -IncludeManagementTools

    Создание нового NLB кластера

    Установив компонент NLB приступим к созданию кластера, для чего воспользуемся оснасткой Network Load Balancing Manager. Открыть ее можно из Server Manager, кликнув по кнопке Tools и выбрав соответствующий пункт меню. Как вариант, можно нажать Win+R и ввести команду nlbmgr.

    запуск оснастки NLB Manager

    Для создания нового кластера в NLB Manager выбираем пункт Cluster -> New.

    создание нового NLB кластера

    В открывшемся окне указываем имя (или IP-адрес) компьютера, которому предстоит стать первым узлом кластера и жмем «Connect». Выбираем сетевой интерфейс, который будет задействован для нужд кластера.

    выбор сетевого интерфейса

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

    Дальше идут настройки узла:

    выбор параметров хоста

    задаем IP адрес кластера

    Задаем имя кластера (Full Internet name) соответствующее указанному IP-адресу. В принципе это имя ни на что не влияет, но правильнее будет вписать сюда FQDN-имя, по которому клиенты будут обращаться к кластеру. Также не забудьте создать в DNS соответствующую запись.

    Указываем режим работы кластера, который определяет, будет ли для операций кластера использоваться встроенный MAC-адрес адаптера:

    При использовании одноадресного режима всем узлам кластера назначается один и тот же IP и MAC-адрес. Поскольку все узлы кластера разделяют один MAC-адрес, а оригинальный MAC-адрес адаптера не используется, использовать адаптер кластера для других целей кроме кластерных (например для управления сервером) становится проблематично. Эту проблему можно обойти, используя несколько сетевых адаптеров: один для кластерного трафика, второй для управления.

    При этом у адаптера остается оригинальный, встроенный MAC-адрес, что дает возможность использовать оба IP-адреса: кластера для трафика клиент-кластер, а выделенный для остального сетевого трафика, специфичного для компьютера. Обратите внимание, что режим Multicast обязательно должен поддерживаться сетевым оборудованием, кроме того может потребоваться дополнительная настройка на коммутаторе.

    задаем режим работы кластера

    Переходим к следующему экрану. Настройку правил портов (Port Rules) сейчас производить не будем, поэтому просто жмем «Finish». Первый этап создания NLB кластера завершен.

    завершаем создание кластера

    Добавление узла в кластер

    Итак, мы имеем NLB кластер, состоящий из одного узла. Добавим остальные. Kликаем на имени кластера правой клавишей и выбираем пункт «Add Host To Cluster».

    добавление нового узла к кластеру

    Процедура добавления практически аналогична предыдущей. Указываем имя сервера, жмем «Connect» и выбираем сетевой интерфейс, который будет использоваться кластером.

    подключение и выбор интерфейса узла кластера

    Задаем host ID и указываем выделенный IP-адрес узла, а также состояние узла по умолчанию.

    настройка параметров нового узла

    И жмем «Finish». Таким же образом добавляем остальные сервера в кластер.

    завершение добавления узла в кластер

    Создать кластер и добавить в него узлы можно и с помощью PowerShell. Команда для создания кластера:

    Для добавления узла в кластер:

    создание кластера с помощью PowerShell

    В результате у нас получился NLB кластер, состоящий из трех узлов.

    готовый NLB кластер

    Настройка параметров кластера

    После добавления всех узлов можно приступать к настройке кластера. Кликаем правой клавишей на имени кластера и переходим на пункт «ClusterProperties».

    настройка параметров кластера

    На вкладке Cluster IP Addresses можно изменить существующий адрес кластера или добавить новый. Балансировки сетевой нагрузки позволяет настроить для одного кластера несколько IP-адресов, для каждого адреса назначить собственное имя и настроить правила обработки трафика. Для этого не требуется выделять отдельный адаптер, так что можно настраивать несколько виртуальных NLB кластеров на одном сетевом адаптере.

    изменение\добавление IP адреса кластера

    На вкладке Cluster Parameters можно настроить соответствие имени и IP-адреса кластера и изменить режим его работы.

    изменение режима работы кластера

    И на вкладке Port Rules настраиваются правила обработки трафика всеми узлами кластера. При создании кластера создается правило по умолчанию, которое надо изменить, поэтому выделяем его и жмем «Edit».

    добавление правил портов

    Правило порта включает в себя следующие настройки:

    Также обратите внимание на чекбокс Timeout minutes. Установка галки включает режим расширенного сходства (Extended Affinity), который обеспечивает привязку в отсутствие активных текущих подключений от клиента к узлу, а также позволяет клиентам сохранять соответствие с узлом при изменении конфигурации кластера. Здесь мы можем указать время, в течение которого клиент будет привязан к определенному узлу при отсутствии активного текущего подключения с его стороны.

    редактирование правила для кластера

    При создании правил порта нужно учесть, что:

    • Правила на всех узлах кластера должны быть идентичны. При попытке присоединить к кластеру узел с иными правилами или с другим числом правил он не будет принят в кластер;
    • Чтобы балансировка сетевой нагрузки корректно обрабатывала IP-фрагменты, не следует использовать значение None для сходства, если выбран протокол UDP или Both;
    • Если NLB используется для балансировки нагрузки трафика VPN (напр. PPTP/GRE или IPSEC/L2TP), то для правил порта используйте режим сходства Single или Network.

    Настройка параметров отдельного узла

    Кроме настройки всего кластера есть возможность настраивать параметры отдельных его узлов. Для этого выбираем узел, кликаем на нем правой клавишей и выбираем «Host Properties».

    настройка параметров хоста

    В окне Host Parameters мы сможем:

    изменение параметров хоста

    Также заглянем в правила портов. Здесь нас интересуют два пункта:

    Обратите внимание, что сумма значений Load Weight для каждого узла параметра не обязательно должна составлять 100 процентов. Реальная часть трафика для каждого узла рассчитывается динамически как частное от деления процента, заданного для узла, на суммарный процент для всего кластера.

    редактирование правила для хоста

    Управление кластером

    И немного об управлении кластером NLB. Управление можно осуществлять как на уровне отдельного узла, так и на уровне всего кластера. Для управления узлом кликаем на нем и выбираем «Control Host». Дальше на выбор, можно:

    Для того, чтобы совсем удалить узел из кластера, надо выбрать пункт «Delete Host».

    управление состоянием отдельного узла кластера

    Выбрав пункт «Control Ports» можно управлять действием правил: включить (Enable), отключить (Disable) или приостановить обработку новых подключений (Drain). Это может потребоваться для того, чтобы временно исключить узел из обработки трафика кластера, например в целях диагностики.

    включение и отключение правил для отдельного хоста

    управление состоянием кластера

    В заключение несколько советов, которые могут пригодиться при настройке NLB кластера.

    1) Не смотря на название, NLB не отслеживает реальную загрузку (потребление процессорного времени, памяти, дисковой подсистемы и т.д.) на каждом узле. Под нагрузкой в NLB подразумевается только количество активных подключений к узлу. Учитывайте этот момент при настройке распределения нагрузки.
    2) NLB не обеспечивает отказоустойчивость клиентских приложений. Механизм NLB отслеживает только наличие сигналов heartbeat между узлами, мониторинг отдельных служб он не осуществляет. Проще говоря, если на одном узле кластера отвалится клиентский сервис, а сетевой интерфейс останется доступен, то NLB этого не заметит и продолжит отправлять клиентов на неработоспособный узел.
    3) Как в режиме Unicast, так и в Multicast (за исключением IGMP) трафик кластера распространяется по всем портам коммутатора. Чтобы изолировать этот широковещательный трафик, все IP адреса кластера желательно вынести в отдельную подсеть.
    4) Вопреки расхожему мнению режим Unicast можно использовать даже при наличии одного сетевого адаптера на узле. При этом узлы вполне нормально могут общаться между собой, так как NLB преобразует ARP-таблицу внутри каждого узла, назначая каждому узлу уникальный MAC-адрес. А вот снаружи подключиться к узлу кластера не получится, для управления узлом к нему необходим физический доступ либо механизм удаленного управления типа iLo от HP.

    В этом пошаговом руководстве представлены инструкции по балансировке сетевой нагрузки (Network Load Balancing, NLB) в среде служб терминалов, что позволяет получить такие преимущества, как повышенная доступность, масштабируемость и производительность приложений, поддерживающих балансировку нагрузки, а также возможность обработки большого количества запросов клиентских приложений несколькими серверами терминалов.

    Обзор технологии балансировки сетевой нагрузки в среде служб терминалов

    При балансировке сетевой нагрузки трафик распределяется между несколькими серверами с помощью протокола TCP/IP. Вы можете настроить NLB на ферме серверов для масштабирования и повышения производительности отдельного сервера терминалов путем распределения клиентских подключений между несколькими серверами. Компонент Terminal Services Session Broker (TS Session Broker), включенный в состав Windows Server 2008, Windows Server 2003 Enterprise Edition и Windows Server 2003 Datacenter Edition, обеспечивает переподключение пользователей к тем сеансам на ферме серверов терминалов, которые были по каким-либо причинам разорваны.

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

    Компоненты служб терминалов

    Службы терминалов включают в себя два важных компонента для балансировки нагрузки: службу Terminal Services Session Broker и оснастку Terminal Services Configuration.

    Служба «Terminal Services Session Broker»

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

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

    Служба TS Session Broker автоматически запускается после установки соответствующей серверной роли на сервере, который Вы хотите использовать для управления информацией о сеансах пользователей фермы серверов терминалов. Вы можете использовать один сервер TS Session Broker для нескольких ферм серверов, поскольку данная служба потребляет минимум системных ресурсов.

    При установке серверной роли TS Session Broker на локальном компьютере происходят следующие изменения:

    Устанавливается служба TS Session Broker. По умолчанию эта служба переходит в состояние Started и режим Automatic.

    Создается локальная группа Session Broker Computers.

    Предварительные требования перед установкой

    Сервер, на котором устанавливается служба TS Session Broker, должен являться членом домена.

    Сервер под управлением Windows Server 2008, на который устанавливается серверная роль TS Session Broker, не обязательно должен являться сервером терминалов или компьютером с включенной службой удаленного рабочего стола (Remote Desktop).

    Если Вы устанавливаете серверную роль TS Session Broker на контроллер домена, то группа Session Broker Computers будет являться доменной локальной группой и будет доступна на всех контроллерах домена.

    Процедура установки

    Если на компьютере не установлено ни одной серверной роли служб терминалов, используйте следующую процедуру для установки роли «TS Session Broker».

    В меню Start раскройте папку Administrative Tools и щелкните значок Server Manager.

    В разделе Roles Summary щелкните ссылку Add Roles.

    Ознакомьтесь с информацией на странице Before You Begin мастера Add Roles Wizard и нажмите кнопку Next.

    На странице Select Server Roles установите флажок Terminal Services и нажмите кнопку Next.

    На странице Terminal Services нажмите кнопку Next.

    На странице Select Role Services установите флажок TS Session Broker и нажмите кнопку Next.

    Если Вы не хотите, чтобы сервер выступал в роли сервера терминалов, флажок Terminal Server должен быть снят.

    На странице Confirm Installation Options убедитесь, что служба TS Session Broker отображена в списке, и нажмите кнопку Install.

    На странице Installation Results нажмите кнопку Close.

    Оснастка «Terminal Services Configuration»

    Данная оснастка имеется на каждом сервере терминалов. Серверы терминалов, входящие в состав фермы, взаимодействуют со службой TS Session Broker с целью обеспечения прозрачного процесса переподключения пользователей именно к тем серверам, который изначально обслуживали разорванные сеансы. Этот процесс состоит из следующих этапов:

    Когда пользователь подключается к ферме серверов терминалов, сервер, получающий первоначальный запрос на подключение клиента, отправляет запрос серверу службы TS Session Broker.

    Сервер службы TS Session Broker проверяет полученное имя пользователя в своей базе данных и отправляет ответ серверу, запрашивающему информацию. Происходит одно из следующих событий:

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

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

    Требования к использованию балансировки сетевой нагрузки на сервере терминалов

    Для того чтобы на компьютере можно было использовать NLB, он должен иметь следующие компоненты:

    Как минимум один сетевой адаптер для балансировки нагрузки.

    На сетевом адаптере, использующемся для балансировки сетевой нагрузки, должен быть установлен только протокол TCP/IP. Не добавляйте для этого адаптера другие протоколы (например, IPX).

    Все узлы NLB –кластера должны располагаться в одной подсети.

    Убедитесь, что все клиенты могут получить доступ к этой подсети.

    Все серверы фермы серверов терминалов должны быть включены в один домен.

    Шаги по настройке NLB в среде служб терминалов

    Для настройки NLB в среде служб терминалов выполните следующие шаги:

    Шаг 1. Настройка фермы серверов терминалов и службы TS Session Broker.

    Шаг 2. Установка компонента NLB.

    Шаг 3. Создание NLB-кластера.

    Шаг 1. Настройка фермы серверов терминалов и службы «TS Session Broker»

    Чтобы сервер терминалов мог использоваться службой TS Session Broker, Вы должны добавить его учетную запись в локальную группу Session Broker Computers на сервере службы TS Session Broker.

    Вы должны выполнить эту процедуру на компьютере, на который Вы установили серверную роль TS Session Broker.

    Для добавления сервера терминалов в локальную группу «Session Broker Computers» выполните следующие действия:

    Раскройте папку Administrative Tools в меню Start на сервере TS Session Broker и щелкните значок Computer Management.

    В левой панели раскройте узел Local Users and Groups и выберите папку Groups.

    В правой панели щелкните правой кнопкой мыши на группе Session Broker Computers и в контекстном меню выберите пункт Properties.

    В диалоговом окне Select Users, Computers, or Groups нажмите кнопку Object Types.

    Установите флажок Computers и нажмите кнопку OK.

    Найдите и добавьте учетную запись сервера терминалов, который Вы хотите добавить.

    По завершении нажмите кнопку OK.

    Вы можете присоединить сервер терминалов к ферме в TS Session Broker с помощью оснастки Terminal Services Configuration.

    Следующие шаги применимы только в том случае, если на сервере установлена роль Terminal Server.

    Для настройки параметров службы «TS Session Broker» выполните следующие действия:

    Откройте оснастку Terminal Services Configuration. Для этого в меню Start последовательно раскройте папки Administrative Tools и Terminal Services, и щелкните значок Terminal Services Configuration.

    В области Edit Terminal Server Settings дважды щелкните надпись Member of farm in TS Session Broker, расположенную в разделе TS Session Broker,

    На вкладке TS Session Broker установите флажок Join a farm in TS Session Broker.

    В поле TS Session Broker server IP address or name введите имя сервера TS Session Broker.

    Сервер TS Session Broker – это сервер, на котором установлена серверная роль TS Session Broker.

    В поле Farm Name in TS Session Broker введите имя фермы в TS Session Broker, к которой Вы хотите присоединить сервер.

    Служба TS Session Broker использует это имя для определения того, какие компьютеры находятся в одной и той же ферме серверов терминалов. Вы должны указать одинаковое имя фермы на всех компьютерах, входящих в состав одной фермы серверов терминалов с балансировкой нагрузки. Имя фермы не обязательно должно совпадать с именем в службах каталога Active Directory. Если Вы укажете новое имя фермы, в TS Session Broker будет создана новая ферма, к которой будет присоединен сервер. Если Вы укажете уже существующее имя фермы, сервер будет присоединен к существующей ферме в TS Session Broker.

    Убедитесь, что Вы хотите использовать перенаправление на основе IP-адреса. По умолчанию параметр Use IP address redirection включен. Если Вы снимете этот флажок, сервер переключится в режим перенаправления на основе маркера.

    В списке Select IP addresses to be used for reconnection отметьте флажком те IP-адреса, которые Вы хотите использовать. Помните о следующем:

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

    Только первый выбранный IPv4-адрес будет использоваться компьютерами, на которых работает клиент Remote Desktop Connection версии 5.2 и более ранних версий.

    Не рекомендуется использовать IPv6-адреса, если ферма серверов терминалов содержит серверы под управлением Windows Server 2003.

    По завершении нажмите кнопку OK.

    Шаг 2. Установка компонента «NLB»

    Данный компонент должен быть установлен на сетевом адаптере, который Вы хотите использовать для подключения по протоколу RDP (Remote Desktop Protocol).

    Для открытия мастера «Add Features Wizard» и установки компонента «NLB» выполните следующие действия:

    В меню Start раскройте папку Administrative Tools и щелкните значок Server Manager. В области Features Summary главного окна диспетчера Server Manager щелкните ссылку Add Features.

    В области Customize this server окна Initial Configuration Tasks щелкните ссылку Add Features.

    В мастере Add Features Wizard установите флажок Windows Network Load Balancing.

    Вы также можете установить компонент NLB, выполнив в командной строке следующую команду: Servermanagercmd.exe - install nlb.

    Шаг 3. Создание NLB-кластера

    Чтобы настроить NLB-кластер, Вы должны настроить три типа параметров:

    Параметры узла, являющиеся индивидуальными для каждого узла NLB -кластера.

    Параметры кластера, применяющиеся для NLB-кластера в целом.

    Правила для портов, контролирующие то, каким образом функционирует кластер. По умолчанию правило для порта равномерно распределяет весь трафик протокола TCP/IP между всеми серверами. При использовании NLB в среде служб терминалов Вам понадобится изменить эти стандартные правила.

    Когда Вы используете оснастку Network Load Balancing Manager, Вы должны являться участником группы Administrators на том узле, который Вы настраиваете, или Вам должны быть делегированы соответствующие права. Если Вы настраиваете узел или кластер с помощью оснастки Network Load Balancing Manager, запущенной на компьютере, который не является частью кластера, Вы не обязательно должны являться участником группы Administrators на этом компьютере. В соответствии с рекомендациями безопасности, используйте для выполнения этой процедуры команду Run as.

    Для создания NLB-кластера выполните следующие действия:

    Чтобы открыть оснастку Network Load Balancing Manager, в меню Start раскройте папку Administrative Tools и щелкните значок Network Load Balancing Manager. Вы также можете открыть эту оснастку, выполнив в командной строке команду Nlbmgr.

    Правой кнопкой мыши щелкните на узле Network Load Balancing Clusters и в контекстном меню выберите команду New Cluster.

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

    Выберите сетевой интерфейс, который Вы хотите использовать в кластере, и нажмите кнопку Next (этому интерфейсу назначается виртуальный IP-адрес, и на него приходит клиентский трафик, который распределяется через NLB).

    В окне Cluster Parameters введите значения параметров IP Address и Subnet mask (для IPv6-адресов маску подсети задавать не нужно). При работе NLB в среде служб терминалов параметр Full Internet Name задавать не нужно.

    В окне Port Rules нажмите кнопку Edit, чтобы изменить правила портов по умолчанию. Настройте правила следующим образом. В разделе Port Range задайте диапазон портов с 3389 по 3389, чтобы новое правило применялось только к RDP-трафику. Установите переключатель Protocols в положение TCP, определив таким образом тип протокола, который будет обрабатываться правилом. Трафик, не обрабатываемый правилом для портов, будет обрабатываться узлом по умолчанию. Установите переключатель Filtering mode в положение Multiple host, таким образом, указав, что сетевой трафик, попадающий под действие этого правила, будет обрабатываться несколькими узлами кластера. Установите переключатель Affinity (применимый только к режиму Multiple host) в положение None, если Вы планируете использовать Session Broker. В противном случае установите этот переключатель в положение Single.

    Для того чтобы добавить дополнительные узлы в кластер, щелкните правой кнопкой мыши на новом кластере и в контекстном меню выберите команду Add Host to Cluster. Настройте параметры узла (включая приоритет и выделенные IP-адреса), выполнив описанные выше шаги. Поскольку Вы добавляете узлы в уже настроенный кластер, общие параметры кластера не изменяются.

    Отзывы и замечания

    Дополнительные ресурсы

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

    По вопросам поддержки продуктов обращайтесь на веб-узел Microsoft Connect.

    Для получения доступа к группам новостей о NLB и службах терминалов следуйте инструкциям, расположенным на веб-узле Microsoft Connect.

    Если Вы являетесь бета-тестером и принимаете участие в программе Technology Adoption Program (TAP), Вы можете обратиться за помощью к участникам назначенной Вам команды разработчиков Microsoft.

    Для получения дополнительной информации о службе TS Session Broker в ОС Windows Server 2003 обратитесь к статье Session Broker and Load Balancing Using Terminal Server.

    Читайте также: