Кластерная структура сервера

17.06.1997 Элизабет Кларк

Кто сказал, что меньше - лучше? Когда речь идет об объединении серверов, цифры говорят сами за себя. ТЬМА - ЗНАЧИТ МНОГО ПЛОТНОСТЬ НАСЕЛЕНИЯ НОВОЕ ПЛЕМЯ РАСЧИЩАЯ ПУТЬ ВЫЖИВАНИЕ НАИБОЛЕЕ ПРИСПОСОБЛЕННЫХ СЕКРЕТНОЕ ОРУЖИЕ

Кто сказал, что меньше - лучше? Когда речь идет об объединении серверов, цифры говорят сами за себя.

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

ТЬМА - ЗНАЧИТ МНОГО

Сначала в кластеры объединяли мэйнфреймы, затем мини-компьютеры, а теперь серверы на базе операционной системы Unix и процессоров Intel. Компания Tandem была среди первых, кто занялся кластеризацией: она начала выпускать серверы NonStop Himalaya еще двадцать лет назад. За это время Digital Equipment изобрела кластеризацию систем VAX под ОС VMS. IBM была также в числе первопроходцев со своим кластерным оборудованием для систем AIX и мэйнфреймов.

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

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

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

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

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

Несмотря на то что каждая из этих архитектур имеет свои достоинства, настоящая кластеризация существует только в средах с разделяемыми дисками и без разделения ресурсов (см. Рисунок 1).

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

Тенденция к кластеризации обусловлена целым рядом причин. Одна из них в том, что старое правило 80/20, утверждающее, что 80% сетевого трафика является локальным и лишь 20% передается по магистрали, больше не действует. С увеличением объемов трафика, передаваемого все дальше и дальше от места его возникновения, серверные фермы, или группы кластеризованных серверов, подключенных к высокоскоростным магистралям, становятся все более искусными в обслуживании этих изменившихся схем трафика.

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

Кроме того, число приложений, для которых одиночный сервер может оказаться чересчур медленным, растет. "Кластеризация становится все важнее не только для высококритичных приложений, где высокий уровень отказоустойчивости просто необходим, но также для масштабных бизнес-приложений, поддерживающих крупные популяции пользователей, - говорит Брайан Ричардсон, директор по программе открытых вычислений и серверных стратегий в Meta Group. - С ростом размера системы тенденция к кластеризации проявляется все сильнее".

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

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

Во всяком случае, согласно данным Dataquest, будущее постоянно доступных серверных систем выглядит весьма лучезарно (см. Таблицу 1). Несмотря на то что цифры в Таблице 1 относятся к широкому спектру реализаций (от избыточных компонентов сверх стандартных источников питания и вентиляторов до полных постоянно доступных систем), они являются своебразным барометром состояния кластерной технологии.

ТАБЛИЦА 1 - ПРОЦЕНТ СИСТЕМ ВЫСОКОЙ ГОТОВНОСТИ В СЕВЕРНОЙ АМЕРИКЕ

Источник: Dataquest

ПЛОТНОСТЬ НАСЕЛЕНИЯ

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

При кластеризации резервные серверы продолжают работать и выполнять обычные повседневные функции помимо подмены аварийных серверов. Кроме того, кластеризация защищает как от аппаратных, так и программных сбоев. "Значение этого фактора возрастает по мере того, как программные проблемы вызывают все большее число сбоев, а оборудование становится все более надежным", - говорит Марти Миллер, менеджер линии продуктов в NetFrame. Продукт этой компании - Cluster Data - призван сократить время простоев, обусловленных сбоем операционной системы.

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

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

Тем не менее Митч Шультц, директор по маркетингу серверных платформ в группе корпоративных серверов компании Intel, утверждает, что возможности масштабируемости выглядят весьма многообещающе. По мнению Шультца, пределы для масштабируемости систем на базе стандартных высокопроизводительных вычислительных элементов с высокоскоростными межсоединениями если и есть, то достигнуты они будут нескоро. "Нет никакого смысла рассматривать несовместимое решение при любом уровне масштабируемости, когда вы можете купить стандартные переносимые компоненты, - говорит он. - Наличие таких компонентов является ключом к кластеризации серверов".

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

"Кластеризация - пока еще недостаточно зрелая технология, - говорит Джо Баркан, директор по исследованиям в Gartner Group. - Если целью является масштабируемость, то сначала лучше попробовать масштабировать систему с помощью SMP. К следующему году NT должна стать гораздо более надежной по части постоянно доступных приложений и сервисов. В отношении масштабируемости картина отличается радикальным образом, причем изменится она не так скоро. Даже если говорить о масштабируемости Unix, сегодня в первую очередь я бы все же порекомендовал именно крупные системы SMP".

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

Кроме того, своего разрешения требуют и некоторые вопросы управления кластером. Вот что говорит по этому поводу Стив Трамак, менеджер по продуктам в отделе персональных компьютеров Digital Equipment, отвечающий за кластеризацию Windows NT: "Когда организация решает создать кластер, она ожидает, что он будет управляемым - не только в смысле определения групп взаимозаменяемых серверов и специфичных для кластера событий, но также, например, в смысле оповещения в случае сбоя". А значит, управление на базе SNMP просто необходимо.

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

Но это далеко не все. В области разработки серии кластерных комплектов, включающих необходимые аппаратные компоненты для кластера серверов, Digital выделила некоторые проблемы, на которые необходимо обратить особое внимание. "Во время разработки и тестирования, - отмечает Трамак, - у нас возникли сложности с конфигурацией, с правильной настройкой шины SCSI и с развертыванием". С решением этих вопросов кластерные комплекты станут неотъемлемой частью стратегии развертывания Digital.

Боб Блатц, менеджер по маркетингу в Digital, отвечающий за поддержку продуктов Microsoft, обращает внимание на другой важный фактор для распространения кластерных технологий. "Наверно, важнейшая проблема, о которой мне постоянно приходится слышать, - реализация приложений в кластерной среде. Пока еще не накоплено достаточно опыта работы с такими приложениями, в частности, в среде NT. Но со временем, по мере того как пользователи ознакомятся и приобретут опыт в кластерных технологиях, фаза реализации будет проходить гораздо проще и быстрее", - считает Блатц.

НОВОЕ ПЛЕМЯ

Многие поставщики имеют свои собственные реализации кластерной технологии. Хотя различные предложения рассматриваются более подробно в статье Аниты Карве "Кластеры всех мастей, объединяйтесь!", мы все-таки уделим несколько строк общей картине рынка кластерных продуктов.

Наиболее известный кластерный продукт - Wolfpack for Windows NT компании Microsoft с его комплектом программ и API для кластеризации серверов Windows NT. Microsoft планирует представить Wolfpack в два этапа. Первый этап должен был завершиться летом этого года; он состоит в реализации кластеризации двух серверов с возможностями подмены одного сервера другим. Второй этап, реализовать который Microsoft намеревается в 1998 году, должен воплотить в жизнь распределение нагрузки и кластеризацию до 16 узлов.

Такие поставщики, как Compaq, Digital Equipment, Hewlett-Packard, IBM, Tandem и NCR, разрабатывают совместимые с Wolfpack кластерные продукты самостоятельно. Amdahl, Siemens, Fujitsu и Stratus собираются взяться за свои планы разработки уже в этом году. При такой поддержке Wolfpack наверняка станет стандартом де факто.

