network load balancing что это

Network Load Balancing

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016

В этом разделе представлен обзор функции балансировки сетевой нагрузки (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. На следующем рисунке показана связь между балансировкой сетевой нагрузки и другими компонентами программного обеспечения в типичной конфигурации.

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

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

Обеспечивает клиентам возможность обращения к кластеру по единому логическому интернет-имени и виртуальному 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.

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

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

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

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

Источник

Балансировка сетевой нагрузки — концепция и заметки

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

Применяется к: Windows Server 2003
Исходный номер КБ: 556067

Сводка

В этой статье есть сведения о балансировки сетевых нагрузок — технологии кластерирования Майкрософт.

Дополнительная информация

В. Как протестировать кластер NLB?

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

Параметры схождения можно настроить, регулив следующие значения реестра:

Настройка более чем одного VIP-адреса (виртуальный IP) доступна только в Windows 2003 года и более поздней версии.

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

IGMP можно настроить только при настройке кластера для использования поддержки Multicast.

Сервер не должен открывать сетевое свойство при настройке с помощью NLB Manager.

NLB должен иметь правильное локальное время на всех серверах.

NLB не обнаруживает сбоя приложения. Например, служба веб-сервера может остановиться, но NLB по-прежнему отправляет на этот сервер TCP/IP-запросы.

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

DoN не любой другой протокол, кроме TCP/IP для адаптер кластера.

Кластер NLB может работать в режиме Unicast или Multicast, но не в обоих режимах.

Корпорация Майкрософт не поддерживает сочетание кластера Server и NLB.

Mix-NLB разрешено. Windows NT WLBS может работать в Windows 2000 NLB.

NLB не поддерживает сети Token Ring и ATM. Он был протестирован только на 10 МБ и 100-МБ сети Ethernet.

Ограничения единой сетевой карты: при работе в режиме Unicast:

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

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

В кластере NLB можно использовать сочетание приложений. Например, можно запустить веб-сервер IIS на всех узлах и SQL только на одном узле. Таким образом вы можете назначить трафик для базы данных только SQL серверного узла.

NLB и кластеризация не могут быть активными на одном компьютере, но вы можете сформировать два кластера : кластер NLB Four Node и два кластера серверов узлов

Необходимо ли иметь отдельную подсеть для обеих технологий?

NLB поддерживает до 32 компьютеров в одном кластере, но для интенсивации номера можно использовать RRDNS.

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

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

Автоматически загружаются балансы при добавлении или удалении новых хостов, и это делается в течение 10 секунд.

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

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

NLB не перекрывает исходное имя компьютера и IP-адрес.

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

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

Конвергенция — это процесс восстановления состояния кластера. Этот процесс вызывается при изменении кластера (например, сбой узла, листья или повторное в него). В этом процессе кластером принимаются следующие действия:

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

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

Мы можем настроить несколько кластеров NLB в одном сетевом адаптере, а затем применить определенные правила порта к каждому из этих IP-адресов. Они называются виртуальными кластерами.

Windows 2003 г. поставляется с инструментом GUI под названием: Network Load Balancing Manager и NLB.exe — средство командной строки. В Windows 2000 это WLBS.exe и нет также средства GUI. Этот инструмент GUI можно установить на XP, чтобы управлять только Windows NLB 2003. NLB Manager использует DCOM и WMI.

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

Межсетевая связь возможна только в многоуровневом узле. Чтобы разрешить связь между серверами в одном кластере NLB, каждому серверу требуется следующая запись реестра: ключ DWORD с именем «UnicastInterHostCommSupport» и значение 1 для GUID каждой сетевой карты интерфейса (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WLBS\Parameters\Interface\ )

Количество адаптеров не имеет ограничений. Различные хосты могут иметь различные сетевые адаптеры.

Единый сетевой адаптер в режиме unicast

Параметры кластера

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

Вы не можете открыть сетевое свойство для хоста, если nLB Manager в настоящее время использует это.

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

При добавлении хоста с помощью NLB Manager правила порта и связанные с ними параметры будут унаследованы от исходного хоста.

Нельзя открывать другие хосты из NLB Manager, если NLB работает в едином адаптере с режимом Unicast, так как единый сетевой адаптер с режимом однонаправленной передачи не может иметь внутрихозяйную связь. Чтобы это произошло, используйте этот реестр: UnicastHostInterCommSupport и установите его до 1.

Параметр Credentials в NLB Manager можно использовать для указания учетных данных для удаленных хостов. NLB Manager попытается подключиться к удаленным хостов с помощью этого учетного данных.

Вы должны использовать параметры TCP/IP Property или NLB Manager, но не следует использовать оба параметра для настройки NLB.

Диспетчер NLB не подключает и не показывает неправильно настроенные хосты в кластере.

Хосты, для которых у вас нет административного членства, не будут отображаться в NLB Manager.

Список всех диапазонов портов сортироваться по диапазону портов.

NLB может смешивать контроллеры домена, серверы-члены, серверы workgroup и так далее. Это не ограничение NLB на самом деле. NLB должна иметь доступ к компьютеру с помощью встроенной учетной записи администратора.

Когда вы включаете NLB на сервере, записи реестра по умолчанию создаются в соответствии с: HKLM\System\CurrentControlSet\Services\WLBS

ДИП и VIP-персона должны быть введены правильно. Узлы кластера будут совпадать друг с другом, если вы не сможете принять этот шаг, но они не смогут принимать и трафик.

Сообщение о конфликте IP-адресов отображается только для VIP-адреса. Убедитесь, что VIP-персона из всех адаптеров удаляется, если вы отстранили NLB на этом хосте.

С помощью NLB можно использовать следующие средства для мониторинга:

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

При настройке двух сетевых адаптеров необходимо предоставить адрес шлюза в свойстве TCP/IP. Шлюз должен быть введен в FE NIC.

NLB необходимо включить в сетевом адаптере Public или Internet.

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

Первоначальная реализация NLB — WLBS. Все события записывают в источнике WLBS. Интерфейс командной строки для NLB — WLBS, а в Windows 2003 г. — NLB.

Поставщик WMI NLB Manager не может подключиться к хосту кластера, для которого имя компьютера начинается с числимом. Это ошибка.

NLB не реплицирует данные приложения. Возможно, вам потребуется использовать систему репликации контента Майкрософт (CRS) или стороне программного обеспечения.

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

Средства мониторинга сторонних сторон

Режим unicast с единой NIC

В режиме Unicast NLB изменяет MAC-адрес сетевого адаптера в кластер MAC. Теперь в кластере доступен только один MAC-адрес, то есть кластер MAC, и этот mac-адрес должен быть одинаковым для всех хостов кластера. Сетевой перенаправление не может переадресовать запрос на тот же MAC-адрес, если он исходит из того же источника, а также не может связываться друг с другом. Это является недостатком режима Unicast с единой NIC. Чтобы позволить хостам общаться друг с другом, вьйте режим MULTICAST или установите второй NIC.

Windows 2008 г. Улучшения балансировки сетевых нагрузок

Community Отказ от контента решений

Корпорация Майкрософт и/или соответствующие поставщики не делают представлений о пригодности, надежности или точности сведений и связанных с ними графических данных, содержащихся в этой записи. Вся такая информация и связанная графика предоставляются «как есть» без какой-либо гарантии. Корпорация Майкрософт и/или соответствующие поставщики тем самым отключили все гарантии и условия в отношении этой информации и связанной графики, включая все подразумеваемые гарантии и условия торговой доступности, пригодность для определенной цели, рабочий труд, название и неущемление. Вы соглашаетесь с тем, что ни в коем случае корпорация Майкрософт и/или ее поставщики не несут ответственности за любые прямые, косвенные, карательные, случайные, особые, последующие повреждения или любые повреждения, включая без ограничений ущерб за потерю использования, данных или прибыли, возникающие из-за использования или невозможности использования сведений и связанных с ними графических элементов, содержащихся здесь, независимо от того, были ли они основаны на контракте, расценки, халатности, строгой ответственности или иным образом, даже если Корпорации Майкрософт или любому из ее поставщиков была рекомендована возможность ущерба.

Источник

Настройка NLB в Windows Server 2012

Компонент балансировки сетевой нагрузки (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 кластера обмениваются сообщениями пульса (heartbeat) для согласования данных о членстве в кластере. По умолчанию, если узел не отправляет сообщений пульса в течение пяти секунд, это считается сбоем. При сбое на узле остальные узлы кластера начинают процесс схождения (converging):

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

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

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

Установка

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

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

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

• Задаем уникальный идентификатор узла (unique host identifier). Это очень важный параметр, с помощью которого устанавливается приоритет при обработке трафика. Узел с наименьшим host ID среди членов кластера на данный момент обрабатывает весь сетевой трафик кластера, не предусмотренный правилами для порта;
• Указываем выделенный IP-адрес (Dedicated IP, DIP) — уникальный адрес узла, по которому он будет доступен в сети;
• Определяем дефолтное состояние (Default state) узла — запущен (Started), остановлен (Stopped) или приостановлен (Suspended) и указываем, должен ли узел сохранять это состояние при перезагрузке.

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

Задаем виртуальный IP-адрес кластера (Virtual IP, VIP) — адрес, который будет совместно использоваться всеми узлами в кластере. NLB добавит этот IP-адрес в стек протоколов TCP/IP на выбранном интерфейсе всех узлов, вводимых в состав кластера. При необходимости для одного сетевого интерфейса можно указать несколько IP-адресов.

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

Одноадресный (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 на сетевом оборудовании.

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

Port Range — диапазон портов, на которых будет обрабатываться трафик кластера. По умолчанию указаны все порты, что не очень правильно. Например, если у вас кластеризовано веб-приложение, использующее для клиентского доступа порт 80 TCP, то указываем этот порт как начало и конец диапазона. Если нужно указать несколько портов, то для каждого придется создать отдельное правило.

Protocols — протоколы, к которым будет применяться данное правило: TCP, UDP или оба.

Filtering Mode — режим фильтрации. Здесь мы указываем, как именно будет обрабатываться трафик кластера. Можно выбрать из двух режимов:

1) Multiple host — трафик по указанным портам будет распределяться среди всех узлов кластера. В этом случае нужно выбрать режим сходства (affinity), который определяет привязку клиента к определенному узлу кластера:

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

2) Single host — весь трафик по указанным портам будет обрабатываться одним узлом кластера, а если этот узел недоступен — то направлен на следующий узел, вычисляемый по номеру Handling Priority (приоритет обработки). Приоритет присваивается узлу при добавлении сервера в кластер и может быть изменен в свойствах узла.

Disable this Port Range — отметив этот пункт, мы запретим обработку трафика на указанных портах. Как я уже говорил, весь сетевой трафик, не подпадающий под действие правил портов, обрабатывается действующим узлом кластера с минимальным идентификатором хоста. Чтобы избежать ненужной нагрузки, весь нецелевой трафик можно запретить. Так в случае с 80 портом достаточно создать 2 правила и запретить весь трафик на портах 0-79 и 81-65535.

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

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

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

• Изменить идентификатор узла, изменив тем самым его приоритет при обработке нецелевого трафика;
• Поиздеваться над его выделенным IP — изменить, удалить или добавить новый. Кстати, выделенный IP-адрес для работы NLB вовсе не обязателен, и при желании его можно вообще не использовать;
• Изменить дефолтное состояние узла. Так по умолчанию после перезагрузки узел сразу стартует и начинает обрабатывать клиентские подключения. Изменив дефолтное состояние узла на Stopped и указав хранить это состояние, тем самым мы предотвратим автоматический старт и начало обработку клиентских подключений сервером после перезагрузки. Это может понадобиться для проверки корректности работы сервера, например после установки обновлений.

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

Load Weight — процент нагрузки. В режиме фильтрации Multiple Hosts параметр Load Weight используется для того, чтобы задать процент трафика, который должен обрабатываться этим узлом по соответствующему правилу. По умолчанию используется вариант Equal, при котором происходит равномерное распределение нагрузки между всеми узлами кластера. Чтобы задать для узла определенный процент, нужно убрать галку и указать значение от 1 до 100. Значение 0 вообще исключает данный узел из обработки трафика.

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

Handling Priority — приоритет обработки трафика в режиме фильтрации Single host. Этот параметр указывает приоритет узла для трафика по данному правилу. Узел с наиболее высоким приоритетом будет обрабатывать весь трафик для этого правила, а при его недоступности трафик будет перенаправлен на следующий по приоритетности узел. Чем меньше значение Handling Priority, тем выше приоритет, значение 1 соответствует наиболее высокому приоритету.

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

• Start — запустить обработку трафика на данном узле;
• Stop — остановить обработку трафика на данном узле. При этом все текущие соединения будут закрыты;
• Drainstop — остановить обработку трафика на узле, предварительно обработав все текущие подключения. В этом варианте остановки узел обрабатывает текущие клиентские подключения, но не принимает новых;
• Suspend — приостановить обработку трафика на данном узле;
• Resume — соответственно возобновить приостановленную работу.

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

Все то же на уровне кластера — кликаем на имени кластера и выбираем «Control Hosts». Здесь изменения применяются уже ко всем узлам.

network load balancing что это. Смотреть фото network load balancing что это. Смотреть картинку network load balancing что это. Картинка про network load balancing что это. Фото network load balancing что это

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

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

Источник

Добавить комментарий

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