Преимущества кластерной службы Windows 2000

Часть 1

После выпуска версии Microsoft Exchange 2000 Enterprise Server (далее по тексту - Exchange 2000) можно в полной мере использовать возможности службы кластера Windows 2000 (называемой ранее в Windows NT Microsoft Cluster Server, MSCS). Вероятно, кластерная реализация Exchange 2000 подойдет прежде всего организациям, которым необходима масштабируемая почтовая система Exchange. Версия Exchange 2000 поддерживает режим кластера /active, позволяющий увеличить производительность и консолидировать работу сервера. Изучить возможности кластера можно, развернув Exchange Server 5.5. Это позволит ознакомиться с технологией прежде, чем провести планирование системы и установить Exchange 2000 в кластер.

Почему кластер?

При изучении кластерной технологии многие ошибочно полагают, что Exchange Server на кластере решит все проблемы, связанные с нарушением работоспособности системы. Кластерная технология, особенно в Windows 2000 или NT, может решить только ряд проблем, которые возникают при использовании обычного сервера. У отдельного сервера с работающим Exchange Server имеется несколько потенциальных причин сбоя. Например, могут отказать аппаратные компоненты (такие, как системная плата, процессор, блок питания, сетевая карта). Некоторые проблемы, связанные с программным обеспечением, такие, как заполнение оперативной памяти, также имеют место на простом сервере. Совместное хранение данных тоже способно вызвать сбой, и кластер в подобной ситуации не защитит. Если все узлы кластера присоединены к совместному устройству хранения через контроллер отдельного узла, то в случае сбоя этот контроллер будет слабым местом кластера. Такие технологии, как переключаемый волоконно-оптический канал и резервные каналы связи, позволяют решать подобные проблемы. Для этого в каждом узле используется резервный контроллер для подключения к волоконно-оптической сети хранилища (Storage Area Network, SAN). С помощью кластера можно также сделать почти незаметным плановый простой. Даже если не планировать никакие профилактические отключения, все равно будут возникать ситуации, при которых пользователи не смогут получать доступ к системе. Простой может возникнуть при обычном обслуживании, конфигурационных изменениях, обновлениях программного и аппаратного обеспечения.

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

Однако кластеризация не может заменить мероприятий, обеспечивающих устойчивость к сбоям. Кластерная технология не уменьшает вероятность сбоя одиночных устройств и смягчает последствия плановых отключений, однако не решает многих проблем, связанных с Exchange Server. Кластер не поможет там, где плохо планируется система или некачественно обучен персонал, не предотвратит сбои программного обеспечения или серьезные неполадки в системе. Также кластер не может предотвратить отказ различных служб (таких, как WINS, DNS, Active Directory (AD), сетевых служб), которые непосредственно связаны с Exchange Server. Кластер и связанные с ним технологии (например, Cluster Administrator) в целом усложняют систему. Поэтому, прежде чем создавать кластер Exchange Server, необходимо понять и оценить его возможности и убедиться в том, что он поможет решить необходимые задачи.

MSCS и служба кластера

В 1997 г. разработчики Microsoft включили в NT Server, Enterprise Edition (NTS/E) некоторые новые компоненты. Одним из этих компонентов является служба MSCS. Изменение названия Microsoft Cluster Server в NT 4.0 на службу Cluster в Windows 2000 имеет немаловажное значение (информацию о MSCS и службе Cluster см. в «Clustering Resources», стр. 145).

Задачей MSCS являлось расширение NT для добавления новых возможностей поддержки приложений в кластерном окружении без доработки приложений. Специалисты Microsoft намеренно исключили из MSCS две возможности. Во-первых, MSCS при сбое не переносит работающие приложения мгновенно, чтобы избежать потерянных операций. Следовательно, работающие под MSCS приложения редко достигают показателя доступности в 99,99999% (т. е. около 3-4 с простоя в год). Во-вторых, MSCS не может восстановить связи между клиентом и сервером. Другими словами, пользователи должны будут повторить работу, которая выполнялась в момент сбоя.

Ключевые моменты концепции кластеризации в Windows 2000

Концепцию кластерной реализации Exchange 2000 составляют три основных понятия: ресурсы, виртуальные серверы и отказоустойчивость.