Несмотря на то что на первом этапе Wolfpack будет обеспечивать кластеризацию только двух серверов, по глубокому убеждению Баркана из Gartner Group, Microsoft уже смотрит вперед, отчасти по практическим соображениям: "Мы обратили внимание на то, что Microsoft начинает позиционировать Wolfpack как решение старшего класса, - говорит он. - Они не готовы поддерживать сотни тысяч крошечных кластеров Wolfpack по всему миру".

Wolfpack имеет уже значительное влияние на рынок постоянно доступных серверов, в том числе и в области цен. "До недавнего времени, если вам нужна была постоянная доступность вашего кластера, то надо было тратить огромные деньги, - замечает Баркан. - По нашим оценкам, в случае кластеров Unix заказчик тратит в среднем около 50 000 долларов за профессиональные услуги по запуску, эксплуатации и тестированию системы. NT снижает стоимость кластера, по крайней мере потенциально, до приемлемого уровня. И это сделала Microsoft со своим Wolfpack".

Как же на это реагируют другие игроки на рынке кластеризации? Digital Clusters for Windows NT появились на сцене в 1996 году, и, кроме того, Digital представила свои Unix TruCluster Solutions. Последний продукт позволяет осуществлять кластеризацию как серверов AlphaServer самой компании, так и других серверов разных размеров.

Другая заметная фигура в истории кластеризации, Tandem, внесла свою лепту в виде серверов NonStop Himalaya на базе массовых параллельных систем. Некоторые части технологии Wolfpack компании Microsoft базируются на коде, который Tandem использовала в своих системах Himalaya.

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

Тим Кифавр, менеджер по кластерным продуктам в подразделении систем для Windows NT компании Tandem, говорит, что, когда начнутся поставки Wolfpack, Tandem будет предлагать активную/активную динамическую библиотеку SQL Server 6.5. (В данном контексте "активная/активная" означает систему, в которой оба узла в кластере могут выполнять транзакции SQL Server одновременно.)

Технология кластеризации компании Sun Microsystems под названием Full Moon станет отличным дополнением к таким продуктам Sun Clusters, как Solstice HA и Ultra Enterprise PDB (Parallel Database). Этот подход предполагается реализовать в четыре этапа. Первый этап, начало которому положено весной 1997 года, состоял во включении кластерных API, функций восстановления после аварий и усовершенствованного доступа в Internet посредством Solstice HA 1.3.

Технология NetWare SFT (System Fault Tolerance) компании Novell появилась достаточно давно. С помощью SFT пользователи могут зеркально копировать содержимое основного системного диска на запасной. Относительно новая версия SFT III позволяет дуплексировать целые серверы, обеспечивая подмену без перерыва в работе. По заявлениям компании, она собирается добавить новые возможности в SFT III в этом году.

"Мы не называем SFT III технологией кластеризации, хотя, по моему мнению, у нас есть на это все основания, - говорит Майкл Брайант, директор по маркетингу Wolf Mountain, инициативы Novell в области кластеризации. - Novell не собирается придавать новый смысл кластеризации. Мы придерживаемся классического определения и переносим его на серверы на базе ПК". Во время написания статьи Novell еще не объявила о дате выхода Wolf Mountain.

Подходя к кластеризации с разных сторон, IBM представила в прошлом году свое решение Cluster Internet PowerSolution for AIX. Весьма любопытно, что компания объявила также о

планах переноса своей технологии кластеризации Phoenix на платформу Windows NT. Ожидаемый продукт IBM под названием HACMP (High-Availability Cluster Multiprocessing) Geo должен позволить создавать постоянно готовые кластеры из удаленных мест.

NetServer представляет базовую кластерную платформу Hewlett-Packard. Компания может извлечь значительную выгоду из своих усилий по интеграции Wolfpack с системой управления OpenView.

Среди других компаний, которые имеют (или разрабатывают в настоящее время) решения по кластеризации, - NCR, Compaq, SCO, Data General и Stratus.

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

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

Примерами кластерного промежуточного программного обеспечения могут служить Parallel Server компании Oracle и ServerWare компании Tandem. Microsoft объявила, что она собирает-ся предложить кластерную версию SQL Server и других приложений BackOffice; независимые поставщики также намереваются предложить кластерные приложения.

РАСЧИЩАЯ ПУТЬ

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

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

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

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

Несмотря на то что сейчас многие серверы поставляются с нескольким шинами PCI и могут иметь где-то от пяти до семи слотов PCI, далеко не все реализации одинаковы. Например, в некоторых серверах одна шина PCI подключена как мост к другой, а в некоторых - две или три шины равноправны.

Использование нескольких хост-адаптеров SCSI часто способствует значительному повышению производительности. Быстрые диски также способны помочь ускорить работу сервера, однако здесь, с точки зрения цена/производительность, отдача весьма невелика. Кроме того, обычный интерфейс SCSI может поддерживать только определенное число дисков. Современные интерфейсы, такие как SCSI-3, Ultra SCSI и Fibre Channel, имеют более высокую пропускную способность, чем SCSI-2.

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

На примере серверов Web прекрасно видно, какую нагрузку современные приложения возлагают на ЦПУ. Хотя простое обслуживание страниц Web не сопряжено само по себе с интенсивными операциями ввода/вывода, другие функции, такие как шифрование и дешифрование, могут потребовать всех ресурсов ЦПУ.

Архитектура интеллектуального ввода/вывода (Intelligent I/O) призвана разрешить проблему истощения вычислительной мощности ЦПУ. В модели I2O драйверы разделены на две группы: одна - для обслуживания операционной системы, а другая - для обслуживания аппаратных устройств. I2O освобождает ЦПУ, память и системную шину от большей части операций по обслуживанию ввода/вывода и возлагает их на саму подсистему ввода/вывода. Целый ряд компаний объединили свои усилия по стандартизации архитектуры I2O. (Дополнительную информацию см. во врезке , а также на узле www.I2O.org .)

Компания Wind River Systems разработала операционную систему реального времени IxWorks на базе модели с раздельными драйверами. ОС, являющаяся частью среды разработки I2O под названием Tornado, предполагает написание только одного драйвера для каждого аппаратного устройства, при этом один и тот же драйвер пригоден для всех сетевых ОС.

Особого внимания заслуживают усилия по стандартизации архитектуры виртуального интерфейса Virtual Interface Architecture. Участниками данной инициативы являются Compaq, HP, Intel, Microsoft, Novell, Santa Cruz Operation и Tandem. Целью этой инициативы является определение стандартов на аппаратные и программные интерфейсы для кластеров. Данные интерфейсы разрабатываются для упрощения процесса синхронизации, поддержки коммуникаций с разделяемыми массивами дисков и коммуникаций между серверами. Спецификация будет независима от среды передачи, процессоров и сетевой операционной системы.

"Архитектура VI описывает, как этот [аппаратный и программный] коммуникационный канал будет работать, - говорит Марк Вуд, менеджер по продуктам в команде Windows NT Server компании Microsoft. - Как только все согласятся на бумаге, как она должна работать, любой поставщик сможет проектировать совместимое аппаратное и программное обеспечение".

