Опубликован: 15.10.2008 | Доступ: свободный | Студентов: 3511 / 739 | Оценка: 4.48 / 4.23 | Длительность: 45:21:00
Лекция 15:

Кластеризация

Вкладка Host Parameters (Параметры хостов)

Вкладка Host Parameters диалогового окна свойств Network Load Balancing Properties содержит опции, которые применяются к рассматриваемому хосту. В этом разделе приводятся указания по конфигурированию этого хост-компьютера (и всех остальных) в кластере. На рис. 15.3 показаны имеющиеся опции конфигурирования вкладки Host Parameters.

Каждый узел NLB-кластера должен иметь уникальный приоритет (Priority), но не обязательно должен иметь выделенный IP-адрес (Dedicated IP Address)

Рис. 15.3. Каждый узел NLB-кластера должен иметь уникальный приоритет (Priority), но не обязательно должен иметь выделенный IP-адрес (Dedicated IP Address)

Priority (Unique Host Identifier) [Приоритет (Уникальный идентификатор хоста)].Это приоритет данного хоста для обработки сетевого трафика по умолчанию для портов TCP и UDP, которые не заданы конкретно во вкладке Port Rules (см. следующий раздел). Приоритет - это уникальное значение, которое используется для слияния в кластере.

Это значение может изменяться в диапазоне от 1 до 32, где 32 - максимальное количество хостов, допустимое для NLB-кластера. Наиболее высокому приоритету соответствует значение 1, и чем больше значение, тем ниже приоритет. Каждый хост в кластере должен иметь уникальный приоритет (идентификатор).

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

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

Dedicated IP Address (Выделенный IP-адрес).Выделенный IP-адрес это уникальный IP-адрес хоста, который используется для сетевого кластера, не связанного с самим кластером. Введите этот адрес в стандартной форме записи с точками для Интернет. Этот IP-адрес используется для индивидуальной адресации каждого хоста, поэтому он должен быть уникальным. В большинстве случаев проще всего использовать исходный IP-адрес, поскольку он является уникальным для данного хоста. Вводите выделенный IP-адрес и маску подсети в виде статического IP-адреса. При работе с NLB в режиме unicast со вторым сетевым адаптером для некластерного трафика обычно оставляют это поле пустым, что означает использование сетевого адаптера со сбалансированной нагрузкой для кластерного трафика. Не забудьте обновить свойства в окне TCP/IP Properties этого сетевого адаптера, чтобы включить только те адреса, которые вы задали в окне NLB Properties этого сетевого адаптера.

Внимание. Выделенный IP-адрес не может быть адресом, полученным от сервера DHCP.

Initial Host State (Начальное состояние хоста).Параметр Default State (Состояние по умолчанию) определяет, следует ли запускать NLB, когда происходит загрузка операционной системы на данном хосте (вариант Started). Иначе хосты могут присоединяться к кластеру и выходить из него с помощью команд управления NLB, запускаемых из командной строки. Это полезно использовать, если имеются другие службы, которые требуется загружать на данном хосте (обычно вручную), прежде чем присоединять хост к кластеру.

Retain Suspended State after Computer Starts (Оставаться в состоянии задержки после загрузки компьютера).В состоянии задержки хост или кластер не выполняет никакой обработки приложений и отвечает только на команды Resume (Возобновить) и Query (Запрос). По умолчанию перезагрузка сервера, где находится задержанный член кластера, вызывает его присоединение к кластеру и возобновление обработки. Если установить этот флажок, то задержанные кластеры остаются в состоянии задержки при перезагрузке сервера.

Правила для портов (Port Rules)

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

Если щелкнуть на кнопке Add (Добавить) или Edit (Правка), то появится диалоговое окно, показанное на рис. 15.5, где вы можете создавать или изменять правила для портов.

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

  • Диапазон портов (секция Port range) TCP или UDP, к которым применяется данное правило.
  • Протокол (секция Protocols), для которого применяется данное правило (TCP, UDP или оба протокола).
По умолчанию правило для портов предусматривает вариант Single для родственности и равномерную нагрузку по всем портам TCP и UDP

Рис. 15.4. По умолчанию правило для портов предусматривает вариант Single для родственности и равномерную нагрузку по всем портам TCP и UDP
В окне Add/Edit Port Rule вы можете назначить правило для портов одному виртуальному кластеру или всем кластерам данного сетевого адаптера

Рис. 15.5. В окне Add/Edit Port Rule вы можете назначить правило для портов одному виртуальному кластеру или всем кластерам данного сетевого адаптера
  • Режим фильтрации (секция Filtering mode), который определяет распределение трафика кластера между членами кластера для заданных вами диапазона портов и протоколов.
  • Дополнительно можно выбрать вариант родственности (affinity).

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

После установки служба NLB задает по умолчанию правило для портов, указывая NLB на необходимость обработки портов 0-65535 как для TCP, так и для UDP, равномерно распределяя нагрузку между всеми узлами NLB-кластера и указывая вариант Single (Один) для родственности (affinity), чтобы все пакеты, поступившие с одного и того же IP-адреса, обрабатывались одним узлом NLB-кластера.

NLB выполняет фильтрацию пакетов для всех портов TCP и UDP. Узел NLB-кластера и с минимальным номером идентификатора хоста (host ID) становится узлом по умолчанию и обрабатывает все пакеты, к которым не применяется никакого правила для портов.

