Network Load Balancing, также называемый NLB, это отдельная дополнительная служба в Windows Server 2008 / R2. Компоненты службы NLB предназначены для управления балансировкой сетевого трафика (посланного на виртуальный ip адрес кластера) между несколькими серверными операционными системами, включенными в состав кластера NLB.
Как установить NLB
Есть несколько вариантов установки NLB в Windows Server 2008:
При помощи консоли Server Manager, просто нажмите Add Feature и выберите Network Load Balancing С помощью командной строки windows server 2008 / R2 : “ocsetup NetworkLoadBalancingFullServer” При помощи команды ServerManagerCmd! В командной строке наберите: “servermanagercmd –installnlb”
Приступим к процедуре установки и настройки Network Load Balancing (NLB). Для установки NLB вы должны быть членом группы локальных администраторов на всех серверах.
Нажмите Start, выберите Administrative Tools, а потом щелкните по Server Manager. Добавьте новую функцию Windows Server 2008 при помощи кнопки Add Features.
В мастере «Add Features Wizard», выберите Network Load Balancing, затем щелкните Next. После того, как установка NLB закончена, необходимо проверить, что в свойствах сетевого адаптера появилась опция NLB.
Откройте консоль управления Network Load Balancing Manager, щелкните по Network Load Balancing Clusters, и выберите создать новый кластер New Cluster. Чтобы подключится к серверу, который должен стать членом нового кластера, в окне Hostвведите имя или адрес хоста и щелкните Connect. Выберите сетевой интерфейс, который вы хотите задействовать под кластер и потом нажмите Next.
· В окне параметров хоста (HostParameters), выберите значение Priority(уникальный идентификатор хоста). Этот параметр задает уникальный ID для каждого хоста кластера NLB. Хост с наименьшим номером среди всех текущих членов NLB кластера будет обрабатывать весь сетевой трафик, не попадающий ни под какие настроенные правила портов. Вы можете переопределить данные приоритеты, или задать правила балансировки для целого диапазона портов (на вкладке Portrules). В окне свойств хоста (HostParameters), можно также добавить выделенные ip-адреса для обработки определенного трафика (если это необходимо).
· Нажмите Далее.
· В свойствах кластера задайте IP адрес и маску подсети(для адресов IPv6, маска подсети не нужна). Введите полное fqdn имя, по которому пользователи должны находить NLB кластер.
· В окне Clusteroperationmode , выберите Unicast, для того чтобы указать, что для кластерных операций должен использоваться unicast (одноадресный) MAC адрес. В режиме unicast, MAC адрес кластера назначается сетевому адаптеру компьютера, причем встроенный заводской адрес не используется. Рекомендуется использовать настройки unicast, заданные по умолчанию.
· Нажмите Далее.
· В правилах для портов (PortRules) можно отредактировать стандартные правила портов.
· Чтобы добавить дополнительные сервера в кластер, необходимо щелкнуть по кластеру и выбрать AddHosttoCluster. Настройка параметров новых серверов NLB кластеров (приоритет хоста, выделенный IP адрес, параметры нагрузки) выполняется точно так же. Так как вы добавляете дополнительные хосты в уже сконфигурированный кластер, все общие параметры кластера остаются теми же.
1. Краткое введение в балансировку нагрузки.
Балансировка нагрузки также называется распределением нагрузки. Это относится к балансировке нагрузки, которая динамически регулирует нагрузку на систему и распределяет нагрузку на несколько рабочих узлов, чтобы уменьшить влияние несбалансированной нагрузки каждого узла в системе. Повысьте эффективность системы. .
В широко используемых крупномасштабных серверных системах есть компоненты балансировки нагрузки, такие как балансировка сетевой нагрузки NLB от Microsoft, Oracle RAC Oracle, балансировка нагрузки Cisco (SLB), балансировка нагрузки Apach + Tomcat, они могут отличаться от оборудования или программного обеспечения. С другой стороны, он реализует баланс нагрузки каждого узла системы, эффективно повышает эффективность работы крупномасштабной серверной системы, тем самым повышая пропускную способность системы. В этой статье используется NAT для балансировки сетевой нагрузки Microsoft в качестве примера, чтобы кратко представить установку и использование балансировки нагрузки Windows Server 2008 R2.
В Windows Server 2008 R2 есть функция «Балансировка сетевой нагрузки» (NLB,Network Load Balancing), это служба на основе TCP / IP, которая может сопоставлять зарегистрированный IP-адрес с IP-адресами нескольких внутренних доменов, позволяя нескольким хостам одновременно отвечать на сетевые запросы. Использование балансировки сетевой нагрузки NLB позволяет подключаться к 32 хостам, что позволяет 32 хостам совместно использовать большое количество сервисов. Windows Server 2008 R2 также имеет функцию «отказоустойчивого кластера», которая использует распределение нагрузки для постоянного хранения совместно используемой информации нескольких серверов. Когда на одном из серверов возникает проблема, запрос автоматически распределяется между другими серверами. На сервере. Использование функции «отказоустойчивого кластера» может лучше обеспечить нормальную работу «кластера балансировки сетевой нагрузки», что способствует общему управлению различными ресурсами в распределенной системе, а также использованию общей информации и ее механизма обслуживания для расширения вычислительная мощность системы. Функция «отказоустойчивой кластеризации» будет подробно описана в следующей статье.
2. Основные функции NLB
- Поддержка функции кластера, кластер поддерживает до 32 серверов.
- Поддержка функции трансляции сетевых адресов (NAT), может автоматически пересылать запрос каждому серверу в кластере NLB.
- Реализуйте конвейерное управление, позволяющее одновременно отправлять несколько запросов в кластер NLB.
- Поддерживает многоадресное и многопортовое управление.Каждый сервер может быть привязан к нескольким виртуальным IP-адресам, и каждый виртуальный IP-адрес может устанавливать несколько открытых портов.
- Поддерживает функцию быстрого восстановления после сбоя.При выходе из строя и перезапуске сервера кластер автоматически возобновляет работу.
- Поддерживает несколько режимов работы кластера: одноадресная, многоадресная и многоадресная рассылка IGMP.
- Поддержка управления журналом событий, вы можете быстро проверить записи событий кластера.
3. Как использовать NLB
3.1 Откройте «Диспетчер служб» и добавьте функцию «Балансировка сетевой нагрузки».
3.2. После завершения установки откройте «Диспетчер балансировки сетевой нагрузки».
3.3. Создайте новый кластер и подключитесь к узлу в качестве кластерного сервера.
3.4. Привяжите номер приоритета к этому хосту и выделенный IP-адрес, один хост может быть привязан к нескольким IP-адресам.
3.5. Установите IP-адрес кластера для балансировки нагрузки.Если существует несколько IP-адресов, система будет использовать первый IP-адрес в качестве IP-адреса кластера для проверки информации.
3.6. Настройка параметров кластера Здесь вы можете указать полное Интернет-имя кластера и определить его режим работы. Здесь необходимо небольшое пояснение:
3.6.1 Одноадресный режим
Относится к перенаправлению каждого хост-узла на один и тот же виртуальный MAC-адрес. В этом случае связь между узлами не может быть достигнута.
3.6.2 Многоадресный режим
Означает, что каждый хост-узел сохраняет исходный MAC-адрес в дополнение к коммуникационному MAC-адресу, выделенному для NLB, чтобы можно было реализовать нормальную связь между узлами. Однако не все маршрутизаторы или коммутаторы поддерживают режим многоадресной рассылки, поэтому при его использовании необходимо соблюдать осторожность.
3.6.3 Режим многоадресной рассылки IGMP
В зависимости от функции многоадресного режима сообщения IGMP по умолчанию отправляются каждые 60 секунд. Он может гарантировать, что обмен данными, отправляемый в кластер балансировки сетевой нагрузки, проходит только через порты, обслуживающие узел кластера, а не через все порты коммутатора.
Примечание: Поскольку не все маршрутизаторы или коммутаторы поддерживают режим многоадресной рассылки, лучше использовать режим одноадресной рассылки с двумя сетевыми картами, когда нет уверенности, и заранее установить ARP, иначе это может вызвать ошибку, заключающуюся в невозможности доступа к IP-адресу кластера через сегменты сети.
3.7 Привязать открытые порты кластера, здесь вы можете установить определенный диапазон открытых портов для хоста. Включение его в протоколы TCP и UDP мало что объясняет, как правило, используется только протокол TCP, чтобы сделать передачу данных более надежной и безопасной. Вот краткое объяснение режима проверки:
3.7.1 Мульти-хост
Этот параметр указывает, что несколько хостов в кластере обрабатывают сетевые соединения, связанные с правилами порта. Распределяя сетевую нагрузку между несколькими хостами, этот режим фильтрации обеспечивает масштабируемую производительность и отказоустойчивость. Вы можете указать балансировку нагрузки между хостами или каждый хост для обработки определенного количества нагрузки. В варианте схожести с несколькими хостами есть 3 варианта:
- Параметр «Нет»: укажите, что несколько подключений с одного и того же IP-адреса клиента могут обрабатываться разными хостами (отсутствие схожести клиентов). Первый запрос может быть направлен на хост A, а второй запрос может быть направлен на хост B. Чтобы разделить сеанс между несколькими хостами, система должна сделать сеанс постоянным заранее. Если вы используете ASP.NET для разработки, вы можете использовать команду:
aspnet_regsql.exe -S 〈SQL Server IP> -U 〈User Name> -P 〈Password> -E -ssadd -sstype c -d 〈Database Name>
Создание базы данных для сохранения сеанса - Параметр «Один»: указывает, что балансировка сетевой нагрузки должна направлять несколько запросов с одного и того же IP-адреса клиента на один и тот же узел кластера. Это настройка по умолчанию для подобия.
- «Сетевой» вариант:Относится к обозначению подобия, что балансировка сетевой нагрузки направляет несколько запросов из одного и того же диапазона адресов TCP / IP класса C на один и тот же узел кластера. Например, когда клиент использует несколько прокси-серверов для доступа к кластеру, запрос выглядит так, как будто он исходит с разных компьютеров. Включение параметра подобия «Сеть» позволяет правильно обрабатывать данные сеанса нескольких прокси-серверов на одном клиенте.
3.7.2 Один хост
Этот параметр указывает, что один хост в кластере обрабатывает сетевую связь по соответствующим правилам порта в соответствии с указанным приоритетом обработки. Этот режим фильтрации обеспечивает отказоустойчивость конкретного порта для обработки сетевых соединений.
3.7.3 Отключить диапазон портов
Этот параметр указывает на блокировку всех сетевых подключений, связанных с правилами порта. В этом случае драйвер балансировки сетевой нагрузки отфильтрует все соответствующие сетевые пакеты или дейтаграммы. Этот режим фильтрации позволяет блокировать сетевой трафик, отправляемый на определенный диапазон портов.
3.8 После завершения настройки кластера щелкните кластер правой кнопкой мыши и выберите «Добавить узел в кластер», повторите шаги установки 3.3 и 3.4 для подключения нескольких узлов кластера.
В-четвертых, тест кластерной системы с балансировкой сетевой нагрузки
Создайте проект ASP.NET, добавьте следующую страницу Default.aspx, а затем создайте кластер, привяжите IP к 192.168.1.110, при редактировании «правил порта» выберите режим фильтрации «multi-host no correlation». Наконец, к кластеру добавляются два хоста, Virtual-PC-A1 и Virtual-PC-A2. При использовании стороннего клиента для доступа, когда вы нажимаете соединение NewPage несколько раз, вы можете обнаружить, что система подключит запрос к другому хосту.
1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head runat="server"> 3 <title></title> 4 <script type="text/C#" runat="server"> 5 protected void Page_Load(object sender, EventArgs e) 6 { 7 String hostName = System.Net.Dns.GetHostName(); 8 Response.Write(hostName+"<br/>"); 9 IPAddress[] addressList = System.Net.Dns.GetHostAddresses(hostName); 10 foreach(IPAddress address in addressList) 11 Response.Write(address.ToString()+"<br/>"); 12 } 13 </script> 14 </head> 15 <body> 16 <form id="form1" runat="server" > 17 <div align="left"> 18 <a href="http://192.168.1.110/Default.aspx" target="_blank">New Page</a> 19 </div> 20 </form> 21 </body> 22 </html>
Результаты теста
Пять, меры предосторожности при установке NLB
5.1. Если вам необходимо использовать службу «домен», обычно перед установкой диспетчера «балансировки сетевой нагрузки» сначала добавьте роль «доменных служб Active Directory» и настройте лес и домен.
Если серверу необходимо использовать IIS или ASP.NET, рекомендуется добавить роль сервера веб-сервера (IIS) и функции .NET Framework 3.5 перед установкой NLB.
5.2 Для создания «Кластера балансировки сетевой нагрузки» необходимо включить функцию «Включить обнаружение сети» в «Расширенных настройках общего доступа».
Если не удается открыть функцию «Включить обнаружение сети», сначала можно открыть следующие 3 службы в диспетчере служб:
- Function Discovery Resource Publication
- SSDP Discovery
- UPnP Device Host
5.3. Если вы используете инструменты виртуализации, такие как VMware, Hyper-V и другие виртуальные хосты, которые не могут быть найдены при совместном использовании информации в сети, вы можете попробовать проверить, использует ли «сетевой адаптер» такое же «сетевое соединение» при настройке виртуальную машину, и была включена функция «Служба общего доступа к сети».
5.4. Настройте кластер в «Диспетчере балансировки сетевой нагрузки». Когда кластер подключается к узлу, отображается сообщение об ошибке, такое как «Сервер подключения RPC недоступен». Вы можете попробовать проверить, открыл ли узел «Удаленный доступ». Вызов процедур (RPC) »и« Локатор удаленного вызова процедур (RPC) »и проверьте, установлено ли для« Состояние »« Служба, зависимая от свойств удаленного вызова процедур (RPC) »значение« Запущено »или «Тип запуска» установлен на «Авто».
5.5. Если хост клонируется с помощью инструмента виртуализации, когда кластер подключается к хосту, отображается сообщение «у указанного хоста нет интерфейса, который можно использовать для установки нового кластера». Это может быть вызвано тем, что несколько хостов используют тот же MAC-адрес при клонировании хоста.Вы можете попробовать удалить драйвер сетевого адаптера, а затем обновить программное обеспечение драйвера.
5.6. Если при подключении кластера к узлу появляется сообщение об ошибке, «Диспетчер NLB на узле« MyPC »не может продолжать работу, поскольку служба кластеров Microsoft не установлена». Вы можете проверить, успешно ли установлена на сервере служба «Балансировка сетевой нагрузки», затем открыть «Свойства подключения по локальной сети» и выбрать «Балансировка сетевой нагрузки (NLB)».
Заключительные замечания
Чтобы удовлетворить внутренние потребности крупных предприятий и добиться высокой производительности, доступности и надежности корпоративных серверов, основные поставщики программного и аппаратного обеспечения создали ряд решений, и балансировка сетевой нагрузки (NLB) Microsoft является лишь одним из них. … Однако, поскольку у меня ограниченные знания и я не являюсь экспертом в управлении сетевыми службами, эта статья включает в себя только вводную установку NLB.
Дополнительные сведения см. В библиотеке TechNet.http://technet.microsoft.com/zh-cn/library/cc778263.aspx
Прокомментируйте ошибки и лазейки в этой статье.
Друзья, интересующиеся разработкой .NETДобро пожаловать в группу QQ:230564952 Обсуди вместе!
Применение и управление сервисными инструментами
Подробное объяснение конфигурации интеграции Apache2.2 + Tomcat7.0
Начало работы с балансировкой нагрузки в Windows Server 2008 R2
Полное раскрытие приложений цифровых сертификатов (включая создание сертификатов, шифрование, дешифрование, подпись и проверку подписи)
Перепечатано по адресу: https://www.cnblogs.com/leslies2/archive/2012/11/15/WindowsServer2008R2_NLB.html
Балансировка сетевой нагрузки, также называемая NLB, представляет собой отдельную дополнительную службу в Windows Server 2008 / R2. Компоненты службы NLB предназначены для управления балансировкой сетевого трафика (отправляемого на виртуальный IP-адрес кластера) между несколькими серверными операционными системами, включенными в кластер NLB.
Как установить NLB
Есть несколько вариантов установки NLB в Windows Server 2008:
Используя консоль Server Manager, просто нажмите «Добавить компоненты» и выберите «Балансировка сетевой нагрузки с помощью командной строки Windows Server 2008 / R2»: «ocsetup NetworkLoadBalancingFullServer» с помощью команды ServerManagerCmd! В командной строке введите: «servermanagercmd –installnlb”
Приступим к установке и настройке балансировки сетевой нагрузки (NLB). Чтобы установить NLB, вы должны быть членом локальной группы администраторов на всех серверах.
Нажмите «Пуск», выберите «Администрирование», а затем нажмите «Диспетчер сервера». Добавьте новую функцию Windows Server 2008 с помощью кнопки «Добавить компоненты.
В мастере добавления компонентов выберите «Балансировка сетевой нагрузки» и нажмите «Далее». После завершения установки NLB необходимо убедиться, что параметр NLB отображен в свойствах сетевого адаптера.
Откройте консоль управления диспетчера балансировки сетевой нагрузки, щелкните «Кластеры балансировки сетевой нагрузки» и выберите создание нового кластера «Новый кластер». Чтобы подключиться к серверу, который вы хотите стать членом нового кластера, в окне «Хост» введите имя или адрес хоста и нажмите «Подключиться». Выберите сетевой интерфейс, который вы хотите использовать для кластера, и нажмите Далее.
· В окне HostParameters выберите значение Priority (уникальный идентификатор хоста). Этот параметр указывает уникальный идентификатор для каждого хоста в кластере NLB. Хост с наименьшим числом всех текущих членов кластера NLB будет обрабатывать весь сетевой трафик, выходящий за рамки настроенных правил порта. Вы можете переопределить эти приоритеты или установить правила балансировки для всего диапазона портов (на вкладке Portrules). В окне свойств хоста (HostParameters) вы также можете добавить выделенные IP-адреса для обработки определенного трафика (при необходимости).
· Нажмите “Далее.
· В свойствах кластера задайте IP-адрес и маску подсети (для IPv6-адресов маска подсети не требуется). Введите полное имя fqdn, под которым пользователи должны найти кластер NLB.
· В окне Cluster Operation Mode выберите Unicast, чтобы указать, что одноадресный MAC-адрес должен использоваться для работы кластера. В одноадресном режиме MAC-адрес кластера назначается сетевой карте компьютера, а встроенный заводской адрес не используется. Рекомендуется использовать настройки одноадресной передачи по умолчанию.
· Нажмите “Далее.
· В PortRules вы можете изменить стандартные правила порта.
· Чтобы добавить дополнительные серверы в кластер, щелкните кластер и выберите AddHosttoCluster. Конфигурация параметров новых серверов кластера NLB (приоритет хоста, выделенный IP-адрес, параметры нагрузки) выполняется аналогичным образом. Когда вы добавляете другие хосты в уже настроенный кластер, все общие параметры кластера остаются прежними.
Источник изображения: winitpro.ru
Important functionality
NLB is installed as a standard Windows Server networking driver component. Its operations are transparent to the TCP/IP networking stack. The following figure shows the relationship between NLB and other software components in a typical configuration.
Following are the primary features of NLB.
-
Requires no hardware changes to run.
-
Provides Network Load Balancing Tools to configure and manage multiple clusters and all of the hosts from a single remote or local computer.
-
Enables clients to access the cluster by using a single, logical Internet name and virtual IP address, which is known as the cluster IP address (it retains individual names for each computer). NLB allows multiple virtual IP addresses for multihomed servers.
Note
When you deploy VMs as virtual clusters, NLB does not require servers to be multihomed to have multiple virtual IP addresses.
-
Enables NLB to be bound to multiple network adapters, which enables you to configure multiple independent clusters on each host. Support for multiple network adapters differs from virtual clusters in that virtual clusters allow you to configure multiple clusters on a single network adapter.
-
Requires no modifications to server applications so that they can run in an NLB cluster.
-
Can be configured to automatically add a host to the cluster if that cluster host fails and is subsequently brought back online. The added host can start handling new server requests from clients.
-
Enables you to take computers offline for preventive maintenance without disturbing the cluster operations on the other hosts.
Multicast
Режим многокастации отличается от режима одновещания. Вместо изменения адресов MAC в сетевых адаптерах NLB преобразует виртуальный IP-адрес NLB (VIP) в многоуровневый MAC-адрес NLB. Этот MAC имеет формат 03-BF-XX-XX-XX-XX. NLB также убедитесь, что основной IP-адрес кластера решает этот многоуровневый адрес в рамках протокола разрешения адресов (ARP). Хотя отдельные сетевые адаптеры сохраняют свои исходные mac-адреса, трафик NLB адресован многоуровневой MAC-адресу NLB.
Чтобы поддерживать эту конфигурацию, необходимо настроить инфраструктуру сети для использования статических записей ARP и записей таблицы адресов MAC. Сетевые коммутаторы не могут узнать многоуровневый MAC-адрес NLB в ходе обычных операций. Если пропустить этап ручной настройки, сетевые коммутаторы могут затопить трафик NLB во все порты или отбросить пакеты. Сначала может показаться, что сеть работает правильно, но со временем проблемы увеличиваются.
Статьи, перечисленные в следующей таблице, четко объясняют, что необходимо сделать для правильной настройки сетевой инфраструктуры на основе поставщика сетевой инфраструктуры. Помните, что мы не поддерживаем эти статьи. Поэтому мы не можем гарантировать, что они являются точными или доступными. Если у вас возникли вопросы по этим статьям, обратитесь к соответствующему поставщику.
Поставщик | Статья |
---|---|
VMware | Пример конфигурации — режим многокастовой балансировки сетевой нагрузки (NLB) над маршрутной подсети — статическая конфигурация ARP Cisco Switch (1006525) |
Cisco | При использовании VSS в Cisco Catalyst могут возникнуть проблемы с трафиком на одном из узлов стека. Дополнительные сведения обратитесь в Cisco и упоминают об этой ошибке (для доступа к ошибке необходимо иметь учетную запись Cisco). Microsoft Network Load Balancing on Nexus 7000 Configuration Example Настройка балансировки сетевой нагрузки Майкрософт (NLB) в серии Nexus 9000 |
Можжевельник |
|
HPE | Переключатель HP 5500/5500G — как реализовать балансировку нагрузки в Сети Майкрософт с помощью многокастов на switch 5500 и 5500G |
Dell |
|
Huawei | Пример подключения устройства к кластеру NLB (использование ARP с несколькими интерфейсами) |
D-Link | D-Link Layer 3 Switch Microsoft NLB in Multicast Mode Configuration Example |
Avaya | Руководство по технической конфигурации для балансировки нагрузки в сети Майкрософт (скачать) |
H3C | 05-Layer 3 — руководство по конфигурации ip-служб |
Настройка виртуальных сред в многокастовом режиме
В виртуальной среде сетевые переключатели подключаются к серверам-хост-серверам гипервизора. В виртуальной среде с высокой доступностью группа хостов гипервизора поддерживает группу виртуальных машин. Отдельный виртуальный компьютер может находиться в любом из хостов гипервизора и при определенных обстоятельствах может перейти на другой хост гипервизора. Сетевой трафик должен иметь возможность достичь правильного виртуального компьютера независимо от того, на котором работает гипервизор, на котором работает виртуальная машина.
Чтобы использовать многоуровневый режим в такой среде, необходимо настроить таблицы адресов MAC сетевых коммутаторов таким образом, чтобы каждый порт, подключаемый к хосту гипервизора, использовал статический вход для карты с многоуровневым MAC-адресом NLB. Например, рассмотрим среду, в которой содержится восемь хостов гипервизора. Каждый хост гипервизора имеет два сетевых адаптера, и все адаптеры подключаются к коммутатору. В таблице адресов MAC для коммутатора требуются статические записи, которые относят каждый порт к адресу MAC-адреса NLB Multicast.
Предварительные требования
При создании этой тестовой лаборатории на виртуальных машинах необходимо включить подмену MAC-адресов в EDGE1 и EDGE2.
Включение подмены MAC-адресов в EDGE1 и EDGE2
-
Выполните корректное завершение работы в EDGE1 и EDGE2.
-
на компьютере, на котором размещены виртуальные машины, в диспетчере Hyper-Vщелкните правой кнопкой мыши EDGE1 и выберите пункт Параметры.
-
в диалоговом окне Параметры в списке оборудование щелкните сетевой адаптер, подключенный к корпоративной сети, а затем в области сведений установите флажок включить подмену MAC-адресов .
-
В списке оборудование выберите сетевой адаптер, подключенный к сети Интернет, а затем в области сведений установите флажок включить подмену MAC-адресов .
-
в диалоговом окне Параметры нажмите кнопку ок.
-
Повторите эту процедуру из шага 2 в EDGE2.
Возможности в балансировке сетевой нагрузки
NLB включает следующие возможности.
Масштабируемость
Масштабируемость показывает, насколько можно расширить возможности компьютера, службы или приложения в соответствии с повышением требований к его производительности. Применительно к кластерам NLB масштабируемость — это возможность добавления одной или нескольких систем к существующему кластеру, когда общая нагрузка кластера превышает его текущую производительность. Поддержка масштабируемости реализуется в средстве балансировки сетевой нагрузки следующим образом.
- Балансировка запросов нагрузки в пределах NLB-кластера для отдельных служб TCP/IP.
- Поддержка до 32 компьютеров в одном кластере.
- Балансировка запросов нагрузки для нескольких серверов (как от одного клиента, так и от нескольких клиентов) по нескольким узлам кластера.
- Возможность добавления узлов к NLB-кластеру при возрастании нагрузки без перерыва в работе кластера.
- Возможность удаления узлов из кластера при снижении нагрузки.
- Реализация высокой производительности и снижение накладных расходов благодаря полнофункциональному конвейерному режиму. Этот режим позволяет отправлять запросы NLB-кластеру, не ожидая ответа на предыдущий запрос.
Высокая надежность
Система высокой надежности обеспечивает безотказное обслуживание на приемлемом уровне с минимальными простоями. Средство балансировки сетевой нагрузки включает встроенные компоненты, обеспечивающие высокую надежность путем автоматического выполнения следующих действий.
- Распознавание сбоя или отключения узла кластера и его восстановление.
- Балансировка нагрузки сети при добавлении и удалении узлов.
- Восстановление и перераспределение рабочей нагрузки в течение 10 секунд.
Управляемость
Имеются следующие возможности управления NLB.
- Управлять несколькими кластерами NLB и узлами кластеров и настраивать их можно с одного компьютера с помощью диспетчера NLB.
- Используя правила управления портами, можно задавать режим балансировки для отдельного IP-порта или группы портов.
- Для каждого веб-сайта можно определить особые правила для портов. Если для нескольких приложений или веб-сайтов используется один набор серверов с балансировкой нагрузки, правила для портов выбираются по виртуальному IP-адресу назначения (с использованием виртуальных кластеров).
- Все клиентские запросы можно направлять на один узел с помощью дополнительных правил одного узла. NLB будет направлять клиентские запросы на определенный узел, где выполняются заданные приложения.
- Можно заблокировать доступ по сети к определенным IP-портам.
- Для контроля переполнения коммутатора (при работе в многоадресном режиме) можно включить поддержку протокола IGMP (Internet Group Management Protocol).
- Можно запускать, останавливать действия NLB и управлять ими с любого подключенного к сети компьютера под управлением Windows при помощи команд оболочки или сценариев.
- События NLB можно просматривать в журнале событий Windows. В журнал событий записываются все действия NLB и изменения кластера.
Простота использования
В средстве NLB предусмотрен ряд функциональных возможностей для удобства его использования.
- NLB устанавливается как стандартный компонент Windows — сетевой драйвер.
- NLB не требует для запуска и работы каких-либо изменений в оборудовании.
- Диспетчер NLB позволяет создавать новые кластеры NLB.
- Диспетчер NLB позволяет управлять несколькими кластерами и всеми узлами кластеров и настраивать их с одного удаленного или локального компьютера.
-
Балансировка сетевой нагрузки дает клиентам возможность обращаться к кластеру по единому логическому интернет-имени и виртуальному IP-адресу, называемому IP-адресом кластера (сохраняются отдельные имена для каждого компьютера). NLB поддерживает несколько IP-адресов для многосетевого сервера.
Примечание В случае виртуального кластера сервер не обязательно должен быть многосетевым, чтобы иметь несколько IP-адресов.
- Средство NLB может быть привязано к нескольким сетевым адаптерам, что позволяет настроить несколько независимых кластеров на каждом узле. Поддержка нескольких сетевых адаптеров — это не то же самое, что виртуальные кластеры, в которых можно настраивать несколько кластеров на одном сетевом адаптере.
- Не требуется вносить изменения в серверные приложения, чтобы запускать их в кластере NLB.
- NLB может быть настроена так, что при сбое и последующем восстановлении работы узла он будет добавляться в кластер автоматически. Добавленный узел затем сможет вновь обрабатывать запросы к серверу от клиентов.
- Компьютеры можно отключать для профилактического обслуживания, не затрагивая операции кластера на других узлах.
Manage host availability in the NLB cluster
1 – Switch to the SUB-01 server, in the Network Load Balancing Manager console, right-click SUB-01 click Control Host, and then click Suspend
2 – Click the NewHelpTech-NLB node
#_# Verify that node SUB-01 displays as Suspended, and that node SUB-01 displays as Converged
3 – Right-click SUB-01, click Control Host, and then click Resume
4 – Right-click SUB-01, click Control Host and then click Start
5 – Click the NewHelpTech-NLB node
#_# Verify that both nodes SUB-01 and SUB-02 now display as Converged. You might have to refresh the view
Good luck! Just give it try – I’m sure you’ll love it as well. If you have any comments or questions on feel free to contact me.
Пример. Создание общедоступного виртуального IP-адреса для балансировки нагрузки пула из двух виртуальных машин в виртуальной сети
В этом примере вы создадите объект балансировщика нагрузки с общедоступным виртуальным IP-адресом и двумя виртуальными машинами в качестве членов пула для обслуживания запросов к виртуальному IP-адресу. В этом примере кода также добавляется проба работоспособности HTTP для определения того, что один из членов пула не отвечает.
Подготовьте объект балансировщика нагрузки.
Назначьте IP-адрес внешнего интерфейса, который обычно называется виртуальным IP (VIP).
Виртуальный IP-адрес должен быть неиспользуемым в одном из пулов IP-адресов логической сети, предоставленных диспетчеру подсистемы балансировки нагрузки.
Выделите пул внутренних адресов, содержащий динамические IP-адреса (DIP), которые составляют элементы набора виртуальных машин с балансировкой нагрузки.
Определите проверку работоспособности, используемую подсистемой балансировки нагрузки для определения состояния работоспособности членов внутреннего пула.
В этом примере определяется HTTP-зонд, который запрашивает RequestPath «/health.htm». Запрос выполняется каждые 5 секунд, как указано свойством IntervalInSeconds.
Зонд работоспособности должен получить код HTTP-ответа 200 для 11 последовательных запросов, чтобы проверить, что серверный IP-адрес должен быть работоспособным
Если серверный IP-адрес находится в неработоспособном состоянии, он не получает трафик от балансировщика нагрузки.
Важно!
Не блокируйте трафик с первого IP-адреса в подсети или из него для любых списков управления доступом (ACL), применяемых к внутреннему IP-адресу, так как это точка происхождения для проб.
Используйте следующий пример для определения пробы работоспособности.
Определите правило балансировки нагрузки для отправки трафика, поступающих на клиентский IP-адрес, на серверный IP. В этом примере серверный пул получает трафик TCP на порт 80.
Для определения правила балансировки нагрузки используйте следующий пример:
Добавьте конфигурацию подсистемы балансировки нагрузки в сетевой контроллер.
Используйте следующий пример, чтобы добавить конфигурацию подсистемы балансировки нагрузки в сетевой контроллер:
Выполните следующий пример, чтобы добавить сетевые интерфейсы в этот пул серверной части.
Общие сведения о ПО Load Balancer
Программное обеспечение Load Balancer SDN (SLB) обеспечивает высокую доступность и производительность сети для приложений. Это балансировщик нагрузки уровня 4 (TCP, UDP), который распределяет входящий трафик между работоспособными экземплярами службы в облачных службах или виртуальных машинах, определенных в наборе подсистемы балансировки нагрузки.
Настройте SLB, чтобы сделать следующее:
- Балансировка нагрузки входящего трафика, внешнего в виртуальную сеть, на виртуальные машины (VM), также называемая балансировкой нагрузки общедоступных виртуальных IP-адресов.
- Балансировка нагрузки входящего трафика между виртуальными машинами в виртуальной сети, между виртуальными машинами в облачных службах или между локальными компьютерами и виртуальными машинами в распределенной виртуальной сети.
- Пересылка сетевого трафика виртуальной машины из виртуальной сети во внешние назначения с помощью преобразования сетевых адресов (NAT), также называемого исходящим NAT.
- Перенаправлять внешний трафик на определенную виртуальную машину, также называемую входящим NAT.
Известные проблемы
Ниже приводятся известные проблемы, возникающие при настройке сценария кластера.
-
После настройки DirectAccess в развертывании с поддержкой только IPv4 с одним сетевым адаптером и после автоматической настройки в сетевом адаптере DNS64 по умолчанию (IPv6-адрес, который содержит «: 3333::») попытка включить балансировку нагрузки в консоли управления удаленным доступом приводит к запросу на ввод DIP IPv6. Если указать DIP IPv6, после нажатия кнопки Зафиксировать возникает ошибка: «Неправильный параметр».
Чтобы устранить эту проблему, выполните следующие действия.
-
Скачайте сценарии резервного копирования и восстановления из раздела Настройка резервного копирования и восстановления конфигурации удаленного доступа.
-
Резервное копирование объектов групповой политики удаленного доступа с помощью загруженного сценария Backup-RemoteAccess.ps1
-
Попытайтесь включить балансировку нагрузки, пока не возникнет ошибка. В диалоговом окне «Включение балансировки нагрузки» разверните область сведений, щелкните ее правой кнопкой мыши и выберите команду Копировать сценарий.
-
Откройте Блокнот и вставьте содержимое буфера обмена. Например:
-
Закройте все открытые диалоговые окна удаленного доступа и закройте консоль управления удаленным доступом.
-
Измените вставленный текст и удалите IPv6-адреса. Например:
-
В окне PowerShell с повышенными привилегиями выполните команду из предыдущего шага.
-
Если командлет завершается с ошибкой (ошибка при выполнении, а не из-за неправильных входных значений), выполните команду Restore-RemoteAccess.ps1 и следуйте инструкциям, чтобы убедиться, что целостность исходной конфигурации не нарушена.
-
Теперь снова откройте консоль управления удаленным доступом.
-
Unicast
Unicast — это самый простой режим работы для настройки. Теоретически вам не нужно ничего делать в сетевой инфраструктуре. В действительности может потребоваться изменить инфраструктуру для управления сетевым трафиком.
В режиме однонастройки NLB использует mac-адрес NLB для замены исходного аппаратного MAC-адреса каждого адаптера в каждом узле кластера. Так как несколько адаптеров теперь имеют один и тот же адрес, любые физические переключатели в сети больше не могут правильно поддерживать свои таблицы адресов MAC. Так как они не могут определить, какой трафик идет в порт коммутатора, переключатели начинают отправлять весь трафик во все порты, чтобы убедиться, что трафик достигает своего назначения. Это называется сценарием однополярного наводнения.
Одноявка может серьезно повлиять на производительность сети. В дополнение к регулярному сетевому трафику каждый узел NLB отправляет пакеты сердцебиения (каждый пакет сердцебиения содержит около 1500 бит данных). По умолчанию узел отправляет пакет сердцебиения каждую секунду и ждет, пока не будет получено пять из этих пакетов, пока не будет считать узел конвергентным. В условиях однополярного наводнения любые переключатели ретранслирует этот трафик пульса во все порты коммутаторов, как и обычный сетевой трафик. Например, если в сети есть 24-портовый или 48-портовый переключатель и только два из этих портов подключаются к узлам NLB, этот переключатель может в конечном итоге транслировать значительный сетевой трафик на 22 (или 46) серверах, которые в этом не нуждаются.
Чтобы избежать однополярного наводнения, у вас есть следующие параметры:
-
Вариант 1. Вставьте концентратор между сетевым переключателем и узлами NLB. Концентратор использует mac-адрес единой окантовки NLB и подключается к одному порту коммутатора, поэтому переключатель может правильно управлять своей адресной таблицей MAC. Концентратор передает трафик на узлы NLB, а серверы, подключаясь к другим портам коммутатора, не получают дополнительный трафик NLB.
-
Вариант 2. Создайте отдельный VLAN для серверов NLB. Убедитесь, что другие подсети могут достичь VLAN. Эта конфигурация изолирует трафик NLB для портов коммутаторов, которые назначены этому VLAN.
Настройка компьютеров с двойными НИКАми в режиме однонастройки
В некоторых случаях необходимо иметь на компьютере две сетевые карты интерфейса (NICs). Если вы работаете Windows Server 2008 или более поздней, необходимо включить переадверку IP-адресов на niCs, чтобы обеспечить правильное маршрутизание трафика. Переадежка IP включена по умолчанию в более ранних версиях Windows.
Прежде чем включить переададацию IP, необходимо получить индекс NIC кластера. На компьютере, который необходимо настроить, откройте окно Командная подсказка и запустите следующую команду:
В выходной части этой команды перечислены интерфейсы на компьютере.
В окне Командная подсказка запустите следующую команду:
В этой команде <Cluster Idx> представлен индекс кластерного интерфейса.
Чтобы убедиться, что параметр изменился, запустите следующую команду:
В этой команде <Cluster Idx> представлен индекс кластерного интерфейса.
На выходе показано, что переададка включена.
Настройка виртуальных сред в режиме однонастройки
По умолчанию виртуальные переключатели в виртуальных средах обычно предотвращают однонаводное наводнение. Дополнительные сведения о конфигурации см. в следующих ресурсах:
-
Если вы используете Hyper-V для запуска виртуальной среды, откройте консоль Hyper-V управления. Выберите параметры виртуальной машины, выберите параметры NIC и выберите Включить спуфинг mac-адресов. Нажмите OK. Дополнительные сведения см. в совете: Настройка спуфинга MAC-адресов для виртуальных сетевых адаптеров.
-
Если вы используете VMware для запуска виртуальной среды, обратитесь к статье VMware Microsoft NLB, которая не работает должным образом в режиме Unicast (1556). В этой статье рассказывается о настройке виртуальной сетевой инфраструктуры. Не забудьте связаться с VMware, если у вас возникли вопросы по документации.
-
Если вы используете другую виртуальную среду (например, XenServer или VirtualBox) и испытываете аналогичные проблемы, обратитесь к производителю за рекомендациями.
Настраиваем IIS с репликацией
Кластер кластером, но без службы он смысла не имеет. Поэтому добавим IIS (Internet Information Services). Сервер IIS входит в состав Win2k3, но, чтобы свести к минимуму возможность атак на сервер, он по умолчанию не устанавливается.
Инсталлировать IIS можно двумя способами: посредством «Панели управления» или мастером управления ролями данного сервера. Рассмотрим первый. Переходим в «Панель управления – Установка и удаление программ» (Control Panel – Add or Remove Programs), выбираем «Установку компонентов Windows» (Add/Remove Windows Components). Теперь переходим в пункт «Сервер приложений» и отмечаем в «Службах IIS» все, что необходимо. По умолчанию рабочим каталогом сервера является Inetpubwwwroot. После установки IIS может выводить статические документы.
Вот, собственно, и все. Если в файл hosts, который находится в C:WindowsSystem32DriversEtc, добавить запись для разрешения имени веб-сервера и IP-адрес кластера, то, обратившись с локального узла, можно получить документ с веб-сервера.
Службы ролей, входящие в Server Core
Вариант установки Server Core включает следующие службы ролей.
Роль | Служба роли | Имя | Установлено по умолчанию? |
---|---|---|---|
Службы сертификатов Active Directory | Центр сертификации | ADCS-CERT-Authority | Нет |
Веб-служба политик регистрации сертификатов | ADCS-регистрация-Web-POL | Нет | |
Веб-служба регистрации сертификатов | ADCS-регистрация — Web-SVC | Нет | |
Служба регистрации в центре сертификации через Интернет | ADCS — веб-регистрация | Нет | |
Служба подачи заявок на сетевые устройства | ADCS — регистрация устройства | Нет | |
Сетевой ответчик | ADCS-Online-CERT | Нет | |
Active Directory Rights Management | Сервер управления правами Active Directory | ADRMS-Server | Нет |
Поддержка федерации удостоверений | ADRMS-Identity | Нет | |
Файловые службы и службы хранилища | Файловые службы и службы iSCSI | File-Services | Нет |
Файловый сервер | FS-FileServer | Нет | |
Служба BranchCache для сетевых файлов | FS-BranchCache | Нет | |
Дедупликация данных | FS — дедупликация данных | Нет | |
Пространства имен DFS | FS-DFS-Namespace | Нет | |
Репликация DFS | FS-DFS-репликация | Нет | |
File Server Resource Manager | Диспетчер ресурсов (FS) | Нет | |
Служба агента VSS файлового сервера | Агент FS-VSS-Agent | Нет | |
Целевой сервер iSCSI | iSCSITarget — сервер | Нет | |
поставщик служба хранилища цели iSCSI (поставщики оборудования VDS и VSS) | iSCSITarget-VSS-VDS | Нет | |
Сервер для NFS | FS-NFS-служба | Нет | |
рабочие папки | FS-SyncShareService | Нет | |
Службы хранилища | Storage-Services | Да | |
Службы печати и документов | Сервер печати | Print-Server | Нет |
Служба LPD | Print-LPD-Service | Нет | |
Удаленный доступ | DirectAccess и VPN (RAS) | DirectAccess — VPN | Нет |
Маршрутизация | Маршрутизация | Нет | |
Прокси-сервер веб-приложения | Веб-приложение-прокси | Нет | |
Службы удаленных рабочих столов | Брокер подключение к удаленному рабочему столу * | RDS-Connection-Broker | Нет |
Лицензирование удаленных рабочих столов | RDS-Licensing | Нет | |
Узел виртуализации удаленных рабочих столов | RDS-Virtualization | Нет | |
Веб-сервер (IIS) | Веб-сервер | Web-WebServer | Нет |
Общие функции HTTP | Web-Common-HTTP | Нет | |
Документ по умолчанию | Web-Default-doc | Нет | |
Просмотр каталогов | Web-dir-Просмотр | Нет | |
Ошибки HTTP | Web-HTTP — ошибки | Нет | |
Статическое содержимое | Веб-статические — содержимое | Нет | |
Перенаправление HTTP | Web-HTTP — перенаправление | Нет | |
Публикация WebDAV | Web-DAV-публикация | Нет | |
Исправность и диагностика | Web-Health | Нет | |
Ведение журнала HTTP | Web-HTTP — ведение журнала | Нет | |
Настраиваемое ведение журнала | Веб — настраиваемое ведение журнала | Нет | |
Средства ведения журнала | Веб-журналы — библиотеки | Нет | |
Ведение журнала ODBC | Web-ODBC — ведение журнала | Нет | |
Монитор запросов | Веб-запрос — монитор | Нет | |
Трассировка | Web-HTTP — трассировка | Нет | |
Производительность | Web-Performance | Нет | |
Сжатие статического содержимого | Web-stat-Compression | Нет | |
Функция сжатия динамического содержимого | Web-Дин — сжатие | Нет | |
Безопасность | Web-Security | Нет | |
Фильтрация запросов | Web-Filtering | Нет | |
Обычная проверка подлинности | Web-Basic-auth | Нет | |
централизованная поддержка SSL-сертификатов | Web-CertProvider | Нет | |
Проверка подлинности с сопоставлением сертификата клиента | Web-Client-auth | Нет | |
Дайджест-проверка подлинности | Web-Digest-auth | Нет | |
Аутентификация IIS с сопоставлением сертификата клиента | Web-CERT-auth | Нет | |
Ограничения IP-адресов и доменов | Web-IP — безопасность | Нет | |
Авторизация URL-адресов | Web-URL — проверка подлинности | Нет | |
Проверка подлинности Windows | веб-Windows — проверка подлинности | Нет | |
Разработка приложений | Веб-App-dev | Нет | |
Расширяемость .NET 3.5 | Web-NET-ext | Нет | |
Расширяемость .NET 4,6 | Web — NET-Ext45 | Нет | |
Инициализация приложений | Web-AppInit | Нет | |
ASP | Web — ASP | Нет | |
ASP.NET 3.5 | Web-ASP-NET | Нет | |
ASP.NET 4,6 | Web-ASP-Net45 | Нет | |
CGI | Веб-CGI | Нет | |
Расширения ISAPI | Web-ISAPI-ext | Нет | |
Фильтры ISAPI | Веб-ISAPI-фильтр | Нет | |
Включения на стороне сервера | Web-Includes | Нет | |
Протокол WebSocket | Web-WebSockets | Нет | |
FTP-сервер | Веб-FTP — сервер | Нет | |
Служба FTP | Веб-FTP — служба | Нет | |
Расширяемость FTP | Web-FTP-ext | Нет | |
Средства управления | Веб-управление — средства | Нет | |
Совместимость управления IIS 6 | Веб-управление-совместимость | Нет | |
Совместимость метабазы IIS 6 | Web-Metabase | Нет | |
Инструменты для работы со сценариев IIS 6 | Web-Лгци — создание сценариев | Нет | |
Совместимость с WMI IIS 6 | Веб-WMI | Нет | |
Сценарии и средства управления IIS | Веб-сценарии — средства | Нет | |
Служба Management Service | Веб-управление — служба | Нет | |
Службы WSUS | Подключение WID | UpdateServices-WidDB | Нет |
Службы WSUS | UpdateServices-Services | Нет | |
SQL Server Установлен | UpdateServices-DB | Нет |
В службе AD балансировка загрузки осуществляется автоматически на стороне сервера благодаря разделению процессов обнаружения контроллеров домена и подключения к ним. Но служба LDS является всего лишь каталогом LDAP и поэтому не имеет встроенных механизмов балансировки собственной загрузки, несмотря на широкие возможности репликации. Поэтому, вместо того чтобы постоянно ожидать отказа экземпляра LDS, вы можете задействовать службу Microsoft Network Load Balancing (NLB) для реализации механизма балансировки загрузки. В данной статье я подробно опишу 6 шагов, с помощью которых можно быстро организовать и запустить балансировку нагрузки серверов LDS
Служба каталогов Active Directory Lightweight Directory Services (AD LDS) упрощает развертывание каталогов приложений в организациях, не подвергая дополнительному риску корпоративный лес AD. Одновременно с ростом популярности AD LDS сформировалась потребность в масштабируемости экземпляров данной службы и в обеспечении высокого уровня доступности. Служба LDS построена на основе кода, использованного для создания AD, поэтому она имеет идентичные механизмы репликации и характеристики производительности, однако некоторые правила, обеспечивающие высокий уровень доступности, неприменимы к экземплярам LDS.
. Но сначала давайте познакомимся с основами службы NLB.
Служба Network Load Balancing
Служба NLB, встроенная в платформу Windows Server, предоставляет базовые возможности кластеризации для сетей, работающих по протоколу TCP/IP, не используя для этого общие ресурсы. Служба NLB не обеспечивает согласованности данных на узлах кластера. Если данные динамически изменяются, то для их синхронизации необходимы другие средства. Поэтому служба NLB обычно используется для хранилищ статических данных, например для обслуживания фермы веб-серверов, подключенной к серверной базе данных. Вы можете задействовать NLB и для обслуживания хранилищ с динамическим содержимым, но в этом случае служба NLB передает всю ответственность за синхронизацию данных на узлах механизмам сервера. Служба LDS идеально подходит под данную схему, так как встроенные механизмы репликации позволяют ей выполнять синхронизацию данных.
При настройке службы NLB вы задаете виртуальное имя и IP-адрес. Этот адрес является общим для всех узлов, входящих в кластер NLB. Балансировка загрузки выполняется на основе портов, поэтому вы можете выполнять балансировку работы нескольких служб с различными параметрами на одних и тех же узлах. Также можно установить «вес» и приоритет узла в кластере, чтобы обеспечить приоритетное использование оборудования с более высокой производительностью. При подключении клиента к набору серверов LDS, объединенных в кластер с помощью службы NLB, используется виртуальное имя или IP-адрес. Служба NLB, запущенная на каждом узле кластера, определит, какой из серверов фермы ответит клиенту. Принцип работы службы NLB на верхнем уровне показан на рисунке.
|
Рисунок. Схема работы NLB |
Шаг 1. Планирование конфигурации NLB
Прежде чем начать установку службы NLB, необходимо будет принять несколько решений, определяющих схему работы службы NLB с фермой серверов LDS. Выбор решений на начальном уровне поможет минимизировать количество проблем, с которыми вы столкнетесь в ходе внедрения службы NLB. Если вы уже используете службу LDS и хотите просто распространить механизмы балансировки загрузки на дополнительные серверы, планирование снизит риск остановки механизмов LDS при установке служб NLB.
Для начала нужно определить параметры кластерной сети. Необходимо задать IP-адрес кластера — каждый узел кластера будет прослушивать обращения по этому адресу. Кроме того, необходимо указать имя кластера, которое клиенты будут использовать для обращения к службе каталогов. Хоть и это звучит тривиально, назначение имени хоста — важный шаг, в частности если вы планируете использовать протокол SSL. При получении серверного сертификата для узлов LDS сертификат должен содержать общее имя кластера вместо имени отдельного сервера. Если это требование не будет соблюдено, вы столкнетесь с ошибкой имени сертификата, поэтому необходимо назначить имя кластера до того, как будет выполнен запрос на получение сертификата проверки подлинности сервера.
Далее необходимо выбрать режим работы кластера. Есть два варианта: одноадресный, unicast, или многоадресный, multicast. При использовании службы NLB каждый узел кластера будет принимать трафик, направленный получателю, IP-адрес или имя которого совпадает с адресом и именем кластера. Это объясняется тем, что служба NLB назначает кластеру уникальный MAC-адрес. Каждый узел кластера прослушивает трафик, направленный по данному MAC-адресу. Используя встроенный в NLB алгоритм фильтрации, узел принимает решение либо обрабатывать пакет, либо отбросить его. Так как все узлы кластера используют один и тот же алгоритм, пакет в итоге обрабатывается только одним узлом. При выборе режима работы кластера вы определяете алгоритм «прослушивания» узлами кластера пакетов, направленных по МАС-адресу кластера. При использовании режима unicast система подменяет МАС-адрес сетевой карты узла МАС-адресом кластера. То есть все узлы кластера LDS имеют один и тот же MAC-адрес. Каждый узел продолжит обрабатывать запросы клиентов, однако узлы LDS не смогут обмениваться информацией друг с другом, если только в них не установлена вторая сетевая карта. Без второй сетевой карты репликация службы LDS выполняться не будет. Однако при работе в режиме multicast сетевая карта сохраняет свой исходный МАС-адрес и получает дополнительный МАС-адрес многоадресной рассылки. В данной конфигурации узлы кластера могут взаимодействовать друг с другом без дополнительной сетевой карты. В большинстве случаев беспроигрышным вариантом будет использование режима multicast, но важно убедиться, что ваш коммутатор может преобразовывать одноадресные IP-адреса в МАС-адреса многоадресной рассылки.
Затем необходимо определить, сколько сетевых адаптеров будет установлено на каждом узле. К данному вопросу можно подойти с разных сторон: если вы решите работать с кластером в режиме unicast, вам понадобится дополнительная сетевая карта, чтобы обеспечить возможность взаимодействия между собой узлов LDS. С другой стороны, дополнительный сетевой интерфейс может повысить производительность. Одна сетевая карта будет обслуживать кластер, а дополнительная будет использоваться для обработки остального сетевого трафика, например для решения задач репликации и резервного копирования.
Наконец, необходимо обдумать «близость клиентов». Прежде чем клиенты смогут обращаться к каталогу LDS, сначала они должны создать привязку к нему, необходимую для установки соединения и предоставления учетных данных. При использовании схемы с несколькими серверами LDS, для которых осуществляется балансировка загрузки, возникает вероятность того, что клиенты, используя имя кластера, создадут привязку к одному серверу, а их последующие запросы LDS будут перенаправлены к другому узлу кластера. Проблема в том, что клиент будет авторизован лишь на том сервере, к которому он привязан, а не на том, к которому он обращается. Если включена функция «близость клиентов», система следит за тем, чтобы клиент всегда использовал один и тот же узел кластера. У функции «близость клиентов» доступно три режима: None, Single и Network.
Выбор режима None не обязательно означает, что сетевые соединения будут взаимодействовать с различными узлами кластера. Метод расчета параметра «близости» в режиме None выбирается на основе IP-адреса клиента и используемого клиентом исходного порта. Поэтому, если вы используете средство, подобное службе LDP (ldp.exe) для проверки «близости», используемый порт не меняется вплоть до отключения от каталога и повторного подключения. В рамках сессии LDAP используется один и тот же узел LDS, но данная схема подходит не для всех клиентов, работающих по протоколу LDAP. При использовании режима Single алгоритм выбора узла LDS будет учитывать только IP-адрес клиента. Таким образом, один и тот же клиент будет использовать один и тот же сервер до тех пор, пока не изменится IP-адрес клиента. При выборе режима Network система не учитывает ни IP-адрес клиента, ни исходный порт. Вместо этого используется схема, в которой каждый клиент, представляющий одну и ту же подсеть, будет обращаться к одному и тому же узлу LDS. Вы можете применять данный метод для реализации географического принципа балансировки загрузки на своем кластере.
Шаг 2. Запуск службы LDS
Следующий шаг в развертывании фермы LDS — отладка службы LDS без взаимодействия с механизмами NLB. Установите и настройте сетевые адаптеры, после чего запустите службу LDS и убедитесь в ее корректной работе, но повремените с установкой серверных сертификатов. Желательно иметь по крайней мере один запущенный реплицированный экземпляр. Руководство по корректной установке и настройке можно найти в статье Microsoft «AD LDS Getting Started Step-by-Step Guide» по адресу technet.microsoft.com/en-us/library/cc770639.aspx. Примените средство, подобное LDP или ADSIEdit (adsiedit.msc), на клиентских машинах и убедитесь, что вы можете независимо подключиться к каждому из серверов LDS и что реплицируемые данные на обоих серверах совпадают.
Шаг 3. Установка службы NLB на все узлы
Теперь все готово к установке службы NLB на каждый из серверов LDS, содержащих реплику экземпляра каталога. Существует два способа установки службы NLB в системе Windows Server 2008: через графический интерфейс или из командной строки. Для установки службы NLB через графический интерфейс используйте инструмент Server Manager. Выберите элемент Features в дереве консоли и щелкните мышью на кнопке Add Features в основной части окна. В мастере Add Features Wizard установите флажок для параметра Network Load Balancing и нажмите на кнопке Install. Помните, что необходимо установить службу NLB на каждый сервер LDS, входящий в кластер.
Для установки службы NLB на узлы LDS также можно использовать командную строку. Чтобы запустить установку, выполните команду:
servermanagercmd -install nlb
Шаг 4. Создание кластера NLB
После того как служба NLB будет установлена на все узлы, вы можете использовать один из серверов для создания кластера. Запустите средство Network Load Balancing Manager из меню Administrative Tools или выполните команду Nlbmgr.
Окно NLB Manager состоит из трех частей. В левой панели вы увидите список всех кластеров NLB, к которым существует подключение. Правая панель содержит информацию о выбранном кластере или узле. Нижняя часть окна содержит журнал, отображающий последние выполненные операции.
Запустите мастер New Cluster, выбрав пункт New в меню Cluster. Для начала необходимо подключиться к первому добавляемому в кластер серверу LDS.
Диалоговое окно Host Parameters, показанное на экране 1, регулирует индивидуальные параметры добавляемого узла. Параметр Priority позволяет задать для каждого узла уникальный идентификатор; узел с самым низким приоритетом будет обрабатывать все пакеты, для которых не определены правила для портов (мы обсудим их позже). Если у вас установлено несколько сетевых карт, вы должны убедиться что IP-адрес, указанный в данном окне, не совпадает с IP-адресом, используемым кластером. Если установлен один сетевой адаптер, вы увидите, что IP-адреса, присвоенные этой карте, будут отображаться в данном окне под заголовком dedicated IP addresses.
|
Экран 1. Добавление сервера в кластер |
В диалоговых окнах Cluster IP Addresses и Cluster Parameters (экран 2), необходимо указать IP-адрес и имя, определенные на шаге 1. Здесь можно выбрать режим работы кластера. При выборе режима multicast вы увидите, что МАС-адрес изменится с адреса одноадресной рассылки на адрес многоадресной рассылки. На экране 2 видно, что МАС-адрес изменился с 02 bf-0a-00-00-92 на 03 bf-0a-00-00-92.
|
Экран 2. Указание параметров кластера |
И наконец, необходимо задать правила для портов, используемые службой кластерного каталога. Правила для портов указывают кластеру NLB, какие порты необходимо «прослушивать». По умолчанию все порты являются кластерными, но вы можете создать более жесткие правила, ограничив «область прослушивания» лишь TCP-портами для клиентского доступа (экран 3). Необходимо создать отдельное TCP-правило для каждого порта LDAP. По умолчанию служба LDS использует порт 389 для незашифрованных запросов LDAP и порт 636 для запросов с SSL-шифрованием, при условии что данные порты уже не задействованы службой каталогов. В противном случае при установке экземпляра каталога вам будет предложено задействовать другие порты. Так как правила для портов распространяются только на обмен с узлом, имеющим МАС-адрес кластера, использование конфигурации по умолчанию (все порты — кластерные) никак не повлияет на процессы репликации службы LDS и соединения между серверами. Но помните, что все порты, для которых не применяется ни одно правило, управляются узлом, имеющим самый низкий приоритет.
|
Экран 3. Правила для портов |
Шаг 5. Установка сертификата SSL
Отладка механизма шифрования SSL в реплицируемом экземпляре LDS, для балансировки загрузки в котором используется служба NLB, — процесс достаточно сложный. При установке сертификатов необходимо учитывать три фактора. Во первых, как упоминалось ранее, в сертификате проверки подлинности сервера должно быть указано имя кластера, а не имя сервера. Если для подключения к отдельным узлам планируется использовать их собственные имена, то вы можете применить дополнительное имя субъекта (SAN) для обращения к узлу или групповые сертификаты. Во вторых, сертификат должен быть установлен в хранилище личного сертификата той учетной записи, от имени которой работает служба LDS. Важно убедиться в том, что хранилище личного сертификата для данной учетной записи на каждом сервере LDS содержит только сертификат проверки подлинности сервера и ничего более. Для добавления сертификата в нужное хранилище можно использовать следующий подход.
- Запустите оснастку Certificates консоли Microsoft Management Console (MMC). При загрузке оснастки выберите вариант «Управление сертификатами учетной записи службы» (Service Account).
- В появившемся списке служб выберите службу, соответствующую тому экземпляру LDS, для которого настраивается балансировка загрузки.
- Щелкните правой кнопкой мыши на узле Personal для учетной записи службы и в контекстном меню выберите пункт All Tasks->Import.
В конце вам необходимо предоставить службе LDS право на чтение сертификата в хранилище. Например, если для управления службой LDS в системе Windows Server 2008 используется учетная запись Network Service, необходимо предоставить ей право на чтение папки %PROGRAMDATA%MicrosoftCryptoRSAMachineKey (экран 4).
|
Экран 4. Разрешения для учетной записи Network Service. |
Шаг 6. Добавление узлов в кластер
После завершения настройки кластера NLB, состоящего из одного узла, вы должны иметь возможность свободно обращаться к службе каталогов, используя имя кластера и IP-адрес. Осталось только добавить остальные серверы LDS в состав кластера NLB. Если вы используете шифрование SSL, не забудьте импортировать сертификат в нужное хранилище и настроить разрешения для папки на всех добавляемых в кластер узлах.
Надежность и отказоустойчивость
Итак, мы получили функционирующий кластер NLB. Теперь можно использовать различные инструменты для тестирования подключений LDAP к службе каталогов со стороны клиентов. Внедрив механизмы кластеризации NLB в реплицируемый экземпляр LDS, вы повысите надежность каталога LDS и добавите дополнительный уровень отказоустойчивости в практически безупречную службу каталогов.
Кен Сен-Сир (ken.stcyr@microsoft.com) — архитектор решений компании Microsoft с более чем 10 летним опытом работы. Имеет сертификат Microsoft Certified Master in Directory Services
MCSE 70-293: Implementing Windows Cluster Services and Network Load Balancing
Martin Grasdal, … Dr.Thomas W. ShinderTechnical Editor, in MCSE (Exam 70-293) Study Guide, 2003
Making Network Load Balancing Part of Your High-Availability Plan
- ☑
-
NLB is used to increase availability for applications that service TCP/IP traffic only. Other protocols are not supported.
- ☑
-
Individual servers in an NLB cluster are called hosts.
- ☑
-
NLB clusters determine their operating state through a process called convergence.
- ☑
-
NLB clusters can be administered from with a graphical tool (NLB Manager) or a command-line tool (NLB.exe). The graphical tool is more secure.
- ☑
-
An NLB cluster does not require multiple network adapters in each host, although this is recommended.
- ☑
-
NLB provides no additional security features and requires more stringent security practices than do stand-alone servers.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B9781931836937500130
Organizational and Operational Security
Derrick Rountree, in Security for Microsoft Windows System Administrators, 2011
Windows Network Load Balancing
Windows Network Load Balancing (Windows NLB) is a feature built into Windows Server 2008 R2. Windows NLB allows for load balancing and fault tolerance. With Windows NLB, you have multiple systems online processing requests. Each system has its own IP address, but it shares a second IP address called a virtual IP. When a network request is sent to the virtual IP, Windows NLB will automatically load balance the request between the servers. If one of the servers goes down, the requests are sent to the remaining online servers. Windows Network Load Balancing does not require any special hardware other than a network card that supports the feature. You do have to make sure that the application being served supports load balancing and determine what type of load balancing it supports.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B9781597495943000053
Windows Server 2008 R2 high-availability and recovery features
Dustin Hannifin, … Joey Alpern, in Microsoft Windows Server 2008 R2, 2010
Network Load Balancing Clusters
NLB is the second type of HA service offered by Windows Server 2008 R2. Load balancing clusters can offer HA features to traditional front-end services such as IIS-based Web sites. NLB Clusters work in a very similar fashion as hardware-based network load balancers in that they distribute traffic between multiple servers that are members of the cluster. In the event that a server fails, NLB will direct traffic only to online servers, skipping the failed server. NLB Clusters not only provide HA services but also balance traffic between all servers in the cluster ensuring that the load is evenly distributed. This also provides an easy way to scale front-end systems. For example, you might have two web servers in a NLB Cluster. Suppose the load on those servers becomes heavy and the Web site performance decreases dramatically. You notice that load is using all of the CPU resources on both web servers. You could simply add a third node to the cluster providing additional resources. The network traffic would then be distributed across three servers opposed to two. Figure 9.2 depicts a typical network load balanced cluster.
Figure 9.2. Three-node Network Load-Balanced Cluster.
Best practices
Change management
Even with HA and recovery technologies, you should always follow good change management processes when making changes to any, and especially mission critical systems. Be sure that you document any configuration changes to production systems, and if your organization requires, get proper approval before making changes. Even with HA technologies, misconfigurations can easily bring business services offline and cause helpdesk phones to start ringing.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B9781597495783000098
Publishing Exchange 2007
Fergus Strachan, in Integrating ISA Server 2006 with Microsoft Exchange 2007, 2008
Notes on Unicast and Multicast
An NLB cluster must be configured as either unicast or multicast. The main difference is in the way MAC addresses are implemented.
-
Unicast Each node uses a shared virtual MAC address for listening to inbound traffic, corresponding to the cluster rather than the node (which has its own MAC address). This can cause a problem because with two or more servers connected to a switch with the same MAC address, the switch no longer knows where to send the packets destined to that MAC, so it falls back to hub-type behavior and sends the packet to every port on the switch. This can cause switch flooding, and means that the nodes cannot talk to each other unless you configure an additional NIC specifically for inter-node communication (Figure 4.51).
Figure 4.51. Two Servers with the Same MAC Address Present a Problem for the Switch
-
Multicast Each node is given an additional MAC address for its NIC, so they end up with their real MAC and an NLB-generated one. With multicast, you can create static ARP entries in the switch so that packets are sent only to the members of the cluster, which prevents the switch flooding from happening.
Solutions to switch flooding:
- ▪
-
Using unicast, the cluster members can be attached to a hub hanging off the switch. This way, the switch has a one-to-one mapping for MAC to IP address and sends traffic only to the port associated with the hub.
- ▪
-
Use multicast and create static ARP entries/mappings so the flooding happens only on the ports associated with the cluster (which is, after all, the intended behavior).
- ▪
-
Use IGMP on the routers (and network cards).
These additional methods have been suggested as well, although success may depend on the behavior of the switch hardware itself:
- ▪
-
Use port mirroring (Switched Port Analyzer in Cisco terms), which is a function of a switch where traffic destined to a port is also sent to a second port, usually for analysis such as packet sniffing. This would require some tampering of the MAC mappings to avoid switch confusion and therefore switch flooding.
- ▪
-
Configure a VLAN and configure all the cluster traffic to travel over the VLAN and not the entire switch(es).
There is a lot of confusion and incorrect information out there regarding NLB, pretty much all of it to do with the network cards and network traffic. Often, when installing an NLB cluster, people will take the same approach as with an MSCS cluster—with these clusters, there is a main LAN network card (NIC) for the LAN traffic, and a secondary NIC for the heartbeat traffic that lets each node know that the other is still there and responding. In MSCS, you specify what traffic is to run across which NIC, so typically the heartbeat NIC is for heartbeat traffic only, and the main NIC is for LAN traffic and heartbeat as well (for resilience).
Best practice dictates that in an NLB cluster you should, generally speaking, add a secondary NIC so the nodes can communicate with each other. So, taking the configuration we have in an MSCS cluster and translating it to an NLB cluster, we get a configuration such as shown in Figure 4.52. Here we have essentially done the same, networking-wise, as you would when creating an MSCS cluster. The two NICs on the main subnet (192.168.7.x) have been joined to form the cluster address (192.168.7.155), with a second subnet added (10.0.0.x) for the heartbeat connection. The idea is that, just like in a server cluster, the inter-node traffic runs across the dedicated heartbeat NIC.
Figure 4.52. Dual-NIC NLB Cluster
Now let’s turn this idea on its head somewhat. When you configure an NLB cluster in Windows Server 2003, there is no place to specify traffic settings in the same way. In fact, the heartbeat communication within an NLB cluster is actually a broadcast from the NLB-enabled NIC. What does this mean? If you implement the system in Figure 4.52, you’re wasting two network cards. The cluster won’t use the “heartbeat” connection in this case. There is no way to control which traffic goes across which NIC, only the binding order of the NICs, which we will come to later. Try setting up this configuration—run it for a while using OWA sessions etc., and then check out the Status page for the heartbeat NIC. We doubt it will have seen much action.
Note
As a general rule, when writing this book we didn’t want to write step-by-step instructions on how to set things up, because there is a wealth of information out there on sites such as isaserver.org and msexchange.org. However, this area seems to be woefully lacking in clear instruction, so in this case we’ll go through the exact configuration of the cluster.
NLB clusters should always be configured using two network cards in each host. NICs are cheap, and it’ll save you some hassle doing it this way. Servers want to talk to each other, and setting up a single-NIC cluster where the nodes can’t communicate just causes pain. Now, let’s look at what traffic travels across each NIC.
The first card we will call “frontend,” the second “backend.” Frontend is the card that hosts the NLB services, so the front-end network is the NLB-enabled network across which flows the incoming traffic toward the cluster IP address. The backend network hosts traffic between servers. This is to say, compared to an MSCS cluster network, the heartbeat and LAN traffic swap places!
Let’s assume you are starting from the point of two individual, single-NIC servers with which you want to create the NLB cluster. These NICs have the addresses:
-
LW-CAS1 192.168.7.151/24
-
LW-CAS2 192.168.7.152/24
At present, these cards host all of the domain traffic between the servers and other hosts on the network. They are also registered in DNS, so another host looking for “LW-CAS1” finds 192.168.7.151. It’s easier to have things remain this way, so these cards will handle the main LAN traffic.
Now we introduce the second cards, which will be on the “frontend” network and will host the cluster IP address, not the existing cards. The frontend network will host traffic coming in to the cluster and cluster heartbeat traffic. Figure 4.53 shows the optimal configuration for our NLB cluster.
Figure 4.53. Our Optimized Network Load Balancing Cluster
Let’s take the frontend network first. The frontend network cards are assigned a dedicated IP address (DIP) and the cluster IP address. (The front-end NICs on both nodes each have the cluster IP address, but this apparent clash is taken care of by the NLB service.) The DIPs are only used for hosting the cluster address. The frontend network cards’ configuration should look like Figure 4.54.
Figure 4.54. The Frontend NIC has an Address Only
The IP address and subnet mask are the only settings configured on this network. There are no default gateway, DNS, or WINS settings. Network load balancing is enabled, however, and this is hosting the cluster address.
The backend network is where most of the action happens. This NIC is configured exactly as it was before you even considered putting an NLB cluster on the box. The IP address is registered in DNS (and perhaps WINS), and the gateway and DNS server settings populated. In addition, this NIC is sitting at the top of the network bindings list, so outgoing traffic will go through this network.
To set up the two-node NLB cluster.
- 1
-
Configure two network cards in each node. These should be named “backend” and “NLB” and should be configured as follows:
Node1 (LW-CAS1) Node2 (LW-CAS2) NIC Backend NLB Backend NLB IP Address 192.168.7.151 192.168.7.157 192.168.7.152 192.168.7.157 Mask 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0 Gateway 192.168.7.1 192.168.7.1 DNS Servers 192.168.7.150 192.168.7.150 Register in DNS? Yes No Yes No - 2
-
Set network binding order. In Advanced Settings under the network properties, make sure “backend” is at the top of the Adapters and Bindings list (Figure 4.55).
Figure 4.55. Backend Is the Primary NIC
- 3
-
Enable NLB. On LW-CAS1, go to the properties of the NLB network card (frontend), enable NLB, and go to its Properties page. Remember, this is the second card we’ve added to the node. Enter an IP address for the cluster of 192.168.7.155, mask of 255.255.255.0, and the cluster address of nlbcluster.lochwallace.com. The dedicated IP address should be 192.168.7.156 (the primary address of this NIC). Go to the Internet Protocol (TCP/IP) Properties page and add the cluster IP address (192.168.7.155) as a second IP address on that NIC. (Note: The cluster address must be the second address in the list.) (Figure 4.56.)
Figure 4.56. Enable NLB
- 4
-
Check NLB status. Open Network Load Balancing Manager. Go to Cluster and Connect to Existing. Enter 192.168.7.156, select the cluster, and then click Finish.
In the main NLB manager page, wait until LW-CAS1(frontend) shows the status “converged.” Right-click the cluster name and select Add host to cluster. Enter 192.168.7.152, and then select the NLB interface (192.168.7.157). It is important to attach to LW-CAS2 using the backend IP address, because if you use the frontend address you will experience connection problems and the cluster may not form properly. Make sure the IP address is 192.168.7.157, the correct mask, and that Default State is Started, and then click Finish. NLB Manager should look like Figure 4.57.
Figure 4.57. Both Nodes Have Converged and Are Working Happily
- 5
-
Configure port rules. In NLB Manager, right-click the cluster and select Cluster Properties. Go to the Port Rules tab and select the ports you want to cluster. In this case, add port 443 and set the affinity to Single, as in Figure 4.58.
Figure 4.58. Configuring the Ports for NLB to Manage
- 6
-
Register the cluster in DNS. The cluster doesn’t dynamically register itself in DNS so we have to do this manually. Create a DNS host record on one of your domain DNS servers corresponding to nlbcluster.lochwallace.com and 192.168.7.155.
- 7
-
Check that traffic is coming in the front and out the back. There are many ways to check where traffic is coming from and to. A simple way is to use “netstat –an” on the backend cluster. Log on to any other server on the LAN and establish an OWA connection to the cluster address. On the active cluster node, run “netstat –an” and check with which servers it has TCP/IP connections. You’ll notice that the traffic is coming from the c address.
We now have a working, optimal NLB cluster, making use of both NICs.
-
Additional: There is a welcome by-product of this configuration, where the incoming traffic goes to the cluster IP and outgoing goes out the backend single network cards—one way to avoid switch flooding on the NLB network is to plug these NICs into a hub, and the hub into a switch. It’s uncommon, however, to see gigabit hubs, so this could pose a speed problem in some cases. However, because typically the request traffic is much lower in volume than the response traffic, you will find less load on that network than on the backend, so you’re more likely to get away with having a lower-speed hub.
In comparison to Network Load Balancing in Windows NT/2000 where you can create only a single virtual server, Windows Server 2003 allows you to create multiple virtual IP addresses/virtual servers and assign ports to any of those. For most publishing scenarios, this isn’t necessary, but if you want to provide more HTTPS services with different affinity types, for example, this can be done using two virtual IP addresses.
There is quite a bit of technical information on NLB clusters in the Windows Product Help. Unfortunately, it is all rather theoretical and doesn’t go into how to configure an NLB cluster. It does, however, allude to the kind of setup detailed previously. Go to the Windows Help and Support Center, open the page titled “Multiple Network Adapters,” and read “Multiple network adapters in unicast mode.” If this kind of thing really floats your boat, you can read some very technical information about it at the Windows Server 2003 Technical Reference site (http://tinyurl.com/24pywr).
Designing & Implementing…
Network Card Teaming and NLB
It is common to team network cards in servers to provide component fault tolerance and traffic load sharing/balancing. Vendors such as HP provide utilities to manage network teams for their cards, and they work by often over-writing the MAC address of each network card. Since this is also what unicast network load balancing does, the two need to be compatible—the network card driver should be NLB-aware, essentially. If you normally team network cards for resilience, it is a good idea to do this for your NLB clusters as well, but make sure it doesn’t clash with the teaming software and drivers.
Now that we’ve detailed the basic NLB cluster, let’s look at how we might go about load balancing the various aspects of Exchange Server 2007 from a publishing perspective.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B9781597492751000047
Hyper-V and high availability
Thomas Olzak, … James Sabovik, in Microsoft Virtualization, 2010
Making virtual machine services available
Another advantage that NLB clustering VMs provides you is the ability to make your services highly available—NLB can be used within a single host, or across multiple hosts, to provide service availability. In addition to load balancing, NLB allows member nodes to be removed from the cluster for maintenance or in case of failure. VMs that are nodes in a fail-over cluster through the NLB feature gain HA for their workloads in the following scenario: Virtual machine maintenance. If the virtual machine requires updating or other forms of maintenance, the workload can be transferred to another VM on the host, or on a different host.
- ▪
-
Host machine maintenance. If the physical machine requires maintenance or repair, the workload of all of that host’s virtual machines can be relocated.
- ▪
-
Workload health monitoring. Windows Server Fail-over Cluster can monitor certain resources within the VM to ensure the VM is running correctly. If the resource fails the check, it can be restarted or moved to another VM/host.
- ▪
-
Host or virtual machine failure. In the case of a machine failure, the workload can be transferred to VMs on another host.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B9781597494311000060
Stalking the Competition: How ISA 2004 Stacks Up
Dr.Thomas W. Shinder, Debra Littlejohn Shinder, in Dr. Tom Shinder’s Configuring ISA Server 2004, 2005
High Availability
High availability refers to the product’s ability to recover from a failure with minimal or no downtime for the network and its users. The Windows Server 2003 Network Load Balancing (NLB) service supports high availability NLB arrays. If one member of the ISA Server 2004 NLB array becomes unavailable, another machine in the NLB array can service requests for inbound and outbound connections. This provides fault tolerance in case of hardware or software problems that put one of the servers out of commission.
Third-party vendors can augment the Windows NLB service with their own custom software solutions. There are also a number of hardware vendors that provide high-speed application layer-aware high-availability solutions for ISA Server 2004 firewalls.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B9781931836197500101
MCSE 70-293: Planning, Implementing, and Maintaining a High-Availability Strategy
Martin Grasdal, … Dr.Thomas W. ShinderTechnical Editor, in MCSE (Exam 70-293) Study Guide, 2003
Internet Fault-Tolerance Solutions
Many of the Internet fault-tolerance solutions are the same as general network fault-tolerance solutions, but there are a few extra considerations. Network Load Balancing (NLB) is a set of features included with all versions of Windows Server 2003 that can increase the redundancy, performance, and availability of Web sites. NLB allows multiple Windows Server 2003 Web servers to share and distribute the load of serving Web pages and other network-based applications. NLB is discussed in Chapter 9.
Most medium and large networks access the Internet through a proxy server. A proxy server is a server that accesses the Internet on behalf of a requesting client, caches the results, and then passes the requested pages back to the client. Subsequent requests are then served from cache, and actual traffic to the Internet is reduced. This can increase the performance for clients when accessing Web pages. Some proxy servers also add security and other features. If your environment includes a proxy server, consider building redundancy into it. A secondary proxy server may be in order.
The actual communication circuits and Internet Service Providers (ISPs) are other potential points of failure. It is common for large companies and organizations to have multiple WAN circuits and even multiple circuits to more than one ISP. This increases cost but also reduces the likelihood of a communications failure usually outside your control.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B9781931836937500129
Configuring Network Services
Tony Piltzecker, Brien Posey, in The Best Damn Windows Server 2008 Book Period (Second Edition), 2008
Using Server Core for WINS
Installing a feature in Windows Server 2008 Server Core is basically the same as adding a role. In this section, we are going to walk though the setup of the feature, as well as set the role to start automatically.
As you know from Chapter 1 of this book, very few roles can be installed as part of Windows Server 2008 Server Core. However, many features can be installed, including:
- ▪
-
Failover Cluster
- ▪
-
Network Load Balancing
- ▪
-
Subsystem for Unix-based applications
- ▪
-
Multipath IO
- ▪
-
Removable Storage Management
- ▪
-
BitLocker Drive Encryption
- ▪
-
Backup
- ▪
-
Simple Network Management Protocol (SNMP)
- ▪
-
WINS
Obviously, at this point in this book, we are only focusing on WINS. So, let’s take a look at how to install the WINS feature and start the service:
- 1
-
At the command line, type start /w ocsetup WINS-SC.
- 2
-
When installation completes, type sc query WINS or NET START to verify that the WINS service is running.
- 3
-
If the service is not running, type sc start WINS.
- 4
-
We can also verify that the service will start automatically by typing sc config WINS start= auto.
Generally speaking, management of WINS will occur via the GUI from another Windows Server. However, a number of command-line management options exist for WINS. Essentially, most of the management will be through the netsh tool, which we used earlier for setting IP information. To learn more about these commands, visit http://technet2.microsoft.com/WindowsServer/en/library/430701f0-743a-4af5-9dd6-95c5c2f956531033.mspx.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B978159749273700001X
Exchange Server 2007 Failover Clustering
Pierre Bijaoui, Juergen Hasslauer, in Designing Storage for Exchange 2007 SP1, 2008
Windows Clustering Solutions
Clusters are multiple computers that appear to users as a single highly available system. The concept was introduced by Digital Equipment Corporation (DEC) in the 1980s with the VAXCluster. The objective was a “no single point of failure” configuration. If one component fails, another component takes over the responsibility, and the service offered by the cluster should not be affected from an end-user point of view. This principle is very important if you design a WFC.
Microsoft provides three clustering solutions. The first, referred to as WFC, supports the failover of a service or application to another node in the cluster if the node currently hosting the application fails. WFC can be used to provide highly available mailbox servers.
Another form of clustering in Windows is called Network Load Balancing (NLB). The service provided by a NLB cluster is accessed using the Internet protocol (IP). You can use NLB to combine multiple web servers to a web farm. End users cannot differentiate which server of the web farm is processing their request. NLB increases the scalability of a service. If the user load increases, you can scale the NLB solution by adding more servers to the NLB cluster. In Windows Server 2003, NLB is horizontally scalable up to 32 nodes. NLB is suitable for services that are state-less. Alternative solutions are DNS round robin or hardware-based load balancers such as the BIG-IP series from F5 Networks. An issue with NLB is that traditionally it has not been aware of session state, which made it a very poor candidate for front-end servers in Exchange Server 2003. Only the CAS role of an Exchange Server 2007 Release to Manufacture (RTM) deployment could take advantage of NLB. Starting with Exchange Server 2007 SP1, you can use NLB for the HT role. Now you can provide highly available inbound SMTP connections for line-of-business applications that submit mails to Exchange.
Microsoft introduced the Windows Compute Cluster Server (CCS) with Windows Server 2003. A CCS combines multiple-commodity x64 computers to provide a High-Performance Computing (HPC) solution. The aim of CCS is to provide supercomputing power to the workgroup level in a familiar Windows-based environment. The target market for CCS is, for example, computer-aided engineering or geoscience used in performing simulation and modeling tasks. The successor to CCS is called Windows HPC Server 2008. Exchange does not require this kind of number-crunching performance and has more IO-related demands. CCS cannot be used for Exchange deployments.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B9781555583088000065
SQL Server 2000 Overview and Migration Strategies
In Designing SQL Server 2000 Databases, 2001
Overview of SQL Server 2000: A .NET Enterprise Server
In September 2000, Microsoft officially announced its .NET Enterprise Server line and its commitment to .NET as Microsoft’s application architecture model. The fundamental goal behind this new release of the company’s popular server product line, now labeled .NET Enterprise Servers, is to provide simplified management, scalability, and availability throughout the enterprise, meeting the application goals of every organization and offering extensive support for .NET applications. SQL Server 2000 is the first .NET Enterprise Server available for public implementation and offers the data storage and management component of .NET services as well as a peek into the Microsoft’s vision of .NET application capabilities.
Before we can see where the future will take us, it’s always good to understand exactly where things came from. Microsoft SQL Server was first released as version 6.0 soon after Microsoft purchased and modified the code base to SQL Server from Sybase Corporation in 1995. Through version 6.5, released in 1996, SQL Server was accepted mainly as a departmental-scale database management system (DBMS) and lacked much of the scalability and reliability of enterprise-class solutions offered by companies such as Oracle and Informix. Administration of the SQL Server 6.0 and 6.5 products required knowledgeable SQL Server database administrators committed to monitoring server availability, activity, and performance. For SQL Server to have the broad market reach that Microsoft aims for in most of its products and to make it a fundamental component in its then-new Windows Distributed interNet Applications (DNA) Architecture Model, Microsoft needed to address the broad range of concerns and downfalls that plagued SQL Server’s acceptance in both large and small organizations. In 1999, after several years of development and complete reengineering, Microsoft released SQL Server 7.0, which offered numerous enhancements in reliability, functionality, administration, security, performance, and scalability and allowed SQL Server to become the most popular relational database management system (RDBMS) in the market, with over 60 percent of all Web databases running on SQL Server by the end of 1999 and 70 percent of the total databases running on the Windows platform.
Soon after Microsoft launched SQL Server 7.0, several enhancements to the product, such as the XML Technology Preview, the OLAP Manager Add-In, and DTS Task Kit as well as two (now common) service pack updates, were released as downloadable additions. With the aggressive schedules and demanding markets that you and I represent, service packs are bound to continue, but all the previous additions and fixes have been refined and included in SQL Server 2000, along with countless enhancements in performance, availability, scalability, programmability, and management. SQL Server 2000 is light years ahead of the days of version 6.0 and is a required upgrade for nearly every SQL Server-based application.
The Future of Windows DNA: Microsoft.NET
In 1997, Microsoft announced the Windows Distributed interNet Applications (DNA) Architecture Model, which laid the foundations for building scalable, Web-based solutions based on Microsoft’s line of servers, technologies, and development tools. Emerging from the popular, two-tier (or client/server) application architecture, DNA presents a distributed n-tier architecture model incorporating Web technologies such as Microsoft’s Internet Information Services (IIS), including Active Server Pages (ASP), standard Web browser software such as Internet Explorer or Netscape Navigator, protocols including HyperText Transfer Protocol (HTTP), and enabling technologies such as Component Object Model (COM) and Data Access (ActiveX Data Objects, OLE DB). Via standard Web browser software, users are allowed access to DNA applications with little if any need for configuration of the client. Application services are centrally managed and delivered from the enterprise for enhanced reliability, scalability, and performance. This popular application architecture model accounted for roughly 40 percent of all secure, transacted Web-based applications built by the end of 1999.
The DNA Architecture Model is logically divided into three layers: Presentation Services, Business Services, and Data Services. Each layer plays a specific role in the application, as depicted in Figure 1.1.
Figure 1.1. The DNA Architecture Model.
The Presentation Services layer encompasses the Web browser and client-side services such as HyperText Markup Language (HTML) to interpret and display Web pages, VBScript, and JavaScript for user input validation, Dynamic HTML (DHTML) for interface enhancements, and Java Applets or ActiveX Components for enhanced client-side functionality. The Business Services layer is responsible for much of the “work” in the application and handles tasks such as processing user input, applying business rules and application logic, validating data in and out of the Data Services layer, and delivering the application to the Presentation Services layer. The third layer of the DNA model is Data Services, which is responsible for storing and managing all types of information, including databases, document storage, e-mail, and directory services data.
Now that you have a basic idea of the principles behind the DNA Model, we can discuss the Windows DNA Platform. The DNA Platform is the collection of software products, technologies, and tools that are used to physically build, host, and manage DNA applications. Having a conceptual model makes the theory of scalable, reliable, Web-based applications understandable, but to make it a reality, you need to be able to actually construct the layers to form your application. The Windows DNA Platform has continued to evolve as Microsoft releases new versions of existing products and adds entirely new product lines to the server, technology, and tools families. Today, the DNA Platform is made up of:
- ■
-
Microsoft Windows NT 4.0/2000 Server
- ■
-
Internet Information Server/Services (IIS4/IIS5)
- ■
-
Message Queue Server (MSMQ)
- ■
-
COM/COM +
- ■
-
Data Access (ActiveX Data Objects, OLE-DB, ODBC)
- ■
-
Security Services
- ■
-
Network Load Balancing
- ■
-
Cluster Services
- ■
-
Microsoft SQL Server 7.0
- ■
-
Microsoft Exchange Server 5.5
- ■
-
Microsoft SNA Server 4.0
- ■
-
Microsoft Site Server 3.0 Commerce Edition
- ■
-
Microsoft Visual Studio 6.0
Before we get into reviewing the responsibilities of each of these components, we should clarify how Windows DNA 2000 fits into all this. Windows DNA 2000 is the short-lived name for what is now called the Microsoft.NET Enterprise Servers. As Windows DNA evolves in to Microsoft.NET as the architecture model for scalable, reliable, Web-based applications and services, the Windows DNA Platform evolves into the .NET Enterprise Servers. The line of .NET Enterprise Servers consists of:
- ■
-
Microsoft Windows 2000 Server Provides operating system and platform services such as storage management, security, Web services, messaging, and network services. Windows 2000 Server includes the following components:
- ■
-
Active Directory Services
- ■
-
Internet Information Services (IIS)
- ■
-
Active Server Pages + (with the release of .NET)
- ■
-
Message Queue Server (MSMQ)
- ■
-
COM +
- ■
-
Data Access (ActiveX Data Objects +, OLE-DB, ODBC)
- ■
-
Security Service
- ■
-
Network Load Balancing
- ■
-
Cluster Services
- ■
-
Microsoft SQL Server 2000 RDBMS offers data storage, management, and analysis services. Provides XML support and Active Directory integration.
- ■
-
Microsoft Exchange Server 2000 Provides messaging and collaboration services such as e-mail, videoconferencing, and instant messaging. Provides Active Directory integration.
- ■
-
Microsoft Host Integration Server 2000 Offers access to legacy systems for information exchange, allowing integration with new technologies.
- ■
-
Microsoft Commerce Server 2000 Provides the services for implementing and managing electronic commerce Web sites on the Microsoft platform.
- ■
-
Microsoft BizTalk Server 2000 Offers the frameworks necessary to facilitate data communications between heterogeneous systems using standards-based formats such as XML.
- ■
-
Microsoft Application Center 2000 Provides the centralized management of distributed applications across multiple servers for scalability and reliability.
- ■
-
Microsoft Internet Security and Acceleration Server 2000 Provides enterprise-class firewall and Web cache for enterprise security and Web access performance.
- ■
-
Microsoft Mobile Information Server 2001 Although not scheduled to be available until 2001, Mobile Information Server supports delivering Wireless Application Protocol (WAP) and HTML to portable devices such as cellular phones and personal digital assistants (PDAs).
- ■
-
Microsoft Visual Studio.NET Provides the tools and languages necessary to build applications using the .NET architecture components. The .NET programming architecture supported by Visual Studio.NET includes VB.NET, Active Server Pages +, ActiveX Data Objects +, and C# as well as C++. Missing from Visual Studio.NET is Visual InterDev. Microsoft Visual Studio.NET will incorporate a cross-language development environment with Web application integration throughout all Microsoft technologies, so the dedicated role of Visual InterDev is no longer necessary for Web programming.
Each of these server applications, technologies, and development tools plays a key role in delivering applications based on .NET. Microsoft has officially labeled .NET its vision for the next-generation Internet. What does all this mean for DNA developers and solutions built on the DNA platform? It means many exciting technology advancements and extensions to the original DNA architecture model.
What .NET is not is a replacement or shift away from the practiced and sound foundations of the DNA Architecture Model. .NET offers enhancements in many of the technologies with which developers currently work within their applications, including new versions of Active Server Pages, called ASP + or Web Forms, and ActiveX Data Objects, called ADO +. Web Forms offer long-overdue validation services and advanced, server-side controls supporting events for building rich HTML-compliant application interfaces. Page logic is now separated from the HTML and compiled for better performance, and a common language runtime will allow developers to choose and mix their preferred languages with complete compatibility. Microsoft’s commitment to Win32 applications continues with Win Forms, the Win32 counterpart to Web Forms. Although the object models between the two are not the same, this unique approach to offering a comparable design model between Web applications and Windows applications will allow developers to migrate between platforms with a comfortable approach to writing code that has a higher level of productivity and developer availability.
All these enhancements are exciting for Web application designers and developers, but there is even more to .NET than the next version of these existing technologies. One of the core principles of .NET is the delivery of Web services to rapidly create powerful applications by integrating available services from within the organization and throughout the Internet. This web of interconnected applications and services is the core of .NET. To accomplish this web, .NET implements abundant use of XML and Simple Object Access Protocol (SOAP). SOAP and XML are both industry-standard technologies, which open the door for heterogeneous system communications. These new services can exist and run on any platform and be used by any application running on the platform of the developer’s choice. Figure 1.2 illustrates the new vision in .NET.
Figure 1.2. The .NET Framework Model.
The .NET Frameworks example extends the principles of DNA by providing integrated use of external services within the application, reducing application development and management time. Features such as Common Language Runtime leverage the broad range of developer skill sets, allowing complete support for mixed-language environments. Exchange of information with business partners and other organizations is possible using industry-standard technologies, XML, and SOAP. The ability even exists to expose and share components of the application with other organizations through Web services. Components such as order entry or product information are made available for integration into business partner systems and remote applications. .NET represents the next generation in distributed, reusable, and shared application architecture models.
So where does this leave SQL Server 2000 in the .NET world? As in nearly all applications, data storage and management are central to application functionality and availability. SQL Server 2000 offers these traditional services and adds compelling new features such as native support for using and delivering XML documents, support for standard Internet protocols such as HTTP and Secure Sockets Layer (SSL) for secure Web access to SQL databases, and OLAP services, along with numerous scalability and performance enhancements. All these together make SQL Server 2000 the sole container of information in your existing DNA and future .NET applications.
Read full chapter
URL:
https://www.sciencedirect.com/science/article/pii/B978192899419050004X