Генри из Tandem также полагает, что архитектура VI будет немало способствовать развитию кластеризации. Эта инициатива громогласно призывает: "Давайте облегчим программистам разработку программного обеспечения для кластеров", - говорит Генри.

Однако далеко не все относятся с тем же энтузиазмом к архитектуре VI. "Мы ничего хорошего от нее не ждем, - заявляет Ричардсон из Meta Group. - Microsoft просто собирается придать статус стандарта своим, ею же выбранным для среды NT, API, а другие поставщики систем будут вынуждены подстраиваться под них или идти на риск выпуска нестандартных расширений".

ВЫЖИВАНИЕ НАИБОЛЕЕ ПРИСПОСОБЛЕННЫХ

Нет недостатка в прогнозах и предсказаниях относительно будущего кластеризации серверов. Неудивительно, что большая часть из них касается вопросов производительности и цены.

"Дайте срок, и кластеризация станет базовой составляющей операционной системы, - полагает Баркан из Gartner Group. - Через пять лет любая операционная система на рынке будет иметь базовые кластерные сервисы".

Баркан высказал и мнение о цене кластерных решений: "Со временем с помощью кластеризации стоимость обеспечения постоянной доступности опустится до уровня потребительских цен, а это означает, что постоянно доступный кластер можно будет создать меньше чем за 50 000 долларов".

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

Однако Баркан предостерегает от поспешных действий: "Главное - не следует торопиться. Кластеризация постепенно становится фактом нашей жизни, но параметры масштабируемости, по сути, неизвестны и непроверены".

Ричардсон из Meta Group согласен с этим мнением. "Мы приветствуем кластеры как средство повышения доступности приложений, - говорит он. - Но, думается, как решение проблемы масштабируемости приложений кластеры чересчур сложны и неэффективны".

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

Элизабет Кларк - старший редактор Network Magazine. С ней можно связаться по адресу: [email protected] .

СЕКРЕТНОЕ ОРУЖИЕ КЛАСТЕРНЫХ ТЕХНОЛОГИЙ

Переход к коммутации

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

Одной из разработок в этой области - ServerNet компании Tandem. Продукт имеет коммутирующую структуру на базе интегральных схем ASIC: она-то и позволяет создавать масштабируемую архитектуру кластерной среды. "Интегральная схема ASIC не только является многонаправленным коммутатором, но и содержит всю логику маршрутизации, логику проверки ошибок, логику сообщений об ошибках и логику обеспечения правильной последовательности пакетов", - говорит Джим Генри, директор по разработкам для бизнеса в подразделении ServerNet компании Tandem. По мнению Джима, несколько коммутаторов ServerNet могут составлять каскад, в результате чего заказчик получит очень крупную коммутирующую сеть или структуру, к которой он может подключить и серверы Windows NT, и массивы RAID.

Однако это далеко не единственная технология коммутации для кластеризации серверов. Например, SilkWorm компании Brocade Communications Systems представляет собой гигабитный коммутатор Fibre Channel с числом портов от 2 до 16 со встроенным программным обеспечением для создания структуры Fibre Channel (архитектуры межсоединения узлов в кластере). Система эта создавалась для ликвидации узких мест в каналах к дисковым подсистемам серверов. SilkWorm имеет сервис для идентификации подключенных к структуре узлов, причем он распространяет информацию об их местоположении и характеристиках другим коммутаторам в структуре.

Постоянно доступная система PowerSwitch/NT компании Apcon базируется на SCSI Switch. До 16 серверов может быть объединено в одну группу и подключено к общему дисковому массиву и другой периферии. При обнаружении сбоя сервера другой сервер автоматически подключается через SCSI Switch к внутренним дисководам и периферии вышедшего из строя сервера.

ДВУСТУПЕНЧАТЫЕ ДРАЙВЕРЫ УСТРОЙСТВ ОБЛЕГЧАЮТ ВВОД/ВЫВОД

Разделение ради объединения

А вы устаете в конце рабочего дня? Так что же пенять на многострадальные процессоры в кластере серверов! Эти трудолюбивые устройства бомбардируют прерываниями для выполнения операций ввода/вывода практически беспрестанно. При добавлении все новых и новых функциональных возможностей эта нагрузка на процессоры вряд ли уменьшится в обозримом будущем.

"Требования к вводу/выводу многократно возросли, в частности, в связи с появлением Internet, - объясняет Паулин Шульман, менеджер по продуктам в Wind River Systems. Эта компания разработала операционную систему на базе архитектуры интеллектуального ввода/вывода (Intelligent I/O, I2O) с раздельными драйверами. - Но возможности ввода/вывода значительно отстают от этих требований".

Если Intelligent I/O Special Interest Group претворит в жизнь свои усилия, то разрыв между требованиями и возможностями будет ликвидирован уже в ближайшем будущем. Данная организация предложила недавно спецификацию на базе архитектуры I2O. В принятой модели с разделением драйверов ЦПУ память и системная шина освобождены от выполнения некоторых функций.

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

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

Microsoft объявила о своих планах включения I2O в Windows NT 5.0, а Novell также заявила о намерении реализовать эту технологию в своих продуктах.

В настоящее время о совместимости своих продуктов с I2O заявляют такие компании, как Xpoint Technologies, разработавшая решение на базе I2O для ускорения обмена данными между дисковой и локально-сетевой подсистемами, а также NetFrame, чей постоянно доступный сервер ClusterSystem 9000 (NF9000) на базе Pentium Pro совместим с Windows NT и IntranetWare. Кроме того, в этот список может быть включена и компания American Megatrends, создатель предназначенных для кластеров комплектов RAID на материнской плате для производителей серверов.



Введение

Кластер серверов – это группа независимых серверов под управлением службы кластеров, работающих совместно как единая система. Кластеры серверов создаются путем объединения нескольких серверов на базе Windows® 2000 Advanced Server и Windows 2000 Datacenter Server для совместной работы, обеспечивая тем самым высокий уровень доступности, масштабируемости и управляемости для ресурсов и приложений.

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

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

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

Основные преимущества, получаемые при использовании службы кластеров:

  • Высокая доступность. В случае отказа какого-либо узла служба кластеров передает управление ресурсами, такими как, например, жесткие диски и сетевые адреса, действующему узлу кластера. Когда происходит программный или аппаратный сбой, программное обеспечение кластера перезапускает завершившееся с ошибкой приложение на действующем узле, или перемещает всю нагрузку отказавшего узла на оставшиеся действующие узлы. При этом пользователи могут заметить лишь кратковременную задержку в обслуживании.
  • Возврат после отказа. Служба кластеров автоматически перераспределяет рабочую нагрузку в кластере, когда отказавший узел вновь становится доступным.
  • Управляемость. Администратор кластера – это оснастка, которую Вы можете использовать для управления кластером как единой системой, а также для управления приложениями. Администратор кластера обеспечивает прозрачное представление работы приложений так, как если бы они выполнялись на одном сервере. Вы можете перемещать приложения на различные серверы в пределах кластера, перетаскивая объекты кластера мышью. Таким же образом можно перемещать данные. Этот способ может использоваться для ручного распределения рабочей нагрузки серверов, а также для разгрузки сервера и его последующей остановки с целью проведения планового технического обслуживания. Кроме того, Администратор кластера позволяет удаленно производить наблюдение за состоянием кластера, всех его узлов и ресурсов.
  • Масштабируемость. Для того чтобы производительность кластера всегда могла соответствовать возрастающим требованиям, служба кластеров располагает возможностями масштабирования. Если общая производительность кластера становится недостаточной для обработки нагрузки, создаваемой кластерными приложениями, в кластер могут быть добавлены дополнительные узлы.

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