В следующих разделах даются указания по использованию вкладки Port Rules для создания правила для портов.

Port Range (Диапазон портов).В этой секции задается диапазон портов, который будет охватываться данным правилом для портов. Можно указывать любые номера в диапазоне от 0 до 65535 (и это также диапазон по умолчанию). Чтобы задать один порт, введите одинаковые значения для начального и конечного номеров.

Protocols (Протоколы).Выберите конкретный протокол TCP/IP, который будет охватываться данным правилом для портов (вариант TCP, UDP или Both [Оба]). Это правило будет влиять на сетевой трафик только указанного здесь протокола. Весь остальной трафик будет обрабатываться с использованием режима фильтрации по умолчанию.

Filtering Mode (Режим фильтрации).Чтобы задать, что сетевой трафик для этого правила будет обрабатываться несколькими хостами данного кластера, выберите вариант Multiple Hosts (Несколько хостов). Распределяя нагрузку между несколькими хостами, вы получаете свойства отказоустойчивости и масштабирования производительности. Режим фильтрации позволяет также выбрать равномерную нагрузку между хостами или задать определенный процент нагрузки для конкретного хоста.

Выберите вариант Single Host (Один хост), чтобы задать, что сетевой трафик для данного правила должен обрабатываться каким-либо одним хостом в кластере согласно заданному для него приоритету обработки (поле Handling priority). Этот приоритет используется вместо приоритета (идентификатора хоста) для трафика через данный порт.

Выберите вариант Disabled (Отключен), чтобы задать, что сетевой трафик для этого правила должен быть блокирован. Это удобный способ создания брандмауэра, препятствующего сетевому доступу к заданному диапазону портов.

Примечание. Изменение состояния правила для портов на Disabled для активного хоста или для кластера в целом немедленно блокирует весь трафик для диапазона портов этого правила. Использование Nlb.exe для отключения правила (с помощью команды drain) блокирует новые соединения, но позволяет продолжать существующие сеансы.

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

Если у вас небольшое число пользователей приложений или пользователи вашего приложения работают позади брандмауэра, который реализует трансляцию сетевых адресов (NAT - Network Address Translation), то выбор варианта родственности Single (Один) или Class C (Класса C) может вызвать неравномерное распределение запросов по узлам кластера.

Выберите вариант None (Нет), чтобы задать, что служба NLB не обязательно должна направлять несколько запросов с одного клиентского компьютера на один хост кластера. В результате алгоритм хеширования NLB будет использовать все 4 байта IP-адреса отправителя в сочетании с исходным портом TCP или UDP при выборе узла NLB для обработки пакета. TCP/UDP изменяет исходный порт почти с каждым запросом, поэтому выбор варианта None дает всем узлам кластера возможность обработки пакетов от любого заданного клиентского компьютера.

Выберите варианта Single (вариант по умолчанию), чтобы задать, что несколько запросов с одного исходного IP-адреса должны направляться на один хост кластера. При выборе варианта родственности Single алгоритм хеширования NLB игнорирует исходный порт TCP или UDP. Родственность оказывает негативное влияние на производительность, но в определенных обстоятельствах это перевешивается эффективностью для клиента, направляющего несколько запросов. Например, если каждый запрос от клиента связывается с cookie-файлом, то более эффективно подсоединять этого клиента к одному хосту (на самом деле это необходимо). Для защищенных приложений HTTP (HTTPS через TCP Port 443) требуется вариант родственности Single.

Вариант родственности Class C используется для группы, а не для одного клиентского IP-адреса. При выборе этого варианта несколько запросов из одного диапазона адресов класса C TCP/IP направляются на один хост. При этой конфигурации клиенты, использующие несколько прокси-серверов, интерпретируются аналогично отдельным клиентским IP-адресам в варианте родственности Single. Если клиент, выполняющий доступ к кластеру через несколько прокси-серверов, направляет несколько запросов, эти запрос поступают как будто с различных компьютеров. Если все эти прокси-серверы находятся в одном диапазоне адресов класса C (обычно это разумное предположение), то выбор варианта Class C означает, что сеансы этого клиента будут обрабатываться аналогично варианту родственности Single.

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

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

Вариант Equal (Равномерное распределение нагрузки).Используйте вариант Equal, чтобы задать, что хост участвует в равномерно сбалансированном трафике в режиме фильтрации с несколькими хостами (Multiple hosts) по соответствующему правилу для портов.

Handling Priority (Приоритет обработки).Поле Handling priority используется в режиме фильтрации Single, и оно указывает уровень приоритета хоста для трафика по данному правилу. Хост с наиболее высоким приоритетом обработки для определенного правила будет обрабатывать весь трафик для этого правила. Введите значение от 1 до X, где X - это количество хостов. Каждый хост должен иметь уникальное значение этого параметра. Значение 1 соответствует наиболее высокому приоритету.

Конфигурирование TCP/IP для службы Network Load Balancing

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

  • Выделенный IP-адрес (Dedicated IP address); он должен быть статическим, а не назначенным с помощью DHCP. Не вводите ничего, если вы задали только нули для выделенного IP-адреса на странице NLB Host Parameters.
  • IP-адрес кластера.