Ресурсы. Ресурсы - самый маленький элемент, которым можно управлять внутри кластера. Ресурсы - это логические или физические элементы, которые служба кластера может переводить в режимы общей доступности и автономной работы, делать доступными только одному узлу и перемещать между узлами. Примером логического ресурса кластера может служить сетевое имя и адрес IP, примером физического ресурса кластера является дисковое устройство и сетевой интерфейс. Ресурсы в кластере разработчик или администратор обычно группирует по функциональному назначению, создавая соответственно группы ресурсов, выполняющие определенные задачи. Например, файловая служба и общая служба печати, служба Web или служба Exchange Server. Связь между ресурсами в группе называется ресурсной зависимостью. Например, сетевое имя требуется для поиска адреса IP. Следовательно, сетевое имя является зависимым от адреса IP. Ресурсная зависимость определяет порядок перехода ресурсов в состояния доступности и автономности. На Рисунке 1 показаны ресурсы Exchange 2000 и ресурсная зависимость в группе Exchange Virtual Server (EVS).

Рисунок 1. Зависимость ресурсов кластера Exchange 2000.

Виртуальный сервер. Виртуальный сервер строится на основе ресурсов и ресурсных групп. Не следует путать кластерный виртуальный сервер с виртуальным сервером Microsoft IIS (хотя виртуальный сервер IIS может быть виртуальным сервером кластера). Виртуальный сервер в кластере - это приложение, которое доступно сетевым пользователям. В Exchange 2000 виртуальный сервер - это все необходимые ресурсы для обеспечения полноценной работы Exchange Server в сети. EVS появляется в приложении Exchange 2000 System Manager и «виден» как обыкновенный сервер Exchange 2000. В Exchange 2000 Enterprise Server в кластере может существовать множество EVS. Только один узел является в текущий момент владельцем всех EVS в кластере, но при этом поддерживается работа всех EVS одновременно. Количество виртуальных серверов на узле или в кластере ограничено количеством групп хранения Exchange 2000, которое каждый сервер или узел может поддерживать. В текущем выпуске Exchange 2000 Enterprise Server имеется ограничение в четыре группы хранения на кластере или одиночном сервере. В скором времени оно, возможно, будет изменено.

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

Режим active/active, который поддерживается Exchange 2000, является более функциональным, чем режим active/passive. Режим active/active предполагает, что служба кластера запущена на каждом узле, и определенный ресурс (такой, как база данных, виртуальный сервер, адрес IP), необходимый какой-нибудь системной службе, требуется сделать отказоустойчивым. Режим active/active загружает определяемые приложением ресурсные библиотеки DLL, используя API кластера, чтобы приложение стало доступным кластеру. Это дает возможность настраивать отказоустойчивость приложения. Ресурсные DLL позволяют службе кластера управлять ресурсом. Эти DLL определяют ресурсные данные, интерфейсы и управление.

Многие приложения (разработанные Microsoft и другими компаниями) не предоставляют ресурсных DLL. Но служба кластера предоставляет для Generic Service ресурсные DLL, которые позволяют приложениям выполнять их основные функции, если они работают как кластерные службы. Эти общие библиотеки DLL обеспечивают режим active/passive и разрешают приложению работать только на одном узле.

В режиме active/passive, который поддерживается Exchange Server 5.5, ресурсные DLL Generic Service определяют для службы кластера приложение как ресурс. Менеджер отказоустойчивости гарантирует, что приложение в данный момент работает только на одном узле кластера. При этом приложение является частью ресурсной группы, которая использует общее имя в кластере. Все приложения, работающие в ресурсной группе, доступны по этому имени для всех пользователей сети.

Возможности кластера Exchange 2000

Специалисты Microsoft, разрабатывая Exchange 2000 Enterprise Server, использовали поддержку кластера в Exchange Server 5.5 Enterprise Edition (Exchange 5.5/E). Для приложения обеспечена полная функциональность в кластерной среде. Exchange 2000 поддерживает режим отказоустойчивости active/active. С точки зрения администратора, Exchange 2000 EVS содержит все необходимые для обеспечения бесперебойной работы компоненты (например, группы хранения и требуемые протоколы, как минимум). На кластере могут существовать один или несколько EVS, и каждый из них работает на узле кластера. С точки зрения службы кластера EVS существует как подгруппа ресурсов в ресурсной группе. Если имеется множество EVS, которые совместно используют один и тот же физический дисковый ресурс (например, каждый EVS имеет группу хранилищ, расположенную на одном дисковом устройстве), то EVS должны входить в ту же самую ресурсную группу. Это требование гарантирует, что ресурсы и EVS на все сбои будут реагировать как единый элемент и обслуживаться как целостная ресурсная группа. Клиенты подключаются к EVS точно так же, как и к одиночному серверу. Служба кластера осуществляет контроль над EVS. Если происходит сбой, то служба кластера перезапускает EVS или переносит его на работоспособный узел. Во время плановых отключений можно вручную перенести EVS на другой узел. Пользователи могут заметить перерыв в работе почтовой системы, пока EVS находится в состоянии переключения из режима «выключен» в режим «включен» (online/offline).