Системные требования для создания кластера серверов

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

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

  • Операционная система Microsoft Windows 2000 Advanced Server или Windows 2000 Datacenter Server, установленная на всех серверах кластера.
  • Установленная служба разрешения имен, такая как Domain Naming System (DNS), Windows Internet Naming System (WINS), HOSTS и т. д.
  • Сервер терминалов для удаленного администрирования кластера. Данное требование не является обязательным, а рекомендуется лишь для обеспечения удобства управления кластером.

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

  • Требования, предъявляемые к аппаратному обеспечению узла кластера, аналогичны требованиям для установки операционных систем Windows 2000 Advanced Server или Windows 2000 Datacenter Server. Эти требования можно найти на странице поиска каталога Microsoft.
  • Оборудование кластера должно быть сертифицировано и указано в списке совместимого аппаратного обеспечения (HCL) каталога Microsoft для службы кластеров. Последнюю версию этого списка можно на странице поиска Windows 2000 Hardware Compatibility List каталога Microsoft, выбрав категорию поиска «Cluster».

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

  • Жесткий диск с загрузочным системным разделом и установленной операционной системой Windows 2000 Advanced Server или Windows 2000 Datacenter Server. Этот диск не должен быть подключен к шине общего запоминающего устройства, рассмотренного ниже.
  • Отдельный PCI-контроллер устройств оптического канала (Fibre Channel) или SCSI для подключения внешнего общего запоминающего устройства. Этот контроллер должен присутствовать в дополнение к контроллеру загрузочного диска.
  • Два сетевых PCI адаптера, установленных на каждом компьютере кластера.
  • Перечисленное в списке HCL внешнее дисковое запоминающее устройство, подключенное ко всем узлам кластера. Оно будет выступать в качестве диска кластера. Рекомендуется конфигурация с использованием аппаратных RAID-массивов.
  • Кабели для подключения общего запоминающего устройства ко всем компьютерам. Для получения инструкций по конфигурированию запоминающих устройств обратитесь к документации производителя. Если подключение производится к шине SCSI, Вы можете обратиться к приложению А для дополнительной информации.
  • Все оборудование на компьютерах кластера должно быть полностью идентичным. Это упростит процесс конфигурирования и избавит Вас от потенциальных проблем с совместимостью.

Требования к настройке сетевой конфигурации

  • Уникальное NetBIOS имя для кластера.
  • Пять уникальных статических IP-адресов: два адреса для сетевых адаптеров частной сети, два – для сетевых адаптеров публичной сети, и один адрес для кластера.
  • Доменная учетная запись для службы кластеров (все узлы кластера должны быть членами одного домена)
  • Каждый узел должен иметь два сетевых адаптера – один для подключения к публичной сети, один – для внутрикластерного взаимодействия узлов. Конфигурация с использованием одного сетевого адаптера для одновременного подключения к публичной и частной сети не поддерживается. Наличие отдельного сетевого адаптера для частной сети необходимо для соответствия требованиям HCL.

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

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

Крайне рекомендуется объединять все диски общего запоминающего устройства в аппаратные RAID-массивы. Хотя это и не является обязательным, создание отказоустойчивых конфигураций RAID является ключевым моментом в обеспечении защиты от дисковых сбоев.

Установка кластера

Общий обзор установки

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

Таблица 1 поможет Вам определить, какие узлы и запоминающие устройства должны быть включены на каждом этапе установки.

Это руководство описывает создание двухузлового кластера. Тем не менее, если Вы устанавливаете кластер с более чем двумя узлами, Вы можете использовать значение столбца «Узел 2» для определения состояния остальных узлов.

Таблица 1. Последовательность включения устройств при установке кластера

Шаг Узел 1 Узел 2 Устройство хранения Комментарий
Установка параметров сети Вкл. Вкл. Выкл. Убедитесь, что все устройства хранения, подключенные к общей шине, выключены. Включите все узлы.
Настройка общих дисков Вкл. Выкл. Вкл. Выключите все узлы. Включите общее запоминающее устройство, затем включите первый узел.
Проверка конфигурации общих дисков Выкл. Вкл. Вкл. Выключите первый узел, включите второй узел. При необходимости повторите для узлов 3 и 4.
Конфигурирование первого узла Вкл. Выкл. Вкл. Выключите все узлы; включите первый узел.
Конфигурирование второго узла Вкл. Вкл. Вкл. После успешной конфигурации первого узла включите второй узел. При необходимости повторите для узлов 3 и 4.
Завершение установки Вкл. Вкл. Вкл. К этому моменту все узлы должны быть включены.

Перед установкой программного обеспечения кластеров необходимо выполнить следующие шаги:

  • Установить на каждый компьютер кластера операционную систему Windows 2000 Advanced Server или Windows 2000 Datacenter Server.
  • Настроить сетевые параметры.
  • Настроить диски общего запоминающего устройства.

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

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

Установка операционной системы Windows 2000

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

В этом документе используется структура имен из руководства "Step-by-Step Guide to a Common Infrastructure for Windows 2000 Server Deployment" . Однако, Вы можете использовать любые имена.

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

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

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

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

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

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

Рисунок 1: Пример двухузлового кластера

Конфигурирование сетевого адаптера частной сети

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

  1. Мое сетевое окружение и выберите команду Свойства .
  2. Щелкните правой кнопкой мыши на значке .

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

  1. Состояние. Окно Состояние Подключение по локальной сети 2 показывает состояние подключения и его скорость. Если подключение находится в отключенном состоянии, проверьте кабели и правильность соединения. Устраните проблему, прежде чем продолжить. Нажмите кнопку Закрыть .
  2. Снова щелкните правой кнопкой мыши на значке Подключение по локальной сети 2 , выберите команду Свойства и нажмите кнопку Настроить .
  3. Выберите вкладку Дополнительно. Появится окно, изображенное на Рисунке 2.
  4. Для сетевых адаптеров частной сети скорость работы должна быть выставлена вручную вместо значения, используемого по умолчанию. Укажите скорость Вашей сети в раскрывающемся списке. Не используйте значения «Auto Sense» или «Auto Select» для выбора скорости, поскольку некоторые сетевые адаптеры могут сбрасывать пакеты во время определения скорости соединения. Для задания скорости сетевого адаптера укажите фактическое значение для параметра Тип подключения или Скорость .

Рисунок 2: Дополнительные настройки сетевого адаптера

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

  1. Выберите Протокол Интернета (TCP/IP) в списке компонентов, используемых подключением.
  2. Нажмите кнопку Свойства .
  3. Установите переключатель в положение Использовать следующий IP-адрес и введите адрес 10.1.1.1 . (Для второго узла используйте адрес 10.1.1.2 ).
  4. Задайте маску подсети: 255.0.0.0 .
  5. Нажмите кнопку Дополнительно и выберите вкладку WINS. Установите значение переключателя в положение Отключить NetBIOS через TCP/IP . Нажмите OK для возврата в предыдущее меню. Выполняйте этот шаг только для адаптера частной сети.

