Самоучитель
системного администратора

10.2. Кластерные решения

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

Кластерные решения представлены различными вендорами. Решения во многом сходны, имеют одинаковые преимущества и недостатки. Можно упомянуть Veritas Cluster Server, Fujitsu PRIMECLUSTER, IBM HACMP, HP ServiceGuard, IBM Tivoli System Automation for Multiplatforms (SA MP), Linux-HA, Microsoft Cluster Server (MSCS), NEC ExpressCluster, Red Hat Cluster Suite, SteelEye LifeKeeper и Sun Cluster. Системным администраторам нашей страны на взгляд автора наиболее известны решения от Microsoft и Symantec.

Кластер Microsoft

Кластер может быть создан на старших версиях серверов Windows: Windows Server Enterprise1 Edition или Datacenter. Для создания кластера необходимо 2 физических сервера (желательно идентичных) и система хранения, позволяющая осуществить одновременное подключение диска к двум серверам. Для подключения системы хранения обычно используется технология FC (fibre channel) или iSCSI. Вообще, к оборудованию, которое предполагается использовать в составе кластера, предъявляются повышенные требования, в общем случае оно должно быть сертифицировано вендором для такого применения (список сертифицированного оборудования доступен через Microsoft Store — http://go.microsoft.com/fwlink/?LinkID=14201). Например, для кластеров на основе Windows 2003 Server поддерживалось подключение систем хранения по технологии parallel SCSI, а в версии Windows Server 2008 — только последовательное iSCSI.

Поскольку подключение системы хранения не должно быть единственной точкой отказа, то применяются дублированные подключения. Как правило, для этого необходимы специальные драйверы (например, multipath-драйверы). Рекомендуется также резервирование подключений серверов к сети Ethernet, которое должно быть выполнено по рекомендациям вендора использованных сетевых адаптеров. В результате созданный кластер может выглядеть так, как показано на рис. 10.3.

Рис. 10.3.
Вариант построения кластера от Microsoft

Серверы, объединяемые в кластер, должны иметь два сетевых интерфейса: один для синхронизации управления (внутренняя сеть, рекомендуется выделять ее в отдельную VLAN), а другой — для полезной нагрузки. Для общего диска, который должен быть создан для кластера, — его называют еще кворумным диском (от Quorum, поэтому такому диску принято присваивать букву Q) — достаточно выделить всего 50 Мбайт пространства.

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

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

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

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

Рис. 10.4.
Администратор кластеров для ресурсов NetBackup

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

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

    Совет

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

Veritas Cluster Server

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

Veritas Cluster Server позволяет создавать как локальные (в пределах локальной сети) кластеры, так и распределенные (в том числе и с подключением только по сети Интернета). Существуют варианты конфигурации кластера, которые используют разнесенные системы хранения, данные на которых реплицируются средствами самой системы хранения и т. п. (рис. 10.5).

Рис. 10.5.
Территориально разнесенный кластер

Основное преимущество данного решения — большая распространенность, универсальность и наличие более широкого круга приложений.

Решения высокой доступности от Marathon

Примером другого подхода к построению систем высокой доступности являются решения компании Marathon Technologies Corporation, Inc. (http://www. marathontechnologies.com/), представившей линейку продуктов everRun. Данный продукт предназначен в первую очередь для построения решений на Microsoft Windows Server, хотя и позволяет защищать XenServer.

Технология everRun предусматривает создание виртуального сервера на основе двух физических серверов (рис. 10.6 из документации продукта).

Рис. 10.6.
Логическая структура виртуального сервера everRun

Создание виртуального сервера осуществляет агент everRun, который устанавливается на обычную операционную систему сервера. Оборудование серверов может отличаться2, наиболее жесткие требования предъявляются к идентичности процессоров. В отличие от традиционных кластеров решение от Marathon не нуждается в общем файловом ресурсе, однако необходимо наличие нескольких быстрых каналов связи между серверами. Если для "продуктовых" сетевых интерфейсов достаточно линии связи на 100 Мбит, то для межсерверных связей — не менее 1 Гбит, причем задержка при передаче пакета данных не должна составлять более 10 мсек. Всего межсерверных каналов должно быть 3: два для синхронизации данных, один для управления. Существует и решение для построения разнесенного виртуального сервера, но оно также предъявляет высокие требования к межсерверному каналу связи.

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

Рис. 10.7.
Построение виртуального диска при отказе одного физического диска

Аналогично система будет вести себя при выходе из строя сетевого адаптера и других компонент. Полный переход вычислений на другой сервер произойдет в случае отказа процессора (оборудования) одного из серверов.

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

Распределенные каталоги

Для обеспечения централизованного управления сетевыми ресурсами (пользователи, серверы, общие папки, принтеры и т. п.) были созданы как специализированные средства — каталоги, так и стандартизованы протоколы работы с ними (Х500, LDAP и т. д.). Понятно, что реализация каталогов изначально строилась с учетом обеспечения распределения нагрузки и исключения единой точки отказа.

Существует много реализаций каталогов, но среди коммерческих продуктов можно отметить Microsoft Active Directory (для серверов Windows NT 4 служба называлась NT Directory Service (NTDS)), среди бесплатных — проект OpenLDAP.

Репликация данных каталогов

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

В службе каталогов Microsoft в целях отображения физической структуры системы на логическую введено понятие сайта. Сайт объединяет серверы (и пользовательские системы) в пределах локальной сети (быстрые каналы связи). Сайты объединяются друг с другом более медленными линиями, например, ATM, ISDN, T1, T3 и т. п. Основываясь на оценке скорости канала связи между серверами каталогов, система создает правила репликации. Для сложных структур информационных систем, особенно в случае наличия разнотипных каналов связи, эту операцию лучше выполнить вручную, явно указав, как должны передаваться данные. Это может стать сложной задачей, интересующегося читателя мы отошлем к первоисточнику по управлению межсайтной репликацией — http://technet.microsoft.com/en-us/ library/cc961783.aspx.

Хозяева операций

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

Хозяин операции — это сервер каталога, являющийся головным (мастер-сервером) по какой-либо функции. Такие функции носят название Flexible Single Master Operation role (FSMO). В доменах Windows 200х их пять:

  • Schema master (один на лес);
  • Domain naming master (один на лес);
  • RID master (один на домен);
  • PDC emulator (один на домен);
  • Infrastructure master (один на домен).

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

Смена хозяев операций

Три роли (PDC, RID, Infrastructure) легко переносятся с помощью оснастки AD Пользователи и компьютеры. Необходимо просто открыть оснастку, подключиться к тому контроллеру домена, на который планируется перенести соответствующую роль, и выполнить соответствующую команду в меню.

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

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

    Примечание

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

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

  1. Открыть утилиту и набрать команду ROLES.
  2. Указать, к каким контроллерам необходимо подключиться, для чего набрать команду CONNECTIONS и ввести команду подключения к необходимому контроллеру, после чего закрыть опцию CONNECTIONS, набрав QUIT.
  3. Выбрать нужную команду seize ..., чтобы переписать соответствующую роль.

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

    Примечание

    Если в структуре предприятия присутствует несколько доменов, то совмещение ролей Infrastructure Master с сервером глобального каталога недопустимо.

Сервер глобального каталога (GC)

Контроллеры домена хранят информацию об объектах текущего (собственного) домена. Поскольку в логической структуре предприятия может существовать несколько доменов, то для выполнения операций, затрагивающих объекты разных доменов, необходим доступ к соответствующим контроллерам. Для ускорения операций в системе создаются специальные контроллеры, которые хранят (в режиме только для чтения) все объекты леса, но только не с полным, а с частичным набором атрибутов. Такие контроллеры называются серверами глобального каталога (Global catalog, GC).

В качестве GC может быть назначен любой контроллер домена. Назначение контроллера домена сервером глобального каталога выполняется через оснастку AD Сайты и ^ужбы. Раскрыв узел, соответствующий нужному контроллеру, в свойствах NTDS Settings необходимо включить параметр использования контроллера в качестве GC.

    Примечание

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

Серверы GC хранят наиболее часто используемые атрибуты объектов. Условно можно считать, что объем хранимых на GC данных снижается примерно в 2 раза по сравнению с "полным" вариантом описания объекта. Но если конкретным приложениям необходим частый доступ к нереплицируемым атрибутам, то администратор может внести изменения в параметры GC, откорректировав схему организации. Для этого достаточно в консоли управления оснасткой AD Schema включить репликацию в свойствах соответствующих атрибутов; по умолчанию этой оснастки нет в списке меню, ее следует добавить в консоль управления.

    Примечание

    Некоторые приложения активно используют обращения к GC. Например, MS Exchange Server. В этих случаях сервер GC обязательно должен быть включен в соответствующий сайт ("рядом" с таким приложением).

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

Отказоустойчивые решения на виртуальных системах

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

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

Ограничения данного решения базируются на требованиях, предъявляемых к таким виртуальным машинам. Это идентичность процессоров (при наличии списка допустимых для внедрения технологий моделей) и наличие аппаратной поддержки виртуализации, необходимость развертывания управляющего центра (vCenter) и создания решения высокой доступности на существующем кластере высокой доступности VMware, наличие нескольких высокоскоростных сетевых адаптеров (рекомендуется 10 Гбит, но можно использовать и 1 Гбит), наличие системы хранения (диски защищаемых машин автоматически переводятся в толстый тип, если они были созданы в режиме тонких дисков). Существуют и ограничения по многопроцессорности для систем высокой доступности.

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


1Advanced Server, если говорить о версии Windows 2000 Server.

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


Рейтинг@Mail.ru