Компоненты кластера Exchange 2000

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

Следует запомнить, что существуют специфичные ресурсные DLL-приложения, которые могут отличаться от основных. Exchange Server 5.5 не предоставляет свои ресурсные DLL вместо основных, используемых службой кластера. Разработчики Exchange 2000 создали специальные ресурсные библиотеки DLL, которые гарантируют полноценную кластерную функциональность приложения. На Рисунке 2 показаны предоставляемые Ex-change 2000 основные возможности и поддержка кластера через две DLL: ресурсную exres.dll и excluadm.dll для Cluster Administrator.

Рисунок 2. Взаимодействие Exchange 2000 со службой кластера в Windows 2000.

Программа установки Exchange 2000 инсталлирует exres.dll, когда определяется, что Exchange 2000 будет работать в кластерной среде. Exres.dll выполняется API службы кластера и, таким образом, является частью интерфейса между службами кластера и Exchange 2000. Exres.dll необходима для осуществления контроля над ресурсом и его перезапуска в случае сбоя.

Для того чтобы с помощью программы Cluster Administrator можно было настраивать ресурсы Exchange Server и управлять ими, службы Exchange Server должны обмениваться данными с Cluster Administrator, а Cluster Admi-nistrator должен поддерживать специфичные параметры Exchange и отображать соответствующие экраны. Exclu-adm.dll обеспечивает необходимые экраны мастеров настройки (когда происходит настройка ресурсов Exchange Server в Cluster Administrator) и предоставляет ресурсы Exchange Server (например, Exchange System Attendant) для того, чтобы их можно было добавить в кластер. Excluadm.dll жизненно необходима для настройки и управления службами Exchange в кластере.

Базовые знания

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

Джерри Кохран - автор редакторской колонки в новостных выпусках Exchange Administrator UPDATE (http://www.win2000mag.net/email/). Старший консультант по технологиям в группе Applied Microsoft Technologies Group в Compaq Global Services. С ним можно связаться по адресу: jerry.cochran@compaq.com.


Таблица 1. Компоненты Exchange 2000 Server и поддержка кластера.
КомпонентПоддержка кластераКластерная реализация
AD connectorНе поддерживается*Нет
Chat ServiceНе поддерживается*Нет
Conference ManagerНе поддерживается*Нет
Exchange 2000 Conferencing ServerНе поддерживается*Нет
HTTP-DAVМножество EVS на узлеActive/active
IBM Professional Office System (PrOFS) connectorНе поддерживается*Нет
IMAPМножество EVS на узлеActive/active
Information Store (IS)Ограничено 4-мя группами хранилищ на узле кластера*Active/active
Instant Messaging (IM) ServiceНе поддерживается*Нет
Key Management Service (KMS)Не поддерживается*Нет
Lotus cc:Mail connectorНе поддерживается*Нет
Lotus Notes connectorНе поддерживается*Нет
Message Transfer Agent (MTA)Один объект MTA на кластере в одной кластерной группеActive/passive
Microsoft Mail (MS Mail) connectorНе поддерживается*Нет
MSSearchОдин объект на EVSActive/passive
Network News Transfer Protocol (NNTP)Множество EVS на узлеActive/passive
Novell GroupWise connectorНе поддерживается*Нет
POP3Множество EVS на узлеActive/passive
Site Replication Service (SRS)Не поддерживается*Нет
SMTPМножество EVS на узлеActive/passive
SNADS connectorНе поддерживается*Нет
System AttendantРесурс System Attendant создается каждым EVS (когда System Attendant настраивается для работы в кластере)Active/active
* В промышленном выпуске Exchange 2000 (Release to manufacturing, RTM)

Вернуться