Ваше диалоговое окно должно выглядеть, как изображено на Рисунке 3.

Рисунок 3: IP-адрес подключения к частной сети

Конфигурирование сетевого адаптера публичной сети

Примечание: Если в публичной сети работает DHCP-сервер, IP-адрес для сетевого адаптера публичной сети может назначаться автоматически. Однако для адаптеров узлов кластера этот способ использовать не рекомендуется. Мы настоятельно рекомендуем назначать постоянные IP-адреса для всех публичных и частных сетевых адаптеров узлов. В противном случае при отказе DHCP-сервера доступ к узлам кластера может оказаться невозможным. Если же Вы вынуждены использовать DHCP для сетевых адаптеров публичной сети, используйте длительные сроки аренды адресов – это даст гарантию того, что динамически назначенный адрес останется действительным, даже если DHCP-сервер окажется временно недоступным. Адаптерам частной сети всегда назначайте постоянные IP-адреса. Помните, что служба кластеров может распознавать только один сетевой интерфейс в каждой подсети. Если Вам нужна помощь в вопросах назначения сетевых адресов в Windows 2000, обратитесь к встроенной справке операционной системы.

Переименование сетевых подключений

Для ясности мы рекомендуем изменить названия сетевых подключений. Например, Вы можете изменить название подключения Подключение по локальной сети 2 на . Такой метод поможет Вам проще идентифицировать сети и правильно назначать их роли.

  1. Щелкните правой кнопкой мыши на значке 2.
  2. В контекстном меню выберите команду Переименовать .
  3. Введите Подключение к частной сети кластера в текстовом поле и нажмите клавишу ВВОД .
  4. Повторите шаги 1-3 и измените название подключения Подключение по локальной сети на Подключение к публичной сети.

Рисунок 4: Переименованные сетевые подключения

  1. Переименованные сетевые подключения должны выглядеть, как показано на Рисунке 4. Закройте окно Сеть и удаленный доступ к сети . Новые названия сетевых подключений автоматически реплицируются на другие узлы кластера при их включении.

Проверка сетевых соединений и разрешений имен

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

  1. Нажмите кнопку Пуск, выберите команду Выполнить и наберите команду cmd в текстовом окне. Нажмите OK .
  2. Наберите команду ipconfig /all и нажмите клавишу ВВОД . Вы увидите информацию о настройке IP-протокола для каждого сетевого адаптера на локальной машине.
  3. В случае, если у Вас еще не открыто окно командной строки, выполните шаг 1.
  4. Наберите команду ping ipaddress где ipaddress – это IP-адрес соответствующего сетевого адаптера на другом узле. Предположим для примера, что сетевые адаптеры имеют следующие IP-адреса:
Номер узла Имя сетевого подключения IP-адрес сетевого адаптера
1 Подключение к публичной сети 172.16.12.12
1 Подключение к частной сети кластера 10.1.1.1
2 Подключение к публичной сети 172.16.12.14
2 Подключение к частной сети кластера 10.1.1.2

В этом примере Вам нужно выполнить команды ping 172.16.12.14 и ping 10.1.1.2 с узла 1, и выполнить команды ping 172.16.12.12 и ping 10.1.1.1 с узла 2.

Чтобы проверить разрешение имен, выполните команду ping , используя в качестве аргумента имя компьютера вместо его IP-адреса. Например, чтобы проверить разрешение имени для первого узла кластера с именем hq-res-dc01, выполните команду ping hq-res-dc01 с любого клиентского компьютера.

Проверка принадлежности к домену

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

Примечание: Для получения ссылок на дополнительную документацию по настройке доменов, служб DNS и DHCP в Windows 2000 смотрите раздел Связанные ресурсы в конце этого документа.

  1. Щелкните правой кнопкой мыши Мой компьютер и выберите команду Свойства .
  2. Выберите вкладку Сетевая идентификация . В диалоговом окне Свойства системы Вы увидите полное имя компьютера и домена. В нашем примере домен называется reskit.com .
  3. Если Вы сконфигурировали узел в качестве рядового сервера, то на этом этапе Вы можете присоединить его к домену. Нажмите кнопку Свойства и следуйте инструкциям для присоединения компьютера к домену.
  4. Закройте окна Свойства системы и Мой компьютер .

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

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

  1. Нажмите кнопку Пуск , выберите команду Программы / Администрирование , запустите оснастку .
  2. Разверните категорию reskit.com , если она еще не развернута
  3. В списке выберите Users .
  4. Щелкните правой кнопкой мыши на Users , выберите в контекстном меню Создать , выберите Пользователь .
  5. Введите имя для учетной записи службы кластера, как показано на Рисунке 5, и нажмите кнопку Далее.

Рисунок 5: Добавление пользователя Cluster

  1. Установите флажки Запретить смену пароля пользователем и Срок действия пароля не ограничен . Нажмите кнопку Далее и кнопку Готово , чтобы создать пользователя.

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

  1. Щелкните правой клавишей мыши на пользователе Cluster в правой панели оснастки Active Directory – пользователи и компьютеры .
  2. В контекстном меню выберите команду Добавить участников в группу .
  3. Выберите группу Администраторы и нажмите OK . Теперь новая учетная запись имеет привилегии администратора на локальном компьютере.
  4. Закройте оснастку Active Directory – пользователи и компьютеры .

Настройка дисков общего запоминающего устройства

Предупреждение: Убедитесь, что, по крайней мере, на одном из узлов кластера установлена операционная система Windows 2000 Advanced Server или Windows 2000 Datacenter Server, а также настроена и работает служба кластеров. Только после этого можно загружать операционную систему Windows 2000 на остальных узлах. Если эти условия не будут выполнены, диски кластера могут быть повреждены.

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

Диск кворума

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

  • Создайте небольшой раздел (размером как минимум 50 Мб), чтобы использовать его в качестве диска кворума. Обычно мы рекомендуем создавать диск кворума размером в 500 Мб.
  • Выделите отдельный диск для ресурса кворума. Поскольку в случае выхода из строя диска кворума произойдет сбой работы всего кластера, мы настоятельно рекомендуем использовать аппаратный дисковый RAID-массив.

В процессе установки службы кластеров Вы будете должны назначить букву диску кворума. В нашем примере мы будем использовать букву Q .

Конфигурирование дисков общего запоминающего устройства

  1. Щелкните правой кнопкой мыши Мой компьютер , выберите команду Управление . В открывшемся окне раскройте категорию Запоминающие устройства .
  2. Выберите команду Управление дисками .
  3. Убедитесь, что все диски общего запоминающего устройства отформатированы в системе NTFS и имеют статус Основной . Если Вы подключите новый диск, автоматически запустится Мастер подписывания и обновления дисков . Когда мастер запустится, нажмите кнопку Обновить, чтобы продолжить его работу, после этого диск будет определен как Динамический . Чтобы преобразовать диск в базовый, щелкните правой кнопкой мыши на Диск # (где # – номер диска, с которым Вы работаете) и выберите команду Возвратить к базовому диску .

