Внедрение, управление и поддержка сетевой инфраструктуры MS Windows Server 2003

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

Разбить на страницы
Показывать лекцию целиком

Начиная с Wolfpack Project компании Microsoft, кластеризация прошла большой путь, став важной частью любой реализации предприятия под управлением Windows. В этой лекции рассматриваются современные кластерные решения Microsoft и описывается их использование для масштабирования и расширения вашей сети Windows Server 2003.

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

  • Служба Network Load Balancing (NLB).В основном, предназначена для балансирования входящего трафика TCP/IP. NLB обычно используется для веб-серверов.
  • Кластеры серверов.Реализуются для обеспечения переходов по отказу (failover) среди кластеризованных компьютеров. Служба Cluster обычно используется для приложений, работающих с базами данных.
  • Вы не можете применить обе технологии к одному серверу, но можете использовать эти два кластерных решения совместно для реализации дополняющих друг друга функций, например, сделать базу данных доступной для посетителей веб-сайта.

    Примечание. Microsoft также предлагает третью кластерную технологию - кластеры Component Load Balancing (CLB). Эта технология входит в состав Microsoft Application Center 2000 и не включается ни в одну из версий Windows Server 2003. CLB-кластеры позволяют распространять приложения COM+ среди нескольких серверов, что гарантирует масштабируемость и высокую готовность приложений.

    Кластеры Network Load Balancing

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

    Примечание. Служба Network Load Balancing в ее текущей форме появилась как переработанная замена службы Windows Load Balancing Service (WLBS), используемой в Windows NT 4. Однако вы увидите, что до сих пор имеются компоненты исходной WLBS, например, запускаемая из командной строки программа управления, wlbs.exe, все еще используется для обратной совместимости.

    NLB входит в следующие версии Windows Server 2003:

  • Standard Edition;
  • Enterprise Edition;
  • Datacenter Edition;
  • Web Edition.
  • Преимущества Network Load Balancing

    С помощью Network Load Balancing можно создавать кластеры, содержащие до 32 хостов, среди которых могут распределяться запросы клиентов. Служба NLB расширена в Windows Server 2003, позволяя вам создавать несколько виртуальных NLB-кластеров на одном сервере путем задания NLB для нескольких сетевых адаптеров и путем задания нескольких IP-адресов кластера со сбалансированной нагрузкой для одного сетевого адаптера. Два главных достоинства NLB для приложений - это готовность и масштабируемость.

    Готовность

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

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

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

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

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

    NLB обеспечивает два уровня масштабируемости.

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

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

    Архитектура NLB

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

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

    NLB перехватывает только пакеты TCP и UDP. Пакеты других протоколов IP передаются в стек протоколов и обрабатываются всеми узлами NLB-кластера.

    Оборудование и протоколы

    Служба NLB разработана таким образом, чтобы обеспечивать кластерную поддержку для серверных программ на основе TCP/IP. Для этого, конечно, требуется, чтобы TCP/IP был протоколом по умолчанию для системы. Версия NLB в Windows Server 2003 действует в локальных сетях на основе FDDI или Ethernet внутри кластера.

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

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

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

    Примечание.Некоторые программы двухточечных соединений TCP/IP, в особенности ping, будут давать дублированные ответы при указании IP-адреса кластера. Чтобы избежать этого, используйте выделенный IP-адрес хоста, которому вы передаете ping.

    NLB можно сконфигурировать для обработки трафика кластера более детально путем использования таких средств, как правила для портов или родственность (affinity). Более подробную информацию см. ниже в разделе "Установка и конфигурирование Network Load Balancing".

    Виртуальные кластеры

    Служба Network Load Balancing в Windows Server 2003 расширена за счет поддержки виртуальных кластеров со сбалансированной нагрузкой. Для создания виртуального кластера нужно активизировать NLB для нескольких сетевых адаптеров на одном сервере или назначить несколько IP-адресов одному сетевому адаптеру, для которого активизирована NLB. Поскольку различные IP-адреса могут соответствовать различным веб-сайтам или приложениям, разумное использование виртуальных кластеров и соответствующих правил для портов позволяет вам управлять тем, как различные веб-приложения распределяются между физическими серверами со сбалансированной нагрузкой.

    Виртуальные серверы обладают следующими свойствами.

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

    Имеется несколько способов конфигурирования приложений в NLB-кластере. Кластер можно сконфигурировать таким образом, чтобы копия серверной программы выполнялась на каждом хосте; или приложение может выполняться на одном хосте, когда все запросы отправляются на этот хост вместо равномерного распределения нагрузки по всему кластеру. Принимаемое решение зависит от типа приложения. Например, приложения, которым требуется централизация, такие как Microsoft Exchange Server, принадлежат какому-либо одному хосту. Кроме того, запросы записи в базу данных могут отправляться на выделенный сервер базы данных в системе. Если нагрузка по базе данных сбалансирована в кластере, то каждый узел кластера может иметь свою собственную копию этих данных. Обновления в содержимом таблицы базы данных должны синхронизироваться путем регулярного слияния в режиме offline. Однако в большинстве случаев критически важные базы данных развертываются в среде кластера серверов, позволяющего выполнять переходы по отказам (failover), а не в среде NLB (см. ниже раздел "Кластеры серверов").

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

  • HTTP, HTTPS, FTP, TFTP и SMTP поверх TCP/IP
  • HTTP через SSL - порт 443
  • FTP - порт 21, порт 20, порты 1024.65 и порт 535
  • SMTP - порт 25
  • Terminal Services - порт 3389
  • Веб-серверы (такие как Microsoft Internet Information Services) - порт 80
  • Веб-серверы, использующие круговую DNS
  • Серверы виртуальных частных сетей (VPN)
  • Серверы потокового медиа.
  • Приложение можно развертывать в NLB-кластере, если несколько экземпляров этого приложения можно выполнять одновременно без ошибок или какого-либо ущерба.

    Серверы приложений и соединения с изменяемым состоянием

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

  • Interclient-состояние (состояние с учетом всех клиентов). Обновления синхронизируются с транзакциями, выполняемыми для других клиентов. Примером является обновление базы данных запасов на сайте e-commerce после продажи товаров через соединение с клиентом.
  • Intraclient-состояние (состояние на уровне одного клиента). Состояние, поддерживаемое для конкретного клиента в течение одного сеанса, включающего, например, продажу продуктов (обычно с помощью процесса обработки "торговой тележки") на сайте e-commerce. На самом деле для большинства сайтов e-commerce процесс обработки "торговой тележки" может охватывать несколько отдельных соединений с одним клиентом.
  • Служба NLB действует лучше всего, если она используется, чтобы обеспечивать масштабируемость для интерфейсных служб, не изменяющих своего состояния (например, для стандартного веб-приложения HTTP), даже если эти службы выполняют доступ к разделяемому прикладному серверу баз данных.

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

    NLB можно использовать для масштабируемости приложений с intraclient-состояниями, даже в рамках сеанса, охватывающего несколько соединений. При включении одной из опций родственности (affinity) для клиентов NLB направляет все TCP-соединения на один и тот же хост кластера, что позволяет поддерживать состояние сеанса в памяти этого хоста. (Для клиент/серверных приложений, которые встраивают состояние в cookie-файлы или отправляют его в прикладную базу данных, не требуется родственность для клиентов.)

    Установка и конфигурирование Network Load Balancing

    NLB - это служба, которая привязывается к сетевому адаптеру и устанавливается автоматически (но не активизируется), когда вы устанавливаете сетевой адаптер в любой версии Windows Server, включающей в себя NLB. Параметры конфигурации задаются в диалоговом окне свойств Network Load Balancing Properties, и соответствующие значения записываются в реестр.

    В Windows Server 2003 появилось улучшенное средство конфигурирования и управления NLB - nlbmgr.exe. Поскольку диалоговое окно NLB Properties используется в Windows Server 2003 и в более ранних версиях, сначала дается его описание. Nlbmgr.exe рассматривается ниже в разделе "Использование Nlbmgr.exe для конфигурирования кластеров и узлов".

    Установка службы NLB с помощью диалогового окна NLB Properties

    Щелкните правой кнопкой на значке Local Area Connection (Соединение локальной сети), где вы хотите запустить NLB, и выберите пункт Properties (Свойства). Если на данном компьютере установлено несколько сетевых адаптеров, то каждый сетевой адаптер имеет свой собственный значок Local Area Connection.

    В диалоговом окне Properties служба Network Load Balancing представлена как компонент. Чтобы активизировать эту службу, установите соответствующий флажок (см. рис. 15.1).

    (рис 15.1) NLB автоматически устанавливается вместе с Windows Server 2003, но не активизируется, пока вы не установите ее флажок

    Если служба Network Load Balancing не представлена в диалоговом окне Properties (это обычно означает, что она была специально деинсталлирована), щелкните на кнопке Install (Установить) и выберите тип сетевого компонента Service (Служба). Затем щелкните на кнопке Add и установите службу Network Load Balancing. Microsoft не рекомендует деинсталлировать Network Load Balancing, даже если вы решили не активизировать ее, поскольку ее удаление может иметь негативные последствия.

    Оставив выделенной строку Network Load Balancing, выберите пункт Properties, чтобы открыть диалоговое окно Network Load Balancing Properties, содержащее три вкладки: Cluster Parameters (Параметры кластера), Host Parameters (Параметры хостов) и Port Rules (Правила для портов).

    Задание параметров кластера для службы Network Load Balancing

    Вкладка Cluster Parameters (рис. 15.2) содержит опции, применяемые ко всему кластеру. Чтобы сконфигурировать параметры кластера для каждого хоста в кластере используйте указания этого раздела.

    (рис 15.2) Параметры NLB-кластера одинаковы для всех узлов кластера

    Основной IP-адрес (IP address).Введите основной IP-адрес кластера, используя стандартную форму записи с точками для Интернет. Это виртуальный IP-адрес, поскольку он используется для кластера в целом. Вы должны использовать этот адрес для всех хостов в кластере.

    Маска подсети (Subnet mask).Введите маску подсети, связанную с только что введенным IP-адресом (например, 255.255.255.0).

    Полное интернет-имя кластера (Full Internet name).Введите полное интернет-имя этого кластера, например, nlbcluster.admin911.com. Это имя применяется к кластеру в целом и должно быть одинаковым для всех хостов в кластере. Это имя должно разрешаться (преобразовываться) в заданный основной IP-адрес кластера с помощью сервера DNS или файла HOSTS.

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

    Режим работы кластера (Cluster Operation Mode).Задайте режим Multicast (Групповой) или Unicast (Однонаправленный). В обоих режимах NLB будет использовать IP-адрес кластера, чтобы генерировать локально администрируемый MAC-адрес. В режиме unicast служба NLB генерирует MAC-адрес, который она использует вместо аппаратного MAC-адреса сетевого адаптера. Этот адрес используется для пакетов, отправляемых с IP-адреса кластера, а также для пакетов, отправляемых с других IP-адресов, заданных для сетевого адаптера, к которому привязана NLB. Сетевой стек никогда не отправит пакет по сетевому кабелю, если пакет направлен по MAC-ад-ресу его собственного компьютера, поэтому узлы одного NLB-кластера не могут взаимодействовать друг с другом, используя сетевой адаптер с NLB, если они находятся в однонаправленном (unicast) режиме. В режиме unicast требуется, чтобы каждый узел кластера имел второй сетевой адаптер, если узлам требуется доступ друг к другу по причинам, отличным от использования службы NLB.

    Если выбран групповой (multicast) режим, то служба NLB продолжает использовать аппаратный MAC-адрес сетевого адаптера с помощью выделенного (уникального) IP-адреса узла, поэтому узлы кластера могут выполнять доступ друг к другу, используя сетевой адаптер с NLB. Однако NLB генерирует для кластерных операций групповой MAC-адрес. Это означает, что основной IP-адрес кластера будет разрешаться (преобразовываться) в этот групповой MAC-адрес в составе протокола ARP.

    Учтите это, прежде чем активизировать режим multicast. Многие брандмауэры и маршрутизаторы, включая маршрутизаторы Cisco, не могут добавлять эту запись в свой кэш ARP, что не позволяет клиентам подсоединяться к кластеру, если вы не реализовали обходной способ (см. ниже). По это причине unicast является режимом работы NLB по умолчанию, хотя режим multicast является предпочтительным режимом работы.

    Если клиенты выполняют доступ к работающему в режиме multicast кластеру через маршрутизатор, то этот маршрутизатор должен принимать ARP-ответ, содержащий один MAC-адрес в полезной информации структуры ARP, но этот ответ будет представлен как поступивший со станции, имеющей другой MAC-адрес (в заголовке Ethernet). Кроме того, маршрутизатор обязан принимать ARP-ответ, содержащий групповой MAC-адрес в полезной информации структуры ARP. Если маршрутизатор не отвечает этим требованиям, то у вас должна быть возможность добавления статической ARP-записи к потоку через маршрутизатор или брандмауэр из кластера, чтобы поддерживать разрешение однонаправленных IP-адресов в групповые MAC-адреса.

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

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

    Внимание. В одном NLB-кластере нельзя одновременно использовать режимы multicast и unicast.

    Новый режим IGMP Multicast.IGMP Multicast - это новое средство для режима multicast, появившееся в Windows Server 2003. Это новое средство используется, чтобы избегать лавинной маршрутизации через переключатель (switch flooding), вызываемой групповым трафиком. Это явление возникает, когда переключателю не известно, какой порт переключателя обслуживает определенный MAC-адрес, и поэтому требуется отправка пакета во все порты переключателя. Это, конечно, означает, что вы теряете все преимущества переключения через хаб (концентратор).

    Протокол IGMP (Internet Group Management Protocol) позволяет хостам IP сообщать об их членстве в multicast-группах соседним маршрутизаторам и переключателям. Переключателю уровня 3 известны сетевые протоколы и адреса более высоких уровней (такие как IP) в дополнение к протоколам аппаратного уровня 2 и соответствующим MAC-адресам. Если узлы NLB-кластера подсоединяются к сети через переключатель уровня 3, то IGMP снижает трафик через этот переключатель за счет того, что информирует переключатель, какие порты подсоединены к хостам, входящим в multicast-группу. Чтобы можно было эффективно использовать средство IGMP Multicast, узлы кластера должны быть подсоединены к сети через переключатель, который поддерживает IGMP Monitoring. Периодически (по умолчанию раз в минуту) каждый узел NLB-кластера отправляет сообщение IGMP Join, информируя восходящий поток через сетевое оборудование, что он является членом IGMP-группы данного кластера.

    Если вы активизировали поддержку IGMP Multicast, то соответствующий групповой IP-адрес должен быть допустимым IP-адресом класса D, то есть адресом в диапазоне от 215.0.0.0 до 239.255.255.255.

    Пароль для удаленного доступа (Remote Password).Вы можете задать пароль для доступа в кластер с удаленного компьютера Windows Server 2003. Этот пароль используется для аутентификации программой управления кластером Nlb.exe (она не используется при управлении операциями кластера с хоста кластера). Для выполнения операций удаленного управления из программы Nlb.exe требуется указывать параметр /passw в командной строке вместе с конкретным паролем.

    Совет. Чтобы отказаться от использования пароля, очистите оба поля - Remote Password и Confirm Password (Подтверждение пароля).

    Если у вас используется удаленное управление, то важно защитить кластер, поскольку злоумышленники могут проникнуть в окружение через порты удаленного управления. Используйте брандмауэр для управления доступом к UDP-портам управления Network Load Balancing (порты, которые получают команды удаленного управления). По умолчанию это порты 1717 и 2504 по IP-адресу кластера. А еще лучше используйте nlbmgr.exe или какое-либо средство управления на основе WMI вместо Nlb.exe в режиме удаленного управления.

    Внимание. Команды удаленного управления Nlb.exe работают неверно, если IPSec шифрует пакеты.

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

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

    (рис 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 или оба протокола).
  • (рис 15.4) По умолчанию правило для портов предусматривает вариант Single для родственности и равномерную нагрузку по всем портам TCP и UDP(рис 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-адрес кластера.
  • Использование Nlbmgr.exe для конфигурирования кластеров и узлов

    Конфигурирование NLB на странице свойств Network Load Balancing Properties для каждого узла кластера может занять много времени. Согласование правил для портов по всем узлам кластера может представлять определенную проблему. Оба этих вопроса можно разрешить с помощью Network Load Balancing Manager (nlbmgr.exe).

    NLB Manager позволяет вам создавать новые кластеры на основе Windows Server 2003 и добавлять узлы к существующим кластерам. Эта программа позволяет также создавать правила для портов и одновременно развертывать правила по всем узлам кластера.

    NLB Manager можно запускать в системе Windows XP Professional или Windows Server 2003 для создания NLB-кластеров и управления ими в системах Windows Server 2003. NLB Manager находится в пакете Administrative Tools (\i386\adminpak.msi) на установочном CD Windows Server 2003.

    Хотя узлы на основе Windows 2000 могут взаимодействовать с узлами на основе Windows Server 2003, NLB Manager работает с NLB-кластерами только на основе Windows Server 2003.

    Хотя при использовании NLB Manager или конфигурировании каждого сервера с помощью диалогового окна Network Load Balancing Properties используются сходные концепции установки и конфигурирования NLB-кластера, реализуемая процедура отличается в одном ключевом аспекте. При конфигурировании серверов по отдельности с помощью диалогового окна NLB Properties вы должны повторять ввод параметров по каждому серверу. Используя NLB Manager, вы определяете сначала свойства кластера и затем конфигурируете отдельные серверы, добавляя их к кластеру. В процессе добавления сервера к кластеру NLB Manager конфигурирует сервер, используя заранее определенные настройки. Это позволяет исключить возможность задания серверов, которые не будут согласовываться с кластером из-за отличий в одном или нескольких параметрах.

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

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

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

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

  • Запустите NLB Manager путем запуска nlbmgr.exe из командной строки или из меню Start/Run (Пуск/Выполнить).
  • Откройте меню Cluster (Кластер) и выберите пункт New (Создать), см. рис 15.6(рис 15.6) Используйте NLB Manager для создания, модифицирования и управления конфигурациями NLB-кластеров
  • Заполните панели Cluster Parameters и Port Rules, как если бы вы последовательно работали в диалоговых окнах Properties. Отметим, что вы не можете вводить на этой стадии информацию по конкретным хостам.
  • Щелкните на кнопке OK, чтобы завершить определение параметров уровня кластера.
  • Добавление узлов к кластеру с помощью NLB Manager

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

  • Выберите имя этого сервера и щелкните на кнопке Connect (Подсоединиться). NLB Manager запросит ваши опознавательные данные. Введите пользовательское имя в полностью уточненном формате ( домен \ имя_пользователя или имя_-сервера \ имя_пользователя, а не только имя_пользователя ).
  • NLB Manager представит сетевые адаптеры, которые он обнаружит на этом сервере, и попросит вас выбрать один из них (см. рис 15.7(рис 15.7) Выберите сетевой интерфейс для этого члена NLB-кластера
  • На странице Host Parameters (аналогичной диалоговому окну конфигурирования свойств хоста NLB) введите запрашиваемую информацию и щелкните на кнопке Next.
  • NLB Manager обновит как свойства NLB, так и свойства TCP/IP этого сервера и переведет кластер в состояние online. По завершении процесса NLB Manager выведет результаты и состояние кластера в отдельном окне управления кластерами (см. рис. 15.8).

    Для добавления других хостов к кластеру щелкните правой кнопкой на имени этого кластера и выберите пункт Add Host To Cluster (Добавить хост к кластеру). Альтернативный способ - это выделить имя кластера и затем выбрать в линейке меню пункт Cluster/Add Host To Cluster. После этого NLB Manager будет сопровождать вас, используя описанные выше шаги.

    (рис 15.8) NLB Manager выводит текущее состояние всех отслеживаемых кластеров, а также ведет журнал записей об успешном или неудачном завершении задач управления NLB-кластером

    Изменение параметров кластера и хостов с помощью NLB Manager

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

    Для изменения параметров кластера откройте диалоговое окно свойств Cluster Properties (щелкните правой кнопкой на имени этого кластера и выберите пункт Properties или выделите имя кластера и затем выберите Cluster/Properties). Чтобы изменить свойства кластера, внесите соответствующие изменения и щелкните на кнопке OK. NLB Manager прекратит выполнение кластерных операций, внесет изменения в отдельные узлы кластера и затем перезапустит узлы в их начальном состоянии по умолчанию.

    Чтобы внести изменения в параметры хоста кластера, откройте диалоговое окно Host Properties из контекстного меню этого хоста или из меню Host, выделив перед этим данный хост. Окно Host Properties содержит четыре вкладки (см. рис. 15.9). NLB Manager позволяет вам изменять параметры во вкладке Host Parameters а также изменять приоритет обработки (handling priority) для любых правил, относящихся к одному хосту. Вся остальная информация выводится только для сведения и не может быть изменена в диалоговом окне Host Properties.

    Администрирование Network Load Balancing

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

    У вас имеется два средства администрирования ваших NLB-кластеров: NLB Manager и Nlb.exe, которые рассматриваются в следующих разделах.

    Администрирование NLB с помощью NLB Manager

    Используя NLB Manager, вы можете полностью управлять операциями кластера и отдельных хостов кластера. Щелкнув правой кнопкой мыши на имени кластера или на отдельном хосте кластера, вы можете выбрать вариант Control Host(s) [Управление хостом(ами)] или Control Ports (Управление портами).

    Как показано на рис. 15.10, в меню Control Hosts можно выбрать для хоста или для всех хостов кластера команду Start, Stop, Drainstop, Suspend или Resume.

    (рис 15.9) Вы можете задавать настройки конфигурации в диалоговом окне Host Properties(рис 15.10) Меню Control Hosts позволяет вам управлять состоянием хостов кластера

    В диалоговом окне Control Ports вы можете выбрать команду Enable, Disable или Drain для отдельного правила в рамках одного хоста или всех хостов кластера (рис. 15.11).

    Управление NLB-кластером с помощью Nlb.exe

    После установки и конфигурирования службы NLB вы можете управлять ее операциями (и изменять настройки некоторых параметров) с помощью программы управления Network Load Balancing ( Nlb.exe ).

    Вы можете использовать программу Nlb.exe, находящуюся в папке %SystemRoot%\System32, с хостов кластера или с любого удаленного компьютера Windows Server 2003, который может получать доступ к кластеру через локальную или глобальную сеть. Nlb.exe - это программа, которая позволяет администраторам писать и выполнять скрипты командной строки для упрощения администрирования.

    (рис 15.11) Окно Control Ports позволяет вам управлять правилами для хоста или кластераВнимание. Nlb.exe нельзя использовать для изменения параметров хоста с удаленного компьютера, хотя вы можете просматривать информацию об удаленном компьютере.

    Nlb.exe имеет следующий синтаксис.

    nlb <команда> [<кластер>[:<хост>] [/passw [<пароль>]] [/port <порт>]]

    где:

    команда - одна из поддерживаемых команд (см. ниже); при доступе к кластеру с удаленного компьютера используются следующие параметры.

  • кластер - основной IP-адрес кластера.
  • хост - IP-адрес хоста в этом кластере (если не указан, то все хосты).
  • /passw <пароль> - пароль для удаленного доступа.
  • /port <порт> - порт UDP для удаленного доступа к кластеру.
  • Имеются следующие команды.

  • ip2mac <кластер>. Преобразует IP-адрес кластера в MAC-адрес кластера.
  • reload. Перезагружает параметры из реестра; действует только на локальной машине.
  • query. Запрос, позволяющий увидеть, какие хосты входят на данный момент в кластер.
  • display. Выводит параметры конфигурации, текущее состояние и недавние сообщения журнала событий.
  • suspend. Задерживает управление операциями кластера; прекращает выполнение операций хостов кластера. Задержанные хосты кластера будут игнорировать все команды управления кластером, кроме Resume (и Query).
  • resume. Возобновляет управление операциями кластера; не перезапускает работу задержанного кластера, а только разрешает ему принимать другие команды управления.
  • start. Запускает операции кластера.
  • stop. Прекращает выполнение операций кластера.
  • drainstop. Разъединяет все существующие соединения и прекращает выполнение операций кластера.
  • enable <порт>/all. Активизирует трафик для правила <порта> или для всех портов.
  • disable <порт>/all. Отключает трафик для правила <порта> или для всех портов.
  • drain <порт>/all. Отключает новый трафик для правила <порта> или для всех портов.
  • igmp <enable/disable> <IP-адрес кластера>. Активизирует или отключает поддержку IGMP Multicast для кластера.
  • Кластеры серверов

    Еще одним компонентом в кластеризации Windows являются кластеры серверов. Цель применения кластеров серверов несколько отличается от Network Load Balancing. Кластеры серверов больше подходят для обеспечения высокого уровня готовности и управляемости вашего сетевого окружения Windows Server 2003, в то время как NLB больше подходит для обеспечения высокой надежности и производительности. Кластер серверов обеспечивает высокий уровень готовности для приложений, которые не имеет смысла или невозможно запускать более чем на одном сервере, например, для многих программ управления базами данных.

    Кластеры серверов обеспечивают готовность системы за счет использования технологии переходов по отказу (failover) с одного узла на другой. Кластерное ПО автоматически перемещает процессы и ресурсы с отказавшего компьютера на остальные компьютеры кластера. Служба Cluster имеется в версиях Windows Server 2003 Enterprise Edition и Datacenter Edition (обе эти версии поддерживают кластеры из восьми узлов).

    Архитектура кластеров серверов

    Как и в случае NLB, кластер серверов - это группа компьютеров, которые совместно работают как единое целое. Версии Windows Server 2003 Enterprise Edition и Datacenter Edition поддерживают кластеры из восьми узлов. (Windows 2000 Advanced Server поддерживает в кластере серверов два компьютера, и Windows 2000 Datacenter Server поддерживает четыре компьютера.)

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

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

    Переход по отказу (failover) и возврат после восстановления (failback)

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

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

    Узел восстановления сначала берет на себя владение ресурсами отказавшего узла. Зависимые ресурсы переводятся в режим offline раньше, чем ресурсы, от которых они зависят. Служба Cluster делает это путем использования Resource Monitor (Монитора ресурсов) для соединения с DLL, которая управляет этим ресурсом (см. ниже раздел "Монитор ресурсов"). Если не удается установить контакт с ресурсом или отключить его нормальным образом, то он немедленно отключается. После отключения ресурсов узел восстановления начинает брать на себя управление этими ресурсами, получает IP-адрес отказавшего узла и, наконец, автоматически запускается, предоставляя клиентам услуги отказавшего узла путем возврата ресурсов и служб в режим online.

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

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

  • Переход по отказу по-настоящему полезен только в том случае, когда узел, восстанавливающий приложение, может адекватно обслуживать дополнительную рабочую нагрузку. Поскольку незапланированные отказы трудно или невозможно предсказать, то вам следует оборудовать все узлы таким образом, чтобы они могли легко брать на себя рабочую нагрузку в случае отказов.
  • Процесс перехода по отказу является полностью настраиваемым. Вы можете использовать Cluster Administrator (Администратор кластера), чтобы определять политики и процедуры для перехода по отказу. Например, вы можете определять зависимости приложения (должен ли отказ приложения вызывать перезапуск приложения в том же узле) и политики возврата после восстановления (failback).
  • Возврат после восстановления.После перехода по отказу узел (или узлы) восстановления берет на себя службы из отключившегося узла или приложения. Вы должны всегда рассматривать переход по отказу как временное решение, поскольку это обычно вызывает перегрузку ресурсов. В результате вам следует постараться как можно быстрее вернуть приложение или узел в состояние online.

    Механизм восстановления исходной конфигурации называется возвратом после восстановления (failback). По сути это процесс перехода по отказу в обратном направлении. Он автоматически выравнивает нагрузку, когда снова становится доступным данное приложение или узел.

    Режимы работы кластера серверов

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

  • Кластеризация типа active/active. Это наиболее продуктивный и эффективный режим работы, который вы можете использовать. В этом режиме все узлы действуют под нагрузкой (они обслуживают клиентов), и они могут обеспечивать восстановление для любого отказавшего приложения или узла. Преимущества этого режима заключаются в более эффективном использовании ресурсов оборудования. Иначе говоря, ресурсы не простаивают, ожидая, когда приложение или узел выйдет из строя.
  • Кластеризация типа active/passive. Используется для обеспечения максимального уровня готовности, стабильности и производительности. В этом режиме один узел активно предоставляет услуги, в то время как другой простаивает, ожидая выхода из строя активного приложения или узла. Хотя этот режим обеспечивает наиболее высокий уровень безопасности для вашего кластера Windows Server 2003, его недостатком является то, что простаивают полезные ресурсы.
  • Компоненты оборудования кластера серверов

    Компоненты оборудования, необходимые для кластера серверов, являются еще одним фактором, отличающим кластеры серверов от NLB-кластеров. Иными словами, к кластерам серверов предъявляются более высокие требования по ресурсам (переход по отказу, возврат после восстановления и кластеризация типа active/active). В следующих разделах подробно описываются основные компоненты оборудования, необходимые для создания и поддержки кластера серверов.

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

  • На сервере должна работать система Windows Server 2003 Enterprise Edition или Datacenter Edition.
  • Сервер должен быть членом домена, но не рабочей группы.
  • На сервере должна быть установлена и запущена служба Cluster.
  • Сервер должен быть подсоединен к одному или нескольким разделяемым ЗУ. Более подробные сведения см. ниже в разделе "Разделяемые ЗУ".
  • Совет. Поместите все серверы, которые будут узлами кластера серверов, в их собственную организационную единицу (OU) Active Directory, чтобы изолировать их от групповых политик, которые могут действовать для других серверов.

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

  • Поскольку каждый узел кластера серверов подсоединен к одному или нескольким разделяемым ЗУ, каждый из них совместно использует данные, хранящиеся на этих устройствах.
  • Каждый узел обнаруживает присутствие других узлов в кластере серверов посредством межсоединения. Межсоединение - это обычно высокоскоростное соединение, которое подключено к каждому узлу. Узлы не обязательно должны иметь отдельное межсоединение, отличное от их сетевого адаптера, который связывает их с остальной частью сетевого окружения Windows Server 2003. Однако очень рекомендуется иметь отдельное межсоединение.
  • Примечание. Узлы кластера серверов могут также обнаруживать присоединение к кластеру серверов других узлов или их выход из кластера серверов. Эта способность обнаружения используется для выявления отказов компьютеров и приложений.

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

    Рабочие состояния узла
    Состояние Описание
    Down (Отключен) Узел не работает в кластере серверов из-за отказа компьютера или приложения либо запланированного обслуживания.
    Joining (Присоединение) Узел становится членом кластера серверов.
    Paused (Приостановлен) Разделяемые ресурсы захвачены, поэтому узел находится в состоянии ожидания, пока не будут освобождены ресурсы.
    Up (Включен) Узел находится в активном состоянии и работает в кластере серверов.
    Unknown (Неизвестно) Рабочее состояние узла невозможно определить.

    Разделяемые ЗУ.Все узлы, участвующие в работе кластера серверов, совместно используют одно или несколько запоминающих устройств (ЗУ), как это показано на схеме рис. 15.12. Эти ЗУ используют разделяемую шину SCSI для подключения к двум узлам кластера серверов.

    Если вы хотите поддерживать более двух узлов (до восьми узлов), то должны установить устройство с волоконно-оптическим каналом. Windows Server 2003 Enterprise Edition и Datacenter Edition поддерживают широкий диапазон устройств SCSI от различных изготовителей, но я настоятельно рекомендую обратиться к списку совместимости оборудования (Hardware Compatibility List - HCL), прежде чем приступить к созданию кластера серверов. Microsoft официально поддерживает только сертифицированные для кластеров комбинации серверов и ЗУ. См. www.microsoft.com/hcl со списком поддерживаемых систем.

    Совет. Вы сэкономите кучу времени, если проверите работу устройств SCSI, прежде чем приступить к созданию кластера серверов. (рис 15.12) Кластеры серверов с двумя узлами могут использовать разделяемую шину SCSI для совместного использования ЗУ

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

    Примечание. Для повышения отказоустойчивости вам следует использовать матрицы дисков RAID (Redundant Array of Independent Disks) 5. RAID 5 выполняет запись данных с чередованием между тремя и более дисками, организованными в виде массива, и поддерживает информацию по четности для повышения производительности и снижения риска потери данных из-за отказов дисковой подсистемы.

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

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

    Clusnet.sys, сетевой драйвер кластера, запускается в каждом узле и управляет обменом данных кластера серверов.

    Программные компоненты

    Несколько программных компонентов образуют кластеры серверов; они разделяются на две категории.

  • ПО кластеризации.Компоненты ПО, которые требуются для работы кластера серверов. Это ПО инициирует взаимодействие между узлами, определяет рабочее состояние приложения или узла, передает операции с ресурсами и выполняет много других функций. Два основных компонента ПО кластеризации - это Resource Monitor (Монитор ресурсов) и служба Cluster.
  • Административное ПО.Предоставляет вам контроль и управление кластером серверов, чтобы вы могли конфигурировать этот кластер и следить за ним. Имеется два основных компонента в категории административного ПО: Cluster Administrator (Администратор кластеров) и утилита командной строки cluster.exe. Cluster Administrator не обязательно запускать непосредственно в каком-либо узле кластера; его можно запускать удаленным образом с любого компьютера Windows Server 2003 или Windows 2000, а также с компьютера Windows NT 4 с Service Pack, начиная с версии 3.
  • Служба Cluster.Служба Cluster запускается в каждом узле кластера серверов. Это центр кластера серверов, управляющий всеми операциями кластера серверов. Служба Cluster управляет следующими действиями.

  • Управляет всеми объектами кластера серверов, включая узлы (например, узлом, в котором она установлена), разделяемые ЗУ и информацию о конфигурации (например, IP-адрес узла или имя компьютера).
  • Осуществляет взаимодействие и координацию с другими службами Cluster в кластере серверов, включая включение или удаление узла в кластере серверов.
  • Обнаруживает отказы приложений и узлов и инициирует операции перехода по отказу (failover). Это может быть попытка перезапуска приложения, а также распределение нагрузки на другой узел кластера серверов.
  • Управляет уведомлениями о событиях.
  • Монитор ресурсов (Resource Monitor).Любой физический или логический компонент в кластере серверов (большинство из них уже описано выше) рассматривается как ресурс службой Cluster. Чтобы повысить управляемость компонентов кластера серверов, используется Монитор ресурсов, помогающий осуществлять взаимодействие между службой Cluster и ресурсами кластера.

    Мониторы ресурсов - это различные программные компоненты, которые используются как "посредники" между службой Cluster и ресурсами кластера серверов. Монитор ресурсов позволяет работать этим ресурсам отдельно друг от друга, а также от службы Cluster. Это разделение ресурсов повышает уровень надежности, готовности и масштабируемости для кластера серверов. Например, отказ ресурса не влияет на работоспособность службы Cluster. Кроме того, Монитор ресурсов используется для слежения за службой Cluster, чтобы при ее отказе Монитор ресурсов мог реагировать, переводя в режим offline все ресурсы этого узла.

    Монитор ресурсов не вызывает никаких операций кластера серверов, за двумя исключениями: сбор отчетов о состоянии от службы Cluster или от ресурсов и перевод в режим offline всех ресурсов узла в случае отказа службы Cluster. Когда Монитор ресурсов связывается с ресурсом, он фактически связывается с ресурсной DLL этого ресурса. Ресурсную DLL можно видеть как интерфейс с этим ресурсом. Возьмем, например, ресурс, где возникло какое-либо событие. Ресурсная DLL должна сообщить об этом событии службе Cluster. И здесь вступает в дело Монитор ресурсов; он фактически принимает сообщение и обеспечивает уведомление службы Cluster.

    Cluster Administrator (Администратор кластеров).Cluster Administrator это основное средство администрирования и конфигурирования объектов кластера серверов, таких как узлы, группы и другие ресурсы. Он устанавливается по умолчанию в каждом узле кластера, но его можно также установить на любом компьютере с Windows Server 2003, Windows 2000 или Windows NT 4 с Service Pack, начиная с версии 3. Это позволяет вам управлять кластером серверов без необходимости физического присутствия в одном из узлов.

    Программа Cluster Administrator вызывается из меню Administrative Tools версий Windows Server 2003 Standard Edition, Enterprise Edition и Datacenter Edition (но не Web Edition).

    Примечание. Cluster Administrator устанавливается в системах Windows XP Professional, когда вы устанавливаете \i386\adminpak.msi с установочного CD Server 2003.

    Утилита командной строки Cluster. Cluster.exe позволяет вам управлять кластером из командной строки или из скрипта, который вызывает cluster.exe. Эту утилиту можно запускать на компьютере с Windows Server 2003, Windows 2000 или Windows NT 4 с Service Pack, начиная с версии 3.

    Прежде чем использовать cluster.exe, вам нужно изучить следующие важные синтаксические правила.

  • Заключайте в кавычки все имена, содержащие пробелы и специальные символы.
  • Для булевых значений ( True и False ) указывайте 1 для True и 0 для False.
  • Если вы не указываете имя кластера серверов или используете точку (.), то предполагается, что вы работаете в локальном кластере серверов и указываете этот кластер.
  • Cluster.exe обрабатывает опции слева направо, и если какая-либо опция неверна, то команда прекращает свое выполнение на этой опции.
  • Используйте две кавычки вместо одной в строке, где имеются две кавычки подряд ("").
  • Синтаксис cluster.exe зависит от объектов, которыми вы управляете. В табл. 15.2 описываются различные объекты, которыми вы можете управлять, с описанием соответствующего синтаксиса.

    Совет. Чтобы вывести опции для любого из определений синтаксиса табл. 15.2, введите cluster.exe /? или cluster.exe /help в командной строке.

    Логические и физические компоненты кластеров

    Служба Cluster работает с приложениями, управляя логическими и физическими компонентами кластера.

    Логические компоненты.Служба Cluster управляет множеством логических компонентов, включая следующие компоненты.

  • Виртуальный сервер.Это имя сервера вместе группами ресурсов, необходимых для выполнения кластеризованного приложения. Виртуальный сервер - это представление для клиентов кластеризованного сервера, поскольку клиенты не знают, какой узел кластера содержит виртуальный сервер.
  • Базовый синтаксис для Cluster.exe
    Кластер cluster [[/cluster:] имя_кластера ] /опция
    Узел кластера cluster [[/cluster:]имя_кластера] node имя_узла оn-
    Кластерная группа cluster [[/cluster:]имя_кластера] group имя_группы [/node:имя_узла] опция
    Кластерная сеть cluster [[/cluster:]имя_кластера] network имя_сети опция
    Сетевой интерфейс кластера cluster [[/cluster:]имя_кластера] netinterface /node: имя_узла /network:имя_сети опция
    Кластерный ресурс cluster [[/cluster:]имя_кластера] resource имя_ресурса опция
    Тип кластерного ресурса cluster [[/cluster:]имя_кластера] resourcetype отображаемое-имя-типа-ресурса опция
  • Ресурсы.Основные элементы, управляемые службой Cluster. Определение любого заданного ресурса может соответствовать физическому устройству (например, дисковый накопитель) или логическому объекту (например, IP-адрес, служба или имя). Ресурсы имеют атрибуты, которые (среди прочих вещей) указывают, каким узлам разрешается переводить ресурсы в режим online (вместе с условием, что узел кластера должен находиться в режиме online, чтобы он мог перевести заданный ресурс в режим online).
  • Группы.Набор ресурсов, причем любой конкретный ресурс может одновременно принадлежать только одной группе. При переходе по отказу (failover) и возврате после восстановления (failback) служба Cluster перемещает группу из одного узла кластера в другой, обеспечивая перевод всех ресурсов группы в режим offline для старого узла кластера, прежде чем ресурсы будут переведены в режим online в новом узле кластера. Операция, выполняемая на уровне группы, влияет на все ресурсы в этой группе.
  • Физические компоненты.Имеются следующие физические компоненты, поддерживающие логические компоненты кластера.

  • Узлы.Сервер, который является членом кластера. Узел находится в режиме online, если работает сам сервер, на нем работает служба Cluster и этот узел взаимодействует с другими узлами, находящимися в режиме online.
  • Диски кластера.Логические диски (отдельные физические диски или тома RAID), которые подключены к разделяемой шине, доступной для всех узлов кластера. На дисках кластера содержатся данные приложений. Подготавливая диски для кластера, обязательно сконфигурируйте их как базовые диски, но не динамические диски.
  • Кворум-ресурс.Дисковый накопитель на разделяемой шине, который не является членом какой-либо группы перехода по отказу (failover). Служба Cluster помещает данные управления и журнал восстановления на кворум-ресурс и использует его для арбитража управления кластером. Кворум-ресурс на диске с разделяемой шиной должен быть сконфигурирован как базовый (Basic) диск, а не как динамический (Dynamic) диск.
  • Периодические контрольные пакеты (heartbeat).IP-пакеты, которыми регулярно обмениваются узлы кластера. Если узел не может получить такой пакет от другого узла, то он предполагает, что произошел отказ узла, не передающего пакеты. После этого активный узел инициирует процесс перехода по отказу.
  • Использование кластеров серверов в вашем окружении

    Критически важным шагом является планирование способа включения кластеров серверов в ваше сетевое окружение Windows Server 2003. Не упустите ни одного аспекта планирования, прежде чем приступить к реализации. К сожалению, многие администраторы уделяют слишком мало времени планированию, и в результате получается неудачное решение, которое не приносит реальных выгод предприятию или даже вызывает серьезные аварии.

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

  • Что вы собираетесь поддерживать?Файловые службы и службы печати, веб-службы и приложения - это лишь небольшая часть того, что вы можете поддерживать с помощью кластеров серверов. Ваше решение окажет огромное влияние на модель, которой вы будете следовать.
  • Какой уровень готовности, масштабируемости, надежности и производительности вам нужен?Модели, которые предоставляет Microsoft (см. следующий раздел), варьируются в зависимости от предлагаемых служб. Иначе говоря, одна модель может предлагать высокий уровень готовности, но не слишком большой уровень масштабируемости.
  • Каковы ваши финансовые ограничения?
  • В следующем разделе описываются модели конфигураций, которые предлагает вам рассмотреть вам Microsoft. Для простоты изложения эти модели описываются для кластера с двумя узлами. Помня об изложенных выше вопросах, оцените каждую модель, чтобы решить, какая из них больше подходит для вашего сетевого окружения Windows Server 2003.

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

    Модель кластера с горячим резервированием (hot-spare cluster), показанная на рис. 15.13, называется также моделью типа active/passive, поскольку одновременно используются не все ресурсы оборудования. В результате эта модель обеспечивает наиболее высокий уровень готовности.

    (рис 15.13) В модели кластера типа active/passive второй узел используется только при отказе первого узла

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

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

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

    Модель кластера типа active/active

    Модель кластера типа active/active представляет два узла в кластере серверов, которые работают одновременно (рис. 15.14). Каждый узел отвечает за свои собственные ресурсы кластера серверов, пока не возникнет необходимость в переходе по отказу. При отказе одного узла работающий узел берет на себя ресурсы отказавшего узла.

    (рис 15.14) В модели кластера типа active/active оба узла содержат различные виртуальные серверы и используют дополнительные мощности, чтобы брать на себя роль второго узла в случае его отказа

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

    Гибридная конфигурация

    Модель с гибридной конфигурацией представляет конфигурацию, где одно или несколько приложений работают в узлах кластера вне управления службой Cluster, а одно или несколько приложений работают под управлением службы Cluster. Например, служба Cluster может управлять экземпляром SQL Server, в то время как DNS может работать вне контекста службы Cluster. В случае отказа узла SQL Server перейдет по отказу на другой работающий узел, а DNS не сможет это сделать.

    Конфигурация с одним узлом

    В конфигурации с одним узлом вы устанавливаете службу Cluster на одном компьютере и определяете один или несколько виртуальных серверов в этом кластере. Эта конфигурация не дает обычных преимуществ кластеров серверов, касающихся высокой готовности, но имеет некоторые административные достоинства. Например, вы можете определить в кластере с одним узлом два виртуальных сервера, обслуживающих два различных отдела. Если вам потребуется более высокий уровень готовности или дополнительные ресурсы серверов, то вы добавите второй узел к этому кластеру. При этом с клиентской точки зрения ресурсы сервера не изменятся. Вы можете установить конфигурацию с одним узлом на сервере, где нет шины разделяемого ЗУ, но вы должны сразу сконфигурировать этот сервер с шиной SCSI или Fibre Channel, чтобы можно было впоследствии добавить еще один узел.

    Установка службы Cluster

    Установка является реализацией ваших усилий по планированию и разработке. Вы должны устанавливать службу Cluster по отдельности в каждом узле. Если запустить операционную систему в нескольких узлах, прежде чем начнет работать в первом узле служба Cluster, то могут быть запорчены диски, используемые в кластере. После завершения и проверки физической установки вашего кластера, включая шину разделяемого ЗУ, кворум-ресурс, разделяемые диски, сетевой адаптер для обмена контрольными пакетами (heartbeat) и адаптер клиентского доступа, выключите все несконфигурированные узлы кластера за исключением узла, который вы устанавливаете.

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

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

    Все узлы кластера должны быть членами одного домена. Чтобы создать новый кластер, запустите Windows Server 2003 Enterprise Edition или Datacenter Edition в первом узле и проследите, чтобы были отключены все остальные компьютеры, подсоединенные к шине разделяемого ЗУ. Затем установите первый узел кластера, используя следующие шаги.

  • Откройте программу Cluster Administrator из меню Administrative Tools. В списке Action (Действие) выберите команду Create New Cluster (Создать новый кластер).
  • В первом окне мастера New Server Cluster Wizard щелкните на кнопке Next.
  • В следующем окне мастера введите имя кластера и проверьте имя домена (см. рис 15.15(рис 15.15) Каждый кластер должен иметь имя, и все его члены должны быть членами одного домена
  • В следующем окне введите имя компьютера, который станет первым узлом нового кластера, и щелкните на кнопке Next.
  • В следующем окне будет представлен процесс анализа необходимых компонентов (рис. 15.16). Если по завершении этого анализа возникли ошибки, щелкните на кнопке View Log (Просмотр журнала) и исправьте ошибки, которые обнаружите в этом журнале, затем снова запустите процесс (Re-analyze). При отсутствии ошибок щелкните на кнопке Next.
  • В следующем окне введите IP-адрес этого кластера и щелкните на кнопке Next. Это IP-адрес, который будет использоваться всеми средствами управления кластером.
  • В следующем окне (рис 15.17(рис 15.16) Мастер New Server Cluster Wizard проверяет сервер, чтобы убедиться, что он содержит все, что необходимо для узла кластера(рис 15.17) Учетная запись службы Cluster должна быть доменной учетной записью, а не учетной записью локального компьютера
  • Мастер выведет сводку конфигурации кластера, который он создал (рис. 15.18). Выполните прокрутку этого списка, чтобы убедиться, что он содержит нужные вам опции конфигурации. Отметим, что мастер автоматически выбирает доступный диск как ваш кворум-ресурс, но это не обязательно тот диск, который вы запланировали для кворум-ресурса.
  • Чтобы выбрать другой диск для вашего кворум-ресурса, щелкните на кнопке Quorum и выберите диск, который хотите использовать. Затем щелкните на кнопке Next.
  • Мастер завершит конфигурирование узла и выведет отчет с результатами. Убедитесь, что установка прошла успешно (см. следующий раздел, "Исправление ошибок конфигурирования") и щелкните на кнопке Next.
  • Щелкните на кнопке Finish в конечном окне, чтобы завершить работу мастера New Server Cluster Wizard.
  • (рис 15.18) Проверьте список конфигурирования, прежде чем продолжить работу Исправление ошибок конфигурирования

    Когда мастер New Server Cluster Wizard завершает конфигурирование узлов, он выводит красный знак "плюс" для опции, имеющей серьезную проблему, и желтый треугольник предупреждения, если возникла некритичная ошибка. Если вы видите какой-либо значок ошибки, раскройте журнал хода установки, щелкнув слева на небольшом черном знаке "плюс". Вы увидите, что некоторые ошибки можно исправить после того, как мастер закончит создание кластера. Другие, более серьезные ошибки должны быть исправлены, прежде чем вы завершите работу с мастером; используйте кнопку Back (Назад), чтобы вернуться к шагам конфигурирования. На рис. 15.19 показана ошибка, которую можно исправить после установки. Эта ошибка относится к имени кластера. Первоначально было выбрано имя, которое совпадало с NetBIOS-именем для другого домена в сети, что недопустимо. Чтобы исправить эту ошибку, я использовал cluster.exe в данном узле для переименования кластера, перезапустил снова New Server Cluster Wizard, ввел новое, допустимое имя и затем перезапустил службу Cluster.

    (рис 15.19) Мастер выводит результаты конфигурирования Использование Cluster Administrator

    Cluster Administrator подсоединится к новому кластеру и выведет его состояние.

    Во время установки все сетевые адаптеры активизированы как для частного обмена информацией кластера, так и для открытого обмена информацией с кластером. Если вы установили сетевой адаптер в частной сети, который хотите выделить для частного обмена информацией кластера, то используйте Cluster Administrator, чтобы открыть диалоговое окно Properties данного адаптера. Затем измените конфигурацию адаптера, чтобы разрешить только частный обмен информацией кластера.

    Убедитесь, что служба работает без ошибок в этом узле, прежде начать процесс установки в следующем узле. Если вам требуется более подробная информация для диагностирования какой-либо проблемы установки, то вы можете использовать файл журнала, который создается мастером установки в файле %SystemRoot%\ system32\logfiles\cluster\ClCfgSrv.log.

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

    Для добавления других узлов к вашему кластеру нужно использовать аналогичную процедуру. Начните с проверки того, что первый узел кластера включен и работает нормально. Затем включите сервер, который хотите сделать следующим узлом кластера, и откройте Cluster Administrator. Щелкните правой кнопкой на имени вашего кластера и выберите в контекстном меню пункт New/Node (Создать/Узел), чтобы запустить мастер добавления компьютеров кластера (Add Cluster Computers Wizard). Следуйте указаниям этого мастера, чтобы выполнить конфигурирование других узлов, добавляя каждый раз по одному узлу. В каждом случае убедитесь, что соответствующий компьютер и служба Cluster работают без ошибок, прежде чем приступить к добавлению следующего узла.

    Тестирование кластера

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

  • Заставит службу Cluster перевести в режим offline ресурсы, представляемые этой группой.
  • Заставит службу Cluster в другом узле перевести в режим online эти ресурсы.
  • На рис. 15.20 показаны результаты после перемещения группы из узла CL1 в узел CL2.

    (рис 15.20) Состояние кластера из двух узлов после перемещения группы

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

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

    Страницы:

    Начиная с Wolfpack Project компании Microsoft, кластеризация прошла большой путь, став важной частью любой реализации предприятия под управлением Windows. В этой лекции рассматриваются современные кластерные решения Microsoft и описывается их использование для масштабирования и расширения вашей сети Windows Server 2003.

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

  • Служба Network Load Balancing (NLB).В основном, предназначена для балансирования входящего трафика TCP/IP. NLB обычно используется для веб-серверов.
  • Кластеры серверов.Реализуются для обеспечения переходов по отказу (failover) среди кластеризованных компьютеров. Служба Cluster обычно используется для приложений, работающих с базами данных.
  • Вы не можете применить обе технологии к одному серверу, но можете использовать эти два кластерных решения совместно для реализации дополняющих друг друга функций, например, сделать базу данных доступной для посетителей веб-сайта.

    Примечание. Microsoft также предлагает третью кластерную технологию - кластеры Component Load Balancing (CLB). Эта технология входит в состав Microsoft Application Center 2000 и не включается ни в одну из версий Windows Server 2003. CLB-кластеры позволяют распространять приложения COM+ среди нескольких серверов, что гарантирует масштабируемость и высокую готовность приложений.

    Кластеры Network Load Balancing

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

    Примечание. Служба Network Load Balancing в ее текущей форме появилась как переработанная замена службы Windows Load Balancing Service (WLBS), используемой в Windows NT 4. Однако вы увидите, что до сих пор имеются компоненты исходной WLBS, например, запускаемая из командной строки программа управления, wlbs.exe, все еще используется для обратной совместимости.

    NLB входит в следующие версии Windows Server 2003:

  • Standard Edition;
  • Enterprise Edition;
  • Datacenter Edition;
  • Web Edition.
  • Преимущества Network Load Balancing

    С помощью Network Load Balancing можно создавать кластеры, содержащие до 32 хостов, среди которых могут распределяться запросы клиентов. Служба NLB расширена в Windows Server 2003, позволяя вам создавать несколько виртуальных NLB-кластеров на одном сервере путем задания NLB для нескольких сетевых адаптеров и путем задания нескольких IP-адресов кластера со сбалансированной нагрузкой для одного сетевого адаптера. Два главных достоинства NLB для приложений - это готовность и масштабируемость.

    Готовность

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

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

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

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

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

    NLB обеспечивает два уровня масштабируемости.

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

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

    Архитектура NLB

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

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

    NLB перехватывает только пакеты TCP и UDP. Пакеты других протоколов IP передаются в стек протоколов и обрабатываются всеми узлами NLB-кластера.

    Оборудование и протоколы

    Служба NLB разработана таким образом, чтобы обеспечивать кластерную поддержку для серверных программ на основе TCP/IP. Для этого, конечно, требуется, чтобы TCP/IP был протоколом по умолчанию для системы. Версия NLB в Windows Server 2003 действует в локальных сетях на основе FDDI или Ethernet внутри кластера.

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

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

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

    Примечание.Некоторые программы двухточечных соединений TCP/IP, в особенности ping, будут давать дублированные ответы при указании IP-адреса кластера. Чтобы избежать этого, используйте выделенный IP-адрес хоста, которому вы передаете ping.

    NLB можно сконфигурировать для обработки трафика кластера более детально путем использования таких средств, как правила для портов или родственность (affinity). Более подробную информацию см. ниже в разделе "Установка и конфигурирование Network Load Balancing".

    Виртуальные кластеры

    Служба Network Load Balancing в Windows Server 2003 расширена за счет поддержки виртуальных кластеров со сбалансированной нагрузкой. Для создания виртуального кластера нужно активизировать NLB для нескольких сетевых адаптеров на одном сервере или назначить несколько IP-адресов одному сетевому адаптеру, для которого активизирована NLB. Поскольку различные IP-адреса могут соответствовать различным веб-сайтам или приложениям, разумное использование виртуальных кластеров и соответствующих правил для портов позволяет вам управлять тем, как различные веб-приложения распределяются между физическими серверами со сбалансированной нагрузкой.

    Виртуальные серверы обладают следующими свойствами.

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

    Имеется несколько способов конфигурирования приложений в NLB-кластере. Кластер можно сконфигурировать таким образом, чтобы копия серверной программы выполнялась на каждом хосте; или приложение может выполняться на одном хосте, когда все запросы отправляются на этот хост вместо равномерного распределения нагрузки по всему кластеру. Принимаемое решение зависит от типа приложения. Например, приложения, которым требуется централизация, такие как Microsoft Exchange Server, принадлежат какому-либо одному хосту. Кроме того, запросы записи в базу данных могут отправляться на выделенный сервер базы данных в системе. Если нагрузка по базе данных сбалансирована в кластере, то каждый узел кластера может иметь свою собственную копию этих данных. Обновления в содержимом таблицы базы данных должны синхронизироваться путем регулярного слияния в режиме offline. Однако в большинстве случаев критически важные базы данных развертываются в среде кластера серверов, позволяющего выполнять переходы по отказам (failover), а не в среде NLB (см. ниже раздел "Кластеры серверов").

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

  • HTTP, HTTPS, FTP, TFTP и SMTP поверх TCP/IP
  • HTTP через SSL - порт 443
  • FTP - порт 21, порт 20, порты 1024.65 и порт 535
  • SMTP - порт 25
  • Terminal Services - порт 3389
  • Веб-серверы (такие как Microsoft Internet Information Services) - порт 80
  • Веб-серверы, использующие круговую DNS
  • Серверы виртуальных частных сетей (VPN)
  • Серверы потокового медиа.
  • Приложение можно развертывать в NLB-кластере, если несколько экземпляров этого приложения можно выполнять одновременно без ошибок или какого-либо ущерба.

    Серверы приложений и соединения с изменяемым состоянием

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

  • Interclient-состояние (состояние с учетом всех клиентов). Обновления синхронизируются с транзакциями, выполняемыми для других клиентов. Примером является обновление базы данных запасов на сайте e-commerce после продажи товаров через соединение с клиентом.
  • Intraclient-состояние (состояние на уровне одного клиента). Состояние, поддерживаемое для конкретного клиента в течение одного сеанса, включающего, например, продажу продуктов (обычно с помощью процесса обработки "торговой тележки") на сайте e-commerce. На самом деле для большинства сайтов e-commerce процесс обработки "торговой тележки" может охватывать несколько отдельных соединений с одним клиентом.
  • Служба NLB действует лучше всего, если она используется, чтобы обеспечивать масштабируемость для интерфейсных служб, не изменяющих своего состояния (например, для стандартного веб-приложения HTTP), даже если эти службы выполняют доступ к разделяемому прикладному серверу баз данных.

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

    NLB можно использовать для масштабируемости приложений с intraclient-состояниями, даже в рамках сеанса, охватывающего несколько соединений. При включении одной из опций родственности (affinity) для клиентов NLB направляет все TCP-соединения на один и тот же хост кластера, что позволяет поддерживать состояние сеанса в памяти этого хоста. (Для клиент/серверных приложений, которые встраивают состояние в cookie-файлы или отправляют его в прикладную базу данных, не требуется родственность для клиентов.)

    Установка и конфигурирование Network Load Balancing

    NLB - это служба, которая привязывается к сетевому адаптеру и устанавливается автоматически (но не активизируется), когда вы устанавливаете сетевой адаптер в любой версии Windows Server, включающей в себя NLB. Параметры конфигурации задаются в диалоговом окне свойств Network Load Balancing Properties, и соответствующие значения записываются в реестр.

    В Windows Server 2003 появилось улучшенное средство конфигурирования и управления NLB - nlbmgr.exe. Поскольку диалоговое окно NLB Properties используется в Windows Server 2003 и в более ранних версиях, сначала дается его описание. Nlbmgr.exe рассматривается ниже в разделе "Использование Nlbmgr.exe для конфигурирования кластеров и узлов".

    Установка службы NLB с помощью диалогового окна NLB Properties

    Щелкните правой кнопкой на значке Local Area Connection (Соединение локальной сети), где вы хотите запустить NLB, и выберите пункт Properties (Свойства). Если на данном компьютере установлено несколько сетевых адаптеров, то каждый сетевой адаптер имеет свой собственный значок Local Area Connection.

    В диалоговом окне Properties служба Network Load Balancing представлена как компонент. Чтобы активизировать эту службу, установите соответствующий флажок (см. рис. 15.1).

    (рис 15.1) NLB автоматически устанавливается вместе с Windows Server 2003, но не активизируется, пока вы не установите ее флажок

    Если служба Network Load Balancing не представлена в диалоговом окне Properties (это обычно означает, что она была специально деинсталлирована), щелкните на кнопке Install (Установить) и выберите тип сетевого компонента Service (Служба). Затем щелкните на кнопке Add и установите службу Network Load Balancing. Microsoft не рекомендует деинсталлировать Network Load Balancing, даже если вы решили не активизировать ее, поскольку ее удаление может иметь негативные последствия.

    Оставив выделенной строку Network Load Balancing, выберите пункт Properties, чтобы открыть диалоговое окно Network Load Balancing Properties, содержащее три вкладки: Cluster Parameters (Параметры кластера), Host Parameters (Параметры хостов) и Port Rules (Правила для портов).

    Задание параметров кластера для службы Network Load Balancing

    Вкладка Cluster Parameters (рис. 15.2) содержит опции, применяемые ко всему кластеру. Чтобы сконфигурировать параметры кластера для каждого хоста в кластере используйте указания этого раздела.

    (рис 15.2) Параметры NLB-кластера одинаковы для всех узлов кластера

    Основной IP-адрес (IP address).Введите основной IP-адрес кластера, используя стандартную форму записи с точками для Интернет. Это виртуальный IP-адрес, поскольку он используется для кластера в целом. Вы должны использовать этот адрес для всех хостов в кластере.

    Маска подсети (Subnet mask).Введите маску подсети, связанную с только что введенным IP-адресом (например, 255.255.255.0).

    Полное интернет-имя кластера (Full Internet name).Введите полное интернет-имя этого кластера, например, nlbcluster.admin911.com. Это имя применяется к кластеру в целом и должно быть одинаковым для всех хостов в кластере. Это имя должно разрешаться (преобразовываться) в заданный основной IP-адрес кластера с помощью сервера DNS или файла HOSTS.

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

    Режим работы кластера (Cluster Operation Mode).Задайте режим Multicast (Групповой) или Unicast (Однонаправленный). В обоих режимах NLB будет использовать IP-адрес кластера, чтобы генерировать локально администрируемый MAC-адрес. В режиме unicast служба NLB генерирует MAC-адрес, который она использует вместо аппаратного MAC-адреса сетевого адаптера. Этот адрес используется для пакетов, отправляемых с IP-адреса кластера, а также для пакетов, отправляемых с других IP-адресов, заданных для сетевого адаптера, к которому привязана NLB. Сетевой стек никогда не отправит пакет по сетевому кабелю, если пакет направлен по MAC-ад-ресу его собственного компьютера, поэтому узлы одного NLB-кластера не могут взаимодействовать друг с другом, используя сетевой адаптер с NLB, если они находятся в однонаправленном (unicast) режиме. В режиме unicast требуется, чтобы каждый узел кластера имел второй сетевой адаптер, если узлам требуется доступ друг к другу по причинам, отличным от использования службы NLB.

    Если выбран групповой (multicast) режим, то служба NLB продолжает использовать аппаратный MAC-адрес сетевого адаптера с помощью выделенного (уникального) IP-адреса узла, поэтому узлы кластера могут выполнять доступ друг к другу, используя сетевой адаптер с NLB. Однако NLB генерирует для кластерных операций групповой MAC-адрес. Это означает, что основной IP-адрес кластера будет разрешаться (преобразовываться) в этот групповой MAC-адрес в составе протокола ARP.

    Учтите это, прежде чем активизировать режим multicast. Многие брандмауэры и маршрутизаторы, включая маршрутизаторы Cisco, не могут добавлять эту запись в свой кэш ARP, что не позволяет клиентам подсоединяться к кластеру, если вы не реализовали обходной способ (см. ниже). По это причине unicast является режимом работы NLB по умолчанию, хотя режим multicast является предпочтительным режимом работы.

    Если клиенты выполняют доступ к работающему в режиме multicast кластеру через маршрутизатор, то этот маршрутизатор должен принимать ARP-ответ, содержащий один MAC-адрес в полезной информации структуры ARP, но этот ответ будет представлен как поступивший со станции, имеющей другой MAC-адрес (в заголовке Ethernet). Кроме того, маршрутизатор обязан принимать ARP-ответ, содержащий групповой MAC-адрес в полезной информации структуры ARP. Если маршрутизатор не отвечает этим требованиям, то у вас должна быть возможность добавления статической ARP-записи к потоку через маршрутизатор или брандмауэр из кластера, чтобы поддерживать разрешение однонаправленных IP-адресов в групповые MAC-адреса.

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

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

    Внимание. В одном NLB-кластере нельзя одновременно использовать режимы multicast и unicast.

    Новый режим IGMP Multicast.IGMP Multicast - это новое средство для режима multicast, появившееся в Windows Server 2003. Это новое средство используется, чтобы избегать лавинной маршрутизации через переключатель (switch flooding), вызываемой групповым трафиком. Это явление возникает, когда переключателю не известно, какой порт переключателя обслуживает определенный MAC-адрес, и поэтому требуется отправка пакета во все порты переключателя. Это, конечно, означает, что вы теряете все преимущества переключения через хаб (концентратор).

    Протокол IGMP (Internet Group Management Protocol) позволяет хостам IP сообщать об их членстве в multicast-группах соседним маршрутизаторам и переключателям. Переключателю уровня 3 известны сетевые протоколы и адреса более высоких уровней (такие как IP) в дополнение к протоколам аппаратного уровня 2 и соответствующим MAC-адресам. Если узлы NLB-кластера подсоединяются к сети через переключатель уровня 3, то IGMP снижает трафик через этот переключатель за счет того, что информирует переключатель, какие порты подсоединены к хостам, входящим в multicast-группу. Чтобы можно было эффективно использовать средство IGMP Multicast, узлы кластера должны быть подсоединены к сети через переключатель, который поддерживает IGMP Monitoring. Периодически (по умолчанию раз в минуту) каждый узел NLB-кластера отправляет сообщение IGMP Join, информируя восходящий поток через сетевое оборудование, что он является членом IGMP-группы данного кластера.

    Если вы активизировали поддержку IGMP Multicast, то соответствующий групповой IP-адрес должен быть допустимым IP-адресом класса D, то есть адресом в диапазоне от 215.0.0.0 до 239.255.255.255.

    Пароль для удаленного доступа (Remote Password).Вы можете задать пароль для доступа в кластер с удаленного компьютера Windows Server 2003. Этот пароль используется для аутентификации программой управления кластером Nlb.exe (она не используется при управлении операциями кластера с хоста кластера). Для выполнения операций удаленного управления из программы Nlb.exe требуется указывать параметр /passw в командной строке вместе с конкретным паролем.

    Совет. Чтобы отказаться от использования пароля, очистите оба поля - Remote Password и Confirm Password (Подтверждение пароля).

    Если у вас используется удаленное управление, то важно защитить кластер, поскольку злоумышленники могут проникнуть в окружение через порты удаленного управления. Используйте брандмауэр для управления доступом к UDP-портам управления Network Load Balancing (порты, которые получают команды удаленного управления). По умолчанию это порты 1717 и 2504 по IP-адресу кластера. А еще лучше используйте nlbmgr.exe или какое-либо средство управления на основе WMI вместо Nlb.exe в режиме удаленного управления.

    Внимание. Команды удаленного управления Nlb.exe работают неверно, если IPSec шифрует пакеты.

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

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

    (рис 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 или оба протокола).
  • (рис 15.4) По умолчанию правило для портов предусматривает вариант Single для родственности и равномерную нагрузку по всем портам TCP и UDP(рис 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-адрес кластера.
  • Использование Nlbmgr.exe для конфигурирования кластеров и узлов

    Конфигурирование NLB на странице свойств Network Load Balancing Properties для каждого узла кластера может занять много времени. Согласование правил для портов по всем узлам кластера может представлять определенную проблему. Оба этих вопроса можно разрешить с помощью Network Load Balancing Manager (nlbmgr.exe).

    NLB Manager позволяет вам создавать новые кластеры на основе Windows Server 2003 и добавлять узлы к существующим кластерам. Эта программа позволяет также создавать правила для портов и одновременно развертывать правила по всем узлам кластера.

    NLB Manager можно запускать в системе Windows XP Professional или Windows Server 2003 для создания NLB-кластеров и управления ими в системах Windows Server 2003. NLB Manager находится в пакете Administrative Tools (\i386\adminpak.msi) на установочном CD Windows Server 2003.

    Хотя узлы на основе Windows 2000 могут взаимодействовать с узлами на основе Windows Server 2003, NLB Manager работает с NLB-кластерами только на основе Windows Server 2003.

    Хотя при использовании NLB Manager или конфигурировании каждого сервера с помощью диалогового окна Network Load Balancing Properties используются сходные концепции установки и конфигурирования NLB-кластера, реализуемая процедура отличается в одном ключевом аспекте. При конфигурировании серверов по отдельности с помощью диалогового окна NLB Properties вы должны повторять ввод параметров по каждому серверу. Используя NLB Manager, вы определяете сначала свойства кластера и затем конфигурируете отдельные серверы, добавляя их к кластеру. В процессе добавления сервера к кластеру NLB Manager конфигурирует сервер, используя заранее определенные настройки. Это позволяет исключить возможность задания серверов, которые не будут согласовываться с кластером из-за отличий в одном или нескольких параметрах.

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

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

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

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

  • Запустите NLB Manager путем запуска nlbmgr.exe из командной строки или из меню Start/Run (Пуск/Выполнить).
  • Откройте меню Cluster (Кластер) и выберите пункт New (Создать), см. рис 15.6(рис 15.6) Используйте NLB Manager для создания, модифицирования и управления конфигурациями NLB-кластеров
  • Заполните панели Cluster Parameters и Port Rules, как если бы вы последовательно работали в диалоговых окнах Properties. Отметим, что вы не можете вводить на этой стадии информацию по конкретным хостам.
  • Щелкните на кнопке OK, чтобы завершить определение параметров уровня кластера.
  • Добавление узлов к кластеру с помощью NLB Manager

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

  • Выберите имя этого сервера и щелкните на кнопке Connect (Подсоединиться). NLB Manager запросит ваши опознавательные данные. Введите пользовательское имя в полностью уточненном формате ( домен \ имя_пользователя или имя_-сервера \ имя_пользователя, а не только имя_пользователя ).
  • NLB Manager представит сетевые адаптеры, которые он обнаружит на этом сервере, и попросит вас выбрать один из них (см. рис 15.7(рис 15.7) Выберите сетевой интерфейс для этого члена NLB-кластера
  • На странице Host Parameters (аналогичной диалоговому окну конфигурирования свойств хоста NLB) введите запрашиваемую информацию и щелкните на кнопке Next.
  • NLB Manager обновит как свойства NLB, так и свойства TCP/IP этого сервера и переведет кластер в состояние online. По завершении процесса NLB Manager выведет результаты и состояние кластера в отдельном окне управления кластерами (см. рис. 15.8).

    Для добавления других хостов к кластеру щелкните правой кнопкой на имени этого кластера и выберите пункт Add Host To Cluster (Добавить хост к кластеру). Альтернативный способ - это выделить имя кластера и затем выбрать в линейке меню пункт Cluster/Add Host To Cluster. После этого NLB Manager будет сопровождать вас, используя описанные выше шаги.

    (рис 15.8) NLB Manager выводит текущее состояние всех отслеживаемых кластеров, а также ведет журнал записей об успешном или неудачном завершении задач управления NLB-кластером

    Изменение параметров кластера и хостов с помощью NLB Manager

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

    Для изменения параметров кластера откройте диалоговое окно свойств Cluster Properties (щелкните правой кнопкой на имени этого кластера и выберите пункт Properties или выделите имя кластера и затем выберите Cluster/Properties). Чтобы изменить свойства кластера, внесите соответствующие изменения и щелкните на кнопке OK. NLB Manager прекратит выполнение кластерных операций, внесет изменения в отдельные узлы кластера и затем перезапустит узлы в их начальном состоянии по умолчанию.

    Чтобы внести изменения в параметры хоста кластера, откройте диалоговое окно Host Properties из контекстного меню этого хоста или из меню Host, выделив перед этим данный хост. Окно Host Properties содержит четыре вкладки (см. рис. 15.9). NLB Manager позволяет вам изменять параметры во вкладке Host Parameters а также изменять приоритет обработки (handling priority) для любых правил, относящихся к одному хосту. Вся остальная информация выводится только для сведения и не может быть изменена в диалоговом окне Host Properties.

    Администрирование Network Load Balancing

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

    У вас имеется два средства администрирования ваших NLB-кластеров: NLB Manager и Nlb.exe, которые рассматриваются в следующих разделах.

    Администрирование NLB с помощью NLB Manager

    Используя NLB Manager, вы можете полностью управлять операциями кластера и отдельных хостов кластера. Щелкнув правой кнопкой мыши на имени кластера или на отдельном хосте кластера, вы можете выбрать вариант Control Host(s) [Управление хостом(ами)] или Control Ports (Управление портами).

    Как показано на рис. 15.10, в меню Control Hosts можно выбрать для хоста или для всех хостов кластера команду Start, Stop, Drainstop, Suspend или Resume.

    (рис 15.9) Вы можете задавать настройки конфигурации в диалоговом окне Host Properties(рис 15.10) Меню Control Hosts позволяет вам управлять состоянием хостов кластера

    В диалоговом окне Control Ports вы можете выбрать команду Enable, Disable или Drain для отдельного правила в рамках одного хоста или всех хостов кластера (рис. 15.11).

    Управление NLB-кластером с помощью Nlb.exe

    После установки и конфигурирования службы NLB вы можете управлять ее операциями (и изменять настройки некоторых параметров) с помощью программы управления Network Load Balancing ( Nlb.exe ).

    Вы можете использовать программу Nlb.exe, находящуюся в папке %SystemRoot%\System32, с хостов кластера или с любого удаленного компьютера Windows Server 2003, который может получать доступ к кластеру через локальную или глобальную сеть. Nlb.exe - это программа, которая позволяет администраторам писать и выполнять скрипты командной строки для упрощения администрирования.

    (рис 15.11) Окно Control Ports позволяет вам управлять правилами для хоста или кластераВнимание. Nlb.exe нельзя использовать для изменения параметров хоста с удаленного компьютера, хотя вы можете просматривать информацию об удаленном компьютере.

    Nlb.exe имеет следующий синтаксис.

    nlb <команда> [<кластер>[:<хост>] [/passw [<пароль>]] [/port <порт>]]

    где:

    команда - одна из поддерживаемых команд (см. ниже); при доступе к кластеру с удаленного компьютера используются следующие параметры.

  • кластер - основной IP-адрес кластера.
  • хост - IP-адрес хоста в этом кластере (если не указан, то все хосты).
  • /passw <пароль> - пароль для удаленного доступа.
  • /port <порт> - порт UDP для удаленного доступа к кластеру.
  • Имеются следующие команды.

  • ip2mac <кластер>. Преобразует IP-адрес кластера в MAC-адрес кластера.
  • reload. Перезагружает параметры из реестра; действует только на локальной машине.
  • query. Запрос, позволяющий увидеть, какие хосты входят на данный момент в кластер.
  • display. Выводит параметры конфигурации, текущее состояние и недавние сообщения журнала событий.
  • suspend. Задерживает управление операциями кластера; прекращает выполнение операций хостов кластера. Задержанные хосты кластера будут игнорировать все команды управления кластером, кроме Resume (и Query).
  • resume. Возобновляет управление операциями кластера; не перезапускает работу задержанного кластера, а только разрешает ему принимать другие команды управления.
  • start. Запускает операции кластера.
  • stop. Прекращает выполнение операций кластера.
  • drainstop. Разъединяет все существующие соединения и прекращает выполнение операций кластера.
  • enable <порт>/all. Активизирует трафик для правила <порта> или для всех портов.
  • disable <порт>/all. Отключает трафик для правила <порта> или для всех портов.
  • drain <порт>/all. Отключает новый трафик для правила <порта> или для всех портов.
  • igmp <enable/disable> <IP-адрес кластера>. Активизирует или отключает поддержку IGMP Multicast для кластера.
  • Кластеры серверов

    Еще одним компонентом в кластеризации Windows являются кластеры серверов. Цель применения кластеров серверов несколько отличается от Network Load Balancing. Кластеры серверов больше подходят для обеспечения высокого уровня готовности и управляемости вашего сетевого окружения Windows Server 2003, в то время как NLB больше подходит для обеспечения высокой надежности и производительности. Кластер серверов обеспечивает высокий уровень готовности для приложений, которые не имеет смысла или невозможно запускать более чем на одном сервере, например, для многих программ управления базами данных.

    Кластеры серверов обеспечивают готовность системы за счет использования технологии переходов по отказу (failover) с одного узла на другой. Кластерное ПО автоматически перемещает процессы и ресурсы с отказавшего компьютера на остальные компьютеры кластера. Служба Cluster имеется в версиях Windows Server 2003 Enterprise Edition и Datacenter Edition (обе эти версии поддерживают кластеры из восьми узлов).

    Архитектура кластеров серверов

    Как и в случае NLB, кластер серверов - это группа компьютеров, которые совместно работают как единое целое. Версии Windows Server 2003 Enterprise Edition и Datacenter Edition поддерживают кластеры из восьми узлов. (Windows 2000 Advanced Server поддерживает в кластере серверов два компьютера, и Windows 2000 Datacenter Server поддерживает четыре компьютера.)

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

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

    Переход по отказу (failover) и возврат после восстановления (failback)

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

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

    Узел восстановления сначала берет на себя владение ресурсами отказавшего узла. Зависимые ресурсы переводятся в режим offline раньше, чем ресурсы, от которых они зависят. Служба Cluster делает это путем использования Resource Monitor (Монитора ресурсов) для соединения с DLL, которая управляет этим ресурсом (см. ниже раздел "Монитор ресурсов"). Если не удается установить контакт с ресурсом или отключить его нормальным образом, то он немедленно отключается. После отключения ресурсов узел восстановления начинает брать на себя управление этими ресурсами, получает IP-адрес отказавшего узла и, наконец, автоматически запускается, предоставляя клиентам услуги отказавшего узла путем возврата ресурсов и служб в режим online.

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

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

  • Переход по отказу по-настоящему полезен только в том случае, когда узел, восстанавливающий приложение, может адекватно обслуживать дополнительную рабочую нагрузку. Поскольку незапланированные отказы трудно или невозможно предсказать, то вам следует оборудовать все узлы таким образом, чтобы они могли легко брать на себя рабочую нагрузку в случае отказов.
  • Процесс перехода по отказу является полностью настраиваемым. Вы можете использовать Cluster Administrator (Администратор кластера), чтобы определять политики и процедуры для перехода по отказу. Например, вы можете определять зависимости приложения (должен ли отказ приложения вызывать перезапуск приложения в том же узле) и политики возврата после восстановления (failback).
  • Возврат после восстановления.После перехода по отказу узел (или узлы) восстановления берет на себя службы из отключившегося узла или приложения. Вы должны всегда рассматривать переход по отказу как временное решение, поскольку это обычно вызывает перегрузку ресурсов. В результате вам следует постараться как можно быстрее вернуть приложение или узел в состояние online.

    Механизм восстановления исходной конфигурации называется возвратом после восстановления (failback). По сути это процесс перехода по отказу в обратном направлении. Он автоматически выравнивает нагрузку, когда снова становится доступным данное приложение или узел.

    Режимы работы кластера серверов

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

  • Кластеризация типа active/active. Это наиболее продуктивный и эффективный режим работы, который вы можете использовать. В этом режиме все узлы действуют под нагрузкой (они обслуживают клиентов), и они могут обеспечивать восстановление для любого отказавшего приложения или узла. Преимущества этого режима заключаются в более эффективном использовании ресурсов оборудования. Иначе говоря, ресурсы не простаивают, ожидая, когда приложение или узел выйдет из строя.
  • Кластеризация типа active/passive. Используется для обеспечения максимального уровня готовности, стабильности и производительности. В этом режиме один узел активно предоставляет услуги, в то время как другой простаивает, ожидая выхода из строя активного приложения или узла. Хотя этот режим обеспечивает наиболее высокий уровень безопасности для вашего кластера Windows Server 2003, его недостатком является то, что простаивают полезные ресурсы.
  • Компоненты оборудования кластера серверов

    Компоненты оборудования, необходимые для кластера серверов, являются еще одним фактором, отличающим кластеры серверов от NLB-кластеров. Иными словами, к кластерам серверов предъявляются более высокие требования по ресурсам (переход по отказу, возврат после восстановления и кластеризация типа active/active). В следующих разделах подробно описываются основные компоненты оборудования, необходимые для создания и поддержки кластера серверов.

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

  • На сервере должна работать система Windows Server 2003 Enterprise Edition или Datacenter Edition.
  • Сервер должен быть членом домена, но не рабочей группы.
  • На сервере должна быть установлена и запущена служба Cluster.
  • Сервер должен быть подсоединен к одному или нескольким разделяемым ЗУ. Более подробные сведения см. ниже в разделе "Разделяемые ЗУ".
  • Совет. Поместите все серверы, которые будут узлами кластера серверов, в их собственную организационную единицу (OU) Active Directory, чтобы изолировать их от групповых политик, которые могут действовать для других серверов.

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

  • Поскольку каждый узел кластера серверов подсоединен к одному или нескольким разделяемым ЗУ, каждый из них совместно использует данные, хранящиеся на этих устройствах.
  • Каждый узел обнаруживает присутствие других узлов в кластере серверов посредством межсоединения. Межсоединение - это обычно высокоскоростное соединение, которое подключено к каждому узлу. Узлы не обязательно должны иметь отдельное межсоединение, отличное от их сетевого адаптера, который связывает их с остальной частью сетевого окружения Windows Server 2003. Однако очень рекомендуется иметь отдельное межсоединение.
  • Примечание. Узлы кластера серверов могут также обнаруживать присоединение к кластеру серверов других узлов или их выход из кластера серверов. Эта способность обнаружения используется для выявления отказов компьютеров и приложений.

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

    Рабочие состояния узла
    Состояние Описание
    Down (Отключен) Узел не работает в кластере серверов из-за отказа компьютера или приложения либо запланированного обслуживания.
    Joining (Присоединение) Узел становится членом кластера серверов.
    Paused (Приостановлен) Разделяемые ресурсы захвачены, поэтому узел находится в состоянии ожидания, пока не будут освобождены ресурсы.
    Up (Включен) Узел находится в активном состоянии и работает в кластере серверов.
    Unknown (Неизвестно) Рабочее состояние узла невозможно определить.

    Разделяемые ЗУ.Все узлы, участвующие в работе кластера серверов, совместно используют одно или несколько запоминающих устройств (ЗУ), как это показано на схеме рис. 15.12. Эти ЗУ используют разделяемую шину SCSI для подключения к двум узлам кластера серверов.

    Если вы хотите поддерживать более двух узлов (до восьми узлов), то должны установить устройство с волоконно-оптическим каналом. Windows Server 2003 Enterprise Edition и Datacenter Edition поддерживают широкий диапазон устройств SCSI от различных изготовителей, но я настоятельно рекомендую обратиться к списку совместимости оборудования (Hardware Compatibility List - HCL), прежде чем приступить к созданию кластера серверов. Microsoft официально поддерживает только сертифицированные для кластеров комбинации серверов и ЗУ. См. www.microsoft.com/hcl со списком поддерживаемых систем.

    Совет. Вы сэкономите кучу времени, если проверите работу устройств SCSI, прежде чем приступить к созданию кластера серверов. (рис 15.12) Кластеры серверов с двумя узлами могут использовать разделяемую шину SCSI для совместного использования ЗУ

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

    Примечание. Для повышения отказоустойчивости вам следует использовать матрицы дисков RAID (Redundant Array of Independent Disks) 5. RAID 5 выполняет запись данных с чередованием между тремя и более дисками, организованными в виде массива, и поддерживает информацию по четности для повышения производительности и снижения риска потери данных из-за отказов дисковой подсистемы.

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

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

    Clusnet.sys, сетевой драйвер кластера, запускается в каждом узле и управляет обменом данных кластера серверов.

    Программные компоненты

    Несколько программных компонентов образуют кластеры серверов; они разделяются на две категории.

  • ПО кластеризации.Компоненты ПО, которые требуются для работы кластера серверов. Это ПО инициирует взаимодействие между узлами, определяет рабочее состояние приложения или узла, передает операции с ресурсами и выполняет много других функций. Два основных компонента ПО кластеризации - это Resource Monitor (Монитор ресурсов) и служба Cluster.
  • Административное ПО.Предоставляет вам контроль и управление кластером серверов, чтобы вы могли конфигурировать этот кластер и следить за ним. Имеется два основных компонента в категории административного ПО: Cluster Administrator (Администратор кластеров) и утилита командной строки cluster.exe. Cluster Administrator не обязательно запускать непосредственно в каком-либо узле кластера; его можно запускать удаленным образом с любого компьютера Windows Server 2003 или Windows 2000, а также с компьютера Windows NT 4 с Service Pack, начиная с версии 3.
  • Служба Cluster.Служба Cluster запускается в каждом узле кластера серверов. Это центр кластера серверов, управляющий всеми операциями кластера серверов. Служба Cluster управляет следующими действиями.

  • Управляет всеми объектами кластера серверов, включая узлы (например, узлом, в котором она установлена), разделяемые ЗУ и информацию о конфигурации (например, IP-адрес узла или имя компьютера).
  • Осуществляет взаимодействие и координацию с другими службами Cluster в кластере серверов, включая включение или удаление узла в кластере серверов.
  • Обнаруживает отказы приложений и узлов и инициирует операции перехода по отказу (failover). Это может быть попытка перезапуска приложения, а также распределение нагрузки на другой узел кластера серверов.
  • Управляет уведомлениями о событиях.
  • Монитор ресурсов (Resource Monitor).Любой физический или логический компонент в кластере серверов (большинство из них уже описано выше) рассматривается как ресурс службой Cluster. Чтобы повысить управляемость компонентов кластера серверов, используется Монитор ресурсов, помогающий осуществлять взаимодействие между службой Cluster и ресурсами кластера.

    Мониторы ресурсов - это различные программные компоненты, которые используются как "посредники" между службой Cluster и ресурсами кластера серверов. Монитор ресурсов позволяет работать этим ресурсам отдельно друг от друга, а также от службы Cluster. Это разделение ресурсов повышает уровень надежности, готовности и масштабируемости для кластера серверов. Например, отказ ресурса не влияет на работоспособность службы Cluster. Кроме того, Монитор ресурсов используется для слежения за службой Cluster, чтобы при ее отказе Монитор ресурсов мог реагировать, переводя в режим offline все ресурсы этого узла.

    Монитор ресурсов не вызывает никаких операций кластера серверов, за двумя исключениями: сбор отчетов о состоянии от службы Cluster или от ресурсов и перевод в режим offline всех ресурсов узла в случае отказа службы Cluster. Когда Монитор ресурсов связывается с ресурсом, он фактически связывается с ресурсной DLL этого ресурса. Ресурсную DLL можно видеть как интерфейс с этим ресурсом. Возьмем, например, ресурс, где возникло какое-либо событие. Ресурсная DLL должна сообщить об этом событии службе Cluster. И здесь вступает в дело Монитор ресурсов; он фактически принимает сообщение и обеспечивает уведомление службы Cluster.

    Cluster Administrator (Администратор кластеров).Cluster Administrator это основное средство администрирования и конфигурирования объектов кластера серверов, таких как узлы, группы и другие ресурсы. Он устанавливается по умолчанию в каждом узле кластера, но его можно также установить на любом компьютере с Windows Server 2003, Windows 2000 или Windows NT 4 с Service Pack, начиная с версии 3. Это позволяет вам управлять кластером серверов без необходимости физического присутствия в одном из узлов.

    Программа Cluster Administrator вызывается из меню Administrative Tools версий Windows Server 2003 Standard Edition, Enterprise Edition и Datacenter Edition (но не Web Edition).

    Примечание. Cluster Administrator устанавливается в системах Windows XP Professional, когда вы устанавливаете \i386\adminpak.msi с установочного CD Server 2003.

    Утилита командной строки Cluster. Cluster.exe позволяет вам управлять кластером из командной строки или из скрипта, который вызывает cluster.exe. Эту утилиту можно запускать на компьютере с Windows Server 2003, Windows 2000 или Windows NT 4 с Service Pack, начиная с версии 3.

    Прежде чем использовать cluster.exe, вам нужно изучить следующие важные синтаксические правила.

  • Заключайте в кавычки все имена, содержащие пробелы и специальные символы.
  • Для булевых значений ( True и False ) указывайте 1 для True и 0 для False.
  • Если вы не указываете имя кластера серверов или используете точку (.), то предполагается, что вы работаете в локальном кластере серверов и указываете этот кластер.
  • Cluster.exe обрабатывает опции слева направо, и если какая-либо опция неверна, то команда прекращает свое выполнение на этой опции.
  • Используйте две кавычки вместо одной в строке, где имеются две кавычки подряд ("").
  • Синтаксис cluster.exe зависит от объектов, которыми вы управляете. В табл. 15.2 описываются различные объекты, которыми вы можете управлять, с описанием соответствующего синтаксиса.

    Совет. Чтобы вывести опции для любого из определений синтаксиса табл. 15.2, введите cluster.exe /? или cluster.exe /help в командной строке.

    Логические и физические компоненты кластеров

    Служба Cluster работает с приложениями, управляя логическими и физическими компонентами кластера.

    Логические компоненты.Служба Cluster управляет множеством логических компонентов, включая следующие компоненты.

  • Виртуальный сервер.Это имя сервера вместе группами ресурсов, необходимых для выполнения кластеризованного приложения. Виртуальный сервер - это представление для клиентов кластеризованного сервера, поскольку клиенты не знают, какой узел кластера содержит виртуальный сервер.
  • Базовый синтаксис для Cluster.exe
    Кластер cluster [[/cluster:] имя_кластера ] /опция
    Узел кластера cluster [[/cluster:]имя_кластера] node имя_узла оn-
    Кластерная группа cluster [[/cluster:]имя_кластера] group имя_группы [/node:имя_узла] опция
    Кластерная сеть cluster [[/cluster:]имя_кластера] network имя_сети опция
    Сетевой интерфейс кластера cluster [[/cluster:]имя_кластера] netinterface /node: имя_узла /network:имя_сети опция
    Кластерный ресурс cluster [[/cluster:]имя_кластера] resource имя_ресурса опция
    Тип кластерного ресурса cluster [[/cluster:]имя_кластера] resourcetype отображаемое-имя-типа-ресурса опция
  • Ресурсы.Основные элементы, управляемые службой Cluster. Определение любого заданного ресурса может соответствовать физическому устройству (например, дисковый накопитель) или логическому объекту (например, IP-адрес, служба или имя). Ресурсы имеют атрибуты, которые (среди прочих вещей) указывают, каким узлам разрешается переводить ресурсы в режим online (вместе с условием, что узел кластера должен находиться в режиме online, чтобы он мог перевести заданный ресурс в режим online).
  • Группы.Набор ресурсов, причем любой конкретный ресурс может одновременно принадлежать только одной группе. При переходе по отказу (failover) и возврате после восстановления (failback) служба Cluster перемещает группу из одного узла кластера в другой, обеспечивая перевод всех ресурсов группы в режим offline для старого узла кластера, прежде чем ресурсы будут переведены в режим online в новом узле кластера. Операция, выполняемая на уровне группы, влияет на все ресурсы в этой группе.
  • Физические компоненты.Имеются следующие физические компоненты, поддерживающие логические компоненты кластера.

  • Узлы.Сервер, который является членом кластера. Узел находится в режиме online, если работает сам сервер, на нем работает служба Cluster и этот узел взаимодействует с другими узлами, находящимися в режиме online.
  • Диски кластера.Логические диски (отдельные физические диски или тома RAID), которые подключены к разделяемой шине, доступной для всех узлов кластера. На дисках кластера содержатся данные приложений. Подготавливая диски для кластера, обязательно сконфигурируйте их как базовые диски, но не динамические диски.
  • Кворум-ресурс.Дисковый накопитель на разделяемой шине, который не является членом какой-либо группы перехода по отказу (failover). Служба Cluster помещает данные управления и журнал восстановления на кворум-ресурс и использует его для арбитража управления кластером. Кворум-ресурс на диске с разделяемой шиной должен быть сконфигурирован как базовый (Basic) диск, а не как динамический (Dynamic) диск.
  • Периодические контрольные пакеты (heartbeat).IP-пакеты, которыми регулярно обмениваются узлы кластера. Если узел не может получить такой пакет от другого узла, то он предполагает, что произошел отказ узла, не передающего пакеты. После этого активный узел инициирует процесс перехода по отказу.
  • Использование кластеров серверов в вашем окружении

    Критически важным шагом является планирование способа включения кластеров серверов в ваше сетевое окружение Windows Server 2003. Не упустите ни одного аспекта планирования, прежде чем приступить к реализации. К сожалению, многие администраторы уделяют слишком мало времени планированию, и в результате получается неудачное решение, которое не приносит реальных выгод предприятию или даже вызывает серьезные аварии.

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

  • Что вы собираетесь поддерживать?Файловые службы и службы печати, веб-службы и приложения - это лишь небольшая часть того, что вы можете поддерживать с помощью кластеров серверов. Ваше решение окажет огромное влияние на модель, которой вы будете следовать.
  • Какой уровень готовности, масштабируемости, надежности и производительности вам нужен?Модели, которые предоставляет Microsoft (см. следующий раздел), варьируются в зависимости от предлагаемых служб. Иначе говоря, одна модель может предлагать высокий уровень готовности, но не слишком большой уровень масштабируемости.
  • Каковы ваши финансовые ограничения?
  • В следующем разделе описываются модели конфигураций, которые предлагает вам рассмотреть вам Microsoft. Для простоты изложения эти модели описываются для кластера с двумя узлами. Помня об изложенных выше вопросах, оцените каждую модель, чтобы решить, какая из них больше подходит для вашего сетевого окружения Windows Server 2003.

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

    Модель кластера с горячим резервированием (hot-spare cluster), показанная на рис. 15.13, называется также моделью типа active/passive, поскольку одновременно используются не все ресурсы оборудования. В результате эта модель обеспечивает наиболее высокий уровень готовности.

    (рис 15.13) В модели кластера типа active/passive второй узел используется только при отказе первого узла

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

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

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

    Модель кластера типа active/active

    Модель кластера типа active/active представляет два узла в кластере серверов, которые работают одновременно (рис. 15.14). Каждый узел отвечает за свои собственные ресурсы кластера серверов, пока не возникнет необходимость в переходе по отказу. При отказе одного узла работающий узел берет на себя ресурсы отказавшего узла.

    (рис 15.14) В модели кластера типа active/active оба узла содержат различные виртуальные серверы и используют дополнительные мощности, чтобы брать на себя роль второго узла в случае его отказа

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

    Гибридная конфигурация

    Модель с гибридной конфигурацией представляет конфигурацию, где одно или несколько приложений работают в узлах кластера вне управления службой Cluster, а одно или несколько приложений работают под управлением службы Cluster. Например, служба Cluster может управлять экземпляром SQL Server, в то время как DNS может работать вне контекста службы Cluster. В случае отказа узла SQL Server перейдет по отказу на другой работающий узел, а DNS не сможет это сделать.

    Конфигурация с одним узлом

    В конфигурации с одним узлом вы устанавливаете службу Cluster на одном компьютере и определяете один или несколько виртуальных серверов в этом кластере. Эта конфигурация не дает обычных преимуществ кластеров серверов, касающихся высокой готовности, но имеет некоторые административные достоинства. Например, вы можете определить в кластере с одним узлом два виртуальных сервера, обслуживающих два различных отдела. Если вам потребуется более высокий уровень готовности или дополнительные ресурсы серверов, то вы добавите второй узел к этому кластеру. При этом с клиентской точки зрения ресурсы сервера не изменятся. Вы можете установить конфигурацию с одним узлом на сервере, где нет шины разделяемого ЗУ, но вы должны сразу сконфигурировать этот сервер с шиной SCSI или Fibre Channel, чтобы можно было впоследствии добавить еще один узел.

    Установка службы Cluster

    Установка является реализацией ваших усилий по планированию и разработке. Вы должны устанавливать службу Cluster по отдельности в каждом узле. Если запустить операционную систему в нескольких узлах, прежде чем начнет работать в первом узле служба Cluster, то могут быть запорчены диски, используемые в кластере. После завершения и проверки физической установки вашего кластера, включая шину разделяемого ЗУ, кворум-ресурс, разделяемые диски, сетевой адаптер для обмена контрольными пакетами (heartbeat) и адаптер клиентского доступа, выключите все несконфигурированные узлы кластера за исключением узла, который вы устанавливаете.

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

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

    Все узлы кластера должны быть членами одного домена. Чтобы создать новый кластер, запустите Windows Server 2003 Enterprise Edition или Datacenter Edition в первом узле и проследите, чтобы были отключены все остальные компьютеры, подсоединенные к шине разделяемого ЗУ. Затем установите первый узел кластера, используя следующие шаги.

  • Откройте программу Cluster Administrator из меню Administrative Tools. В списке Action (Действие) выберите команду Create New Cluster (Создать новый кластер).
  • В первом окне мастера New Server Cluster Wizard щелкните на кнопке Next.
  • В следующем окне мастера введите имя кластера и проверьте имя домена (см. рис 15.15(рис 15.15) Каждый кластер должен иметь имя, и все его члены должны быть членами одного домена
  • В следующем окне введите имя компьютера, который станет первым узлом нового кластера, и щелкните на кнопке Next.
  • В следующем окне будет представлен процесс анализа необходимых компонентов (рис. 15.16). Если по завершении этого анализа возникли ошибки, щелкните на кнопке View Log (Просмотр журнала) и исправьте ошибки, которые обнаружите в этом журнале, затем снова запустите процесс (Re-analyze). При отсутствии ошибок щелкните на кнопке Next.
  • В следующем окне введите IP-адрес этого кластера и щелкните на кнопке Next. Это IP-адрес, который будет использоваться всеми средствами управления кластером.
  • В следующем окне (рис 15.17(рис 15.16) Мастер New Server Cluster Wizard проверяет сервер, чтобы убедиться, что он содержит все, что необходимо для узла кластера(рис 15.17) Учетная запись службы Cluster должна быть доменной учетной записью, а не учетной записью локального компьютера
  • Мастер выведет сводку конфигурации кластера, который он создал (рис. 15.18). Выполните прокрутку этого списка, чтобы убедиться, что он содержит нужные вам опции конфигурации. Отметим, что мастер автоматически выбирает доступный диск как ваш кворум-ресурс, но это не обязательно тот диск, который вы запланировали для кворум-ресурса.
  • Чтобы выбрать другой диск для вашего кворум-ресурса, щелкните на кнопке Quorum и выберите диск, который хотите использовать. Затем щелкните на кнопке Next.
  • Мастер завершит конфигурирование узла и выведет отчет с результатами. Убедитесь, что установка прошла успешно (см. следующий раздел, "Исправление ошибок конфигурирования") и щелкните на кнопке Next.
  • Щелкните на кнопке Finish в конечном окне, чтобы завершить работу мастера New Server Cluster Wizard.
  • (рис 15.18) Проверьте список конфигурирования, прежде чем продолжить работу Исправление ошибок конфигурирования

    Когда мастер New Server Cluster Wizard завершает конфигурирование узлов, он выводит красный знак "плюс" для опции, имеющей серьезную проблему, и желтый треугольник предупреждения, если возникла некритичная ошибка. Если вы видите какой-либо значок ошибки, раскройте журнал хода установки, щелкнув слева на небольшом черном знаке "плюс". Вы увидите, что некоторые ошибки можно исправить после того, как мастер закончит создание кластера. Другие, более серьезные ошибки должны быть исправлены, прежде чем вы завершите работу с мастером; используйте кнопку Back (Назад), чтобы вернуться к шагам конфигурирования. На рис. 15.19 показана ошибка, которую можно исправить после установки. Эта ошибка относится к имени кластера. Первоначально было выбрано имя, которое совпадало с NetBIOS-именем для другого домена в сети, что недопустимо. Чтобы исправить эту ошибку, я использовал cluster.exe в данном узле для переименования кластера, перезапустил снова New Server Cluster Wizard, ввел новое, допустимое имя и затем перезапустил службу Cluster.

    (рис 15.19) Мастер выводит результаты конфигурирования Использование Cluster Administrator

    Cluster Administrator подсоединится к новому кластеру и выведет его состояние.

    Во время установки все сетевые адаптеры активизированы как для частного обмена информацией кластера, так и для открытого обмена информацией с кластером. Если вы установили сетевой адаптер в частной сети, который хотите выделить для частного обмена информацией кластера, то используйте Cluster Administrator, чтобы открыть диалоговое окно Properties данного адаптера. Затем измените конфигурацию адаптера, чтобы разрешить только частный обмен информацией кластера.

    Убедитесь, что служба работает без ошибок в этом узле, прежде начать процесс установки в следующем узле. Если вам требуется более подробная информация для диагностирования какой-либо проблемы установки, то вы можете использовать файл журнала, который создается мастером установки в файле %SystemRoot%\ system32\logfiles\cluster\ClCfgSrv.log.

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

    Для добавления других узлов к вашему кластеру нужно использовать аналогичную процедуру. Начните с проверки того, что первый узел кластера включен и работает нормально. Затем включите сервер, который хотите сделать следующим узлом кластера, и откройте Cluster Administrator. Щелкните правой кнопкой на имени вашего кластера и выберите в контекстном меню пункт New/Node (Создать/Узел), чтобы запустить мастер добавления компьютеров кластера (Add Cluster Computers Wizard). Следуйте указаниям этого мастера, чтобы выполнить конфигурирование других узлов, добавляя каждый раз по одному узлу. В каждом случае убедитесь, что соответствующий компьютер и служба Cluster работают без ошибок, прежде чем приступить к добавлению следующего узла.

    Тестирование кластера

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

  • Заставит службу Cluster перевести в режим offline ресурсы, представляемые этой группой.
  • Заставит службу Cluster в другом узле перевести в режим online эти ресурсы.
  • На рис. 15.20 показаны результаты после перемещения группы из узла CL1 в узел CL2.

    (рис 15.20) Состояние кластера из двух узлов после перемещения группы

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

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

    Вернуться к учебному плану