Щелкните правой кнопкой мыши область Не распределен рядом с соответствующим диском.

  1. Выберите команду Создать раздел
  2. Запустится Мастер создания раздела . Дважды нажмите кнопку Далее .
  3. Введите желаемый размер раздела в мегабайтах и нажмите кнопку Далее .
  4. Нажмите кнопку Далее , приняв предложенную по умолчанию букву диска
  5. Нажмите кнопку Далее для форматирования и создания раздела.

Назначение букв дискам

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

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

  1. Щелкните правой кнопкой мыши требуемый раздел и выберите команду Изменение буквы диска и пути диска .
  2. Выберите новую букву диска.
  3. Повторите шаги 1 и 2 для всех дисков общего запоминающего устройства.

Рисунок 6: Разделы дисков с назначенными буквами

  1. По окончании процедуры окно оснастки Управление компьютером должно выглядеть, как изображено на Рисунке 6. Закройте оснастку Управление компьютером .
  1. Нажмите кнопку Пуск , выберите Программы / Стандартные , и запустите программу «Блокнот» .
  2. Наберите несколько слов и сохраните файл под именем test.txt , выбрав команду Сохранить как из меню Файл . Закройте Блокнот .
  3. Дважды щелкните мышью на значке Мои документы .
  4. Щелкните правой кнопкой мыши на файле test.txt и в контекстном меню выберите команду Копировать .
  5. Закройте окно.
  6. Откройте Мой компьютер .
  7. Дважды щелкните мышью на разделе диска общего запоминающего устройства.
  8. Щелкните правой кнопкой мыши и выберите команду Вставить .
  9. На диске общего запоминающего устройства должна появиться копия файла test.txt .
  10. Дважды щелкните мышью на файле test.txt , чтобы открыть его с диска общего запоминающего устройства. Закройте файл.
  11. Выделите файл и нажмите клавишу Del , чтобы удалить файл с диска кластера.

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

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

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

Суть вкратце

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

Пример схемы кластера серверов

В качестве примера возьмём весьма популярный софт «1С:Предприятие 8». Упрощённая схема функционирования кластера серверов выглядит примерно следующим образом.

Клиентское приложение (в смысле, приложение на компьютере пользователя) осуществляет запрос по протоколу TCP/IP. Этот запрос приходит на центральный сервер в кластере, где действует программа-менеджер (Cluster Manager) и располагается реестр кластера.

Центральный сервер на лету анализирует обстановку с загруженностью и перенаправляет запрос (тоже по TCP/IP) на тот компьютер в кластере, у которого в этот момент есть возможность наиболее быстро и эффективно обработать обращение пользователя. После чего за обслуживание запроса берётся конкретный рабочий процесс на конкретной машине.

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

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

Microsoft

Для организации кластера серверов на основе софта от корпорации Microsoft требуется операционная система «Microsoft® Windows Server™ 2008», причём, «Enterprise Edition» или «Datacenter Edition». Там есть софт «Windows Server Failover Clustering». (Ранее, в релизе ОС за 2003-й год, программное изделие называлось «Microsoft Cluster Server», сокращённо MSCS.)

По версии Microsoft, кластер - это несколько узлов (то бишь, компьютеров) общим количеством до шестнадцати штук (в релизе 2003-го - до восьми), объединённых в единую систему. Один узел впал в ступор сам или был выключен для технического обслуживания - его функции сразу же передаются другому.

Кластер в Windows Server создаётся с помощью графического интерфейса «Cluster Control Panel». Десяток диалоговых окошек - и готово.

Oracle

Компания Oracle для создания кластеров производит продукт «WebLogic». Есть версии и для Windows , и для GNU/Linux .

Велосипед изобретать не стали: работой и балансировкой нагрузки руководит сервер-администратор (Admin Server), к которому подключены узлы (Managed Servers). Всё вместе объединяется в единый домен.

Причём, с помощью «WebLogic» в домен можно сгруппировать даже не один, а несколько кластеров. Кроме того, доступны: 1) репликация пользовательских сессий в серверах кластера; 2) балансировка нагрузки (с помощью компонента HttpClusterServlet).

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

Кроме того, имеется продукт «Oracle Real Application Clusters» (сокращённо «Oracle RAC») для синхронизированной работы «Oracle Database» на нескольких узлах, что тоже по своей сути является кластером.

Заключение

Благодаря умному софту кластер выглядит «со стороны», с точки зрения клиента, как один единственный компьютер, к которому осуществляется запрос. В этом отличие кластера от Grid-систем распределённых вычислений, где компьютеры вовсе необязательно объединены в домен, вполне могут быть удалёнными.

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

Предыдущие публикации:

Кластер серверов 1С:Предприятия 8 (1C:Enterprise 8 Server Cluster)

Кластер серверов 1С:Предприятия 8 является основным компонентом платформы, который обеспечивает взаимодействие между системой управления базами данных и пользователем в случае варианта клиент-серверной работы. Кластер дает возможность организовать бесперебойную, устойчивую к отказам, конкурентную работу для значительного количества пользователей с объемными информационными базами.

Кластер серверов 1С:Предприятия 8 – это логическое понятие, которое обозначает совокупность процессов, которые обслуживают один и тот же комплект информационных баз.

Можно выделить следующие возможности кластера серверов, как основные:

  • возможность функционировать как на нескольких, так и на одном компьютере (рабочих серверах);
  • каждый рабочий сервер может поддерживать функционирование как одного, так и нескольких рабочих процессов, которые обслуживают клиентские соединения в границах этого кластера;
  • включение новых клиентов в рабочие процессы кластера происходит, основываясь на долгосрочном анализе статистики загруженности рабочих процессов;
  • взаимодействие всех процессов кластера между собой, с клиентскими приложениями и сервером баз данных осуществляется по протоколу TCP/IP;
  • запущены процессы кластера, могут быть как сервис, так и как приложение

Клиент-серверный вариант. Схема работы

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

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

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

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

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

Кластер серверов

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

На рисунке можно наблюдать все элементы, которые, так или иначе, принимают участие в работе кластера серверов. Это следующие элементы:

  • процессы кластера серверов:
    o ragent.exe;
    o rmngr.exe;
    o rphost.exe;
  • хранилища данных:
    o список кластеров;
    o реестр кластера.

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

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

Сам кластер серверов состоит из таких элементов:

  • один или несколько процессов rmngr.exe
  • реестр кластера
  • один или несколько процессов rphost.exe.

Менеджер кластера (процесс rmngr.exe). Он служит для управления функционирования всего кластера. В состав кластера может входить несколько процессов rmngr.exe, один их которых всегда будет главным менеджером данного кластера, а остальные процессы – дополнительными менеджерами. Центральным сервером кластера следует называть рабочий сервер, на котором действует главный менеджер кластера, и который содержит список кластера. Именно ведение реестра кластера является одной из функций главного менеджера кластера.

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

Масштабируемость 1С версии 8.3

Масштабируемость кластера серверов осуществляется следующими способами:

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

Использование одновременно нескольких менеджеров.

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

Однако некоторые сервисы могут быть использованы только главным менеджером кластера:

  • сервис конфигурации кластера
  • сервис управления предметами отладки
  • сервис блокировок кластера.

Для прочих сервисов допустимы в назначение произвольные менеджеры кластера:

  • сервис журналов регистрации
  • сервис блокировки объектов
  • сервис заданий
  • сервис полнотекстового поиска
  • сервис сеансовых данных
  • сервис нумерации
  • сервис пользовательских настроек
  • сервис времени
  • сервис транзакционных блокировок.

Использование одновременно нескольких рабочих процессов.

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

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

Отказоустойчивость 1С версии 8.3

Устойчивость к отказам в работе кластера обеспечивается тремя направлениями:

  • резервированием самого кластера
  • резервированием рабочих процессов
  • устойчивостью к обрыву канала связи.

Резервирование кластера 1С версии 8.3

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

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

Резервирование рабочих процессов 1С версии 8.3

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

  • использовать
  • не использовать
  • использовать как резервный.

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

Устойчивость 1С версии 8.3 к обрыву канала связи

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

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

Сеансы работы в 1С версии 8.3

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

  • Тонкий клиент, Веб-клиент, Толстый клиент – эти сеансы возникают при обращении соответствующих клиентов к информационной базе
  • Соединение типа «Конфигуратор» — оно возникает при обращении к информационной базе конфигуратора
  • СОМ-соединение – образовывается при использовании внешнего соединения для обращения к информационной базе
  • WS-соединение – возникает в случае обращения к информационной базе веб-сервера, как следствие обращения к опубликованному на веб-сервере Web-сервису
  • Фоновое задание – образовывается, когда рабочий процесс кластера обращается к информационной базе. Служит такой сеанс для исполнения кода процедуры фонового задания,
    Консоль кластера – создается, когда утилита администрирования клиент-серверного варианта обращается к рабочему процессу
  • СОМ-администратор – возникает в случае обращения к рабочему процессу с использованием внешнего соединения.
  • Работа при использовании различных операционных систем

Любые процессы кластера серверов могут функционировать как под операционной системы Linux, так и под операционной системы Windows. Это достигается тем, что взаимодействие кластеров происходит под управлением протокола TCP/IP. Также в состав кластера могут входить рабочие серверы под управлением любой из этих операционных систем.

Утилита администрирования кластера серверов 8.3

В комплекте поставки системы имеется утилита для администрирования варианта клиент-серверной работы. Эта утилита дает возможность изменения состава кластера, управления информационными базами, и оперативно анализировать транзакционные блокировки.

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

Для чего нужен кластер

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

Возможности Win2k3

Вообще говоря, одни кластеры предназначены для повышения доступности данных,
другие — для обеспечения максимальной производительности. В контексте статьи нас
будут интересовать MPP (Massive Parallel Processing) — кластеры, в
которых однотипные приложения выполняются на нескольких компьютерах, обеспечивая
масштабируемость сервисов. Существует несколько технологий, позволяющих
распределять нагрузку между несколькими серверами: перенаправление трафика ,
трансляция адресов , DNS Round Robin , использование специальных
программ
, работающих на прикладном уровне, вроде веб-акселераторов. В
Win2k3, в отличие от Win2k, поддержка кластеризации заложена изначально и
поддерживается два типа кластеров, отличающихся приложениями и спецификой
данных:

1. Кластеры NLB (Network Load Balancing) — обеспечивают
масштабируемость и высокую доступность служб и приложений на базе протоколов TCP
и UDP, объединяя в один кластер до 32 серверов с одинаковым набором данных, на
которых выполняются одни и те же приложения. Каждый запрос выполняется как
отдельная транзакция. Применяются для работы с наборами редко изменяющихся
данных, вроде WWW, ISA, службами терминалов и другими подобными сервисами.

2. Кластеры серверов – могут объединять до восьми узлов, их главная
задача — обеспечение доступности приложений при сбое. Состоят из активных и
пассивных узлов. Пассивный узел большую часть времени простаивает, играя роль
резерва основного узла. Для отдельных приложений есть возможность настроить
несколько активных серверов, распределяя нагрузку между ними. Оба узла
подключены к единому хранилищу данных. Кластер серверов используется для работы
с большими объемами часто изменяющихся данных (почтовые, файловые и
SQL-серверы). Причем такой кластер не может состоять из узлов, работающих под
управлением различных вариантов Win2k3: Enterprise или Datacenter (версии Web и
Standart кластеры серверов не поддерживают).

В Microsoft Application Center 2000 (и только) имелся еще один вид
кластера — CLB (Component Load Balancing) , предоставляющий возможность
распределения приложений COM+ между несколькими серверами.

NLB-кластеры

При использовании балансировки нагрузки на каждом из хостов создается
виртуальный сетевой адаптер со своим независимым от реального IP и МАС-адресом.
Этот виртуальный интерфейс представляет кластер как единый узел, клиенты
обращаются к нему именно по виртуальному адресу. Все запросы получаются каждым
узлом кластера, но обрабатываются только одним. На всех узлах запускается
служба балансировки сетевой нагрузки (Network Load Balancing Service)
,
которая, используя специальный алгоритм, не требующий обмена данными между
узлами, принимает решение, нужно ли тому или иному узлу обрабатывать запрос или
нет. Узлы обмениваются heartbeat-сообщениями , показывающими их
доступность. Если хост прекращает выдачу heartbeat или появляется новый узел,
остальные узлы начинают процесс схождения (convergence) , заново
перераспределяя нагрузку. Балансировка может быть реализована в одном из двух
режимов:

1) unicast – одноадресная рассылка, когда вместо физического МАС
используется МАС виртуального адаптера кластера. В этом случае узлы кластера не
могут обмениваться между собой данными, используя МАС-адреса, только через IP
(или второй адаптер, не связанный с кластером);

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

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

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

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

Настройка NLB-кластера

Для организации NLB-кластеров дополнительное ПО не требуется, все
производится имеющимися средствами Win2k3. Для создания, поддержки и мониторинга
NLB-кластеров используют компонент «Диспетчер балансировки сетевой нагрузки»
(Network Load Balancing Manager)
, который находится во вкладке
«Администрирование» «Панели управления» (команда NLBMgr). Так как компонент
«Балансировка нагрузки сети» ставится как стандартный сетевой драйвер Windows,
установку NLB можно выполнять и при помощи компонента «Сетевые подключения», в
котором доступен соответствующий пункт. Но лучше использовать только первый
вариант, одновременное задействование диспетчера NLB и «Сетевых подключений»
может привести к непредсказуемым результатам.

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

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

Теперь вызываем диспетчер NLB. Кластеров у нас пока нет, поэтому появившееся
окно не содержит никакой информации. Выбираем в меню «Кластер» пункт «Новый» и
начинаем заполнять поля в окне «Параметры кластера». В поле «Настройка
IP-параметров кластера» вводим значение виртуального IP-адреса кластера, маску
подсети и полное имя. Значение виртуального МАС-адреса устанавливается
автоматически. Чуть ниже выбираем режим работы кластера: одноадресный или
многоадресный. Обрати внимание на флажок «Разрешить удаленное управление» — во
всех документах Microsoft настоятельно рекомендует его не использовать во
избежание проблем, связанных с безопасностью. Вместо этого следует применять
диспетчер или другие средства удаленного управления, например инструментарий
управления Windows (WMI). Если же решение об его использовании принято, следует
выполнить все надлежащие мероприятия по защите сети, прикрыв дополнительно
брандмауэром UDP-порты 1717 и 2504.

После заполнения всех полей нажимаем «Далее». В окне «IP-адреса кластера» при
необходимости добавляем дополнительные виртуальные IP-адреса, которые будут
использоваться этим кластером. В следующем окне «Правила для портов» можно
задать балансировку нагрузки для одного или для группы портов всех или
выбранного IP по протоколам UDP или TCP, а также блокировать доступ к кластеру
определенным портам (что межсетевой экран не заменяет). По умолчанию кластер
обрабатывает запросы для всех портов (0–65365); лучше этот список ограничить,
внеся в него только действительно необходимые. Хотя, если нет желания возиться,
можно оставить все, как есть. Кстати, в Win2k по умолчанию весь трафик,
направленный к кластеру, обрабатывал только узел, имевший наивысший приоритет,
остальные узлы подключались только при выходе из строя основного.

Например, для IIS потребуется включить только порты 80 (http) и 443 (https).
Причем можно сделать так, чтобы, например, защищенные соединения обрабатывали
только определенные серверы, на которых установлен сертификат. Для добавления
нового правила нажимаем «Добавить», в появившемся диалоговом окне вводим
IP-адрес узла, или если правило распространяется на всех, то оставляем флажок
«Все». В полях «С» и «По» диапазона портов устанавливаем одно и то же значение –
80. Ключевым полем является «Режим фильтрации» (Filtering Mode) — здесь
задается, кем будет обработан этот запрос. Доступно три поля, определяющие режим
фильтрации: «Несколько узлов», «Один узел» и «Отключить этот диапазон портов».
Выбор «Один узел» означает, что трафик, направленный на выбранный IP (компьютера
или кластера) с указанным номером порта, будет обрабатываться активным узлом,
имеющим наименьший показатель приоритета (о нем чуть ниже). Выбор «Отключить…»
значит, что такой трафик будет отбрасываться всеми участниками кластера.

В режиме фильтрации «Несколько узлов» можно дополнительно указать вариант
определения сходства клиентов, чтобы направлять трафик от заданного клиента к
одному и тому же узлу кластера. Возможны три варианта: «Нет», «Одно» или «Класс
C». Выбор первого означает, что на любой запрос будет отвечать произвольный
узел. Но не следует его использовать, если в правиле выбран протокол UDP или
«Оба». При избрании остальных пунктов сходство клиентов будет определяться по
конкретному IP или диапазону сети класса С.

Итак, для нашего правила с 80-м портом остановим свой выбор на варианте
«Несколько узлов — класс C». Правило для 443 заполняем аналогично, но используем
«Один узел», чтобы клиенту всегда отвечал основной узел с наименьшим
приоритетом. Если диспетчер обнаружит несовместимое правило, будет выведено
предупреждающее сообщение, дополнительно в журнал событий Windows будет внесена
соответствующая запись.

Далее подключаемся к узлу будущего кластера, введя его имя или реальный IP, и
определяем интерфейс, который будет подключен к сети кластера. В окне «Параметры
узла» выбираем из списка приоритет, уточняем сетевые настройки, задаем начальное
состояние узла (работает, остановлен, приостановлен). Приоритет одновременно
является уникальным идентификатором узла; чем меньше номер, тем выше приоритет.
Узел с приоритетом 1 является мастер-сервером, в первую очередь получающим
пакеты и действующим как менеджер маршрутизации.

Флажок «Сохранить состояние после перезагрузки компьютера» позволяет в случае
сбоя или перезагрузки этого узла автоматически ввести его в строй. После нажатия
на «Готово» в окне Диспетчера появится запись о новом кластере, в котором пока
присутствует один узел.
Следующий узел добавить также просто. Выбираем в меню «Добавить узел» либо
«Подключить к существующему», в зависимости от того, с какого компьютера
производится подключение (он уже входит в кластер или нет). Затем в окне
указываем имя или адрес компьютера, если прав для подключения достаточно, новый
узел будет подключен к кластеру. Первое время значок напротив его имени будет
отличаться, но когда завершится процесс схождения, он будет такой же, как и у
первого компьютера.

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

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

Изменение загрузки сервера

В такой конфигурации все серверы будут загружены равномерно (за исключением
варианта «Один узел»). В некоторых случаях необходимо перераспределить нагрузку,
большую часть работы возложив на один из узлов (например, самый мощный).
Применительно к кластеру правила после их создания можно изменить, выбрав в
контекстном меню, появляющемся при щелчке на имени, пункт «Свойства кластера».
Здесь доступны все те настройки, о которых мы говорили выше. Пункт меню
«Свойства узла» предоставляет несколько больше возможностей. В «Параметрах узла»
можно изменить значение приоритета для конкретно выбранного узла. В «Правилах
для портов» добавить или удалить правило нельзя, это доступно только на уровне
кластера. Но, выбрав редактирование конкретного правила, мы получаем возможность
скорректировать некоторые настройки. Так, при установленном режиме фильтрации
«Несколько узлов» становится доступным пункт «Оценка нагрузки», позволяющий
перераспределить нагрузку на конкретный узел. По умолчанию установлен флажок
«Равная», но в «Оценке нагрузки» можно указать другое значение нагрузки на
конкретный узел, в процентах от общей загрузки кластера. Если активирован режим
фильтрации «Один узел», в этом окне появляется новый параметр «Приоритет
обработки». Используя его, можно сделать так, что трафик к определенному порту
будет в первую очередь обрабатываться одним узлом кластера, а к другому – другим
узлом.

Журналирование событий

Как уже говорилось, компонент «Балансировка нагрузки сети» записывает все
действия и изменения кластера в журнал событий Windows. Чтобы их увидеть,
выбираем «Просмотр событий – Система», к NLB относятся сообщения WLBS (от
Windows Load Balancing Service, как эта служба называлась в NT). Кроме того, в
окне диспетчера выводятся последние сообщения, содержащие информацию об ошибках
и обо всех изменениях в конфигурации. По умолчанию эта информация не
сохраняется. Чтобы она записывалась в файл, следует выбрать «Параметры –>
Параметры журнала», установить флажок «Включить ведение журнала» и указать имя
файла. Новый файл будет создан в подкаталоге твоей учетной записи в Documents
and Settings.

Настраиваем IIS с репликацией

Кластер кластером, но без службы он смысла не имеет. Поэтому добавим IIS (Internet
Information Services)
. Сервер IIS входит в состав Win2k3, но, чтобы свести к
минимуму возможность атак на сервер, он по умолчанию не устанавливается.

Инсталлировать IIS можно двумя способами: посредством «Панели управления» или
мастером управления ролями данного сервера. Рассмотрим первый. Переходим в
«Панель управления – Установка и удаление программ» (Control Panel — Add or
Remove Programs), выбираем «Установку компонентов Windows» (Add/Remove Windows
Components). Теперь переходим в пункт «Сервер приложений» и отмечаем в «Службах
IIS» все, что необходимо. По умолчанию рабочим каталогом сервера является \Inetpub\wwwroot.
После установки IIS может выводить статические документы.