Кластерное ПО Compaq завоевало первое место в сравнительном тестировании компании D.H. Brown Associates
Однако, если в самом начале кластеры применяли для увеличения надежности компьютеров, то сейчас эта технология также позволяет увеличить и быстродействие вычислительной платформы.
Кроме этих двух характеристик кластерной технологии — быстродействия и надежности — есть еще несколько дополнительных требований, которые важны при использовании кластеров в современных вычислительных системах. Вот эти требования:
- Скорость резервного копирования и восстановления данных.
- Функциональные возможности по переносу нагрузки с аварийных узлов на исправные.
- Параллельный доступ к базе данных.
- Средства настройки высокого уровня готовности.
- Единое внешнее представление системы.
- Восстановление после аварии.
Именно эти требования выдвигала известная аналитическая компания D.H. Brown Associates при тестировании шести наиболее известных систем кластеризации. В исследовании сравнивались следующие шесть систем:
Производитель | Операционная система | Решение кластеризации |
Compaq | Tru64 UNIX | TruCluster Server |
Data General | DG/UX | DG/UX Clusters |
Hewlett-Packard | HP/UX | MC/ServiceGuard |
IBM | AIX | HACMP |
Sequent | Dynix/ptx | ptx/CLUSTERS |
Sun | Solaris | Sun Cluster |
Рассмотрим более подробно, как проводилось тестирование и как с ним справилась система от Compaq.
Резервное копирование и восстановление информации
Этой проверке исследователи придавали большое значение, поскольку основная задача системы высокой надежности — любой ценой сохранить данные. А использование нескольких узлов кластера, которые одновременно обращаются к одним и тем же данным, увеличивает сложность процедуры резервного копирования и последующего восстановления информации.
Для оценки качества системы резервного копирования и восстановления информации исследователи использовали следующие четыре характеристики: как система работает в режиме переноса нагрузки с аварийного узла на исправный, насколько хорошо распознается авария целого узла или отдельного приложения, какие предусмотрены возможности по восстановлению информации, не происходит ли сбоев в работе файловой системы при переносе нагрузки на исправные узлы.
Кластерная система Compaq успешно прошла этот тест. Такого результата удалось достигнуть благодаря следующим особенностям системы:
- Файловая система, используемая Compaq, не требует перемонтирования при передаче ее на другой узел кластера.
- TruCluster динамически меняет процедуру резервного копирования в зависимости от того, какие ресурсы располагаются на узлах кластера.
- Для проверки работоспособности узлов и приложений используются утилиты, которые контролируют загрузку процессора, а также размеры свободного дискового пространства и области подкачки.
- При выходе из строя адаптера глобальной сети узел может использовать для связи с внешним миром локальную сеть или соответствующий адаптер другого узла.
Перенос нагрузки
Это не менее важная часть исследования программного обеспечения кластеризации. Перенос нагрузки с аварийного узла на исправный является основным механизмом обеспечения непрерывной работы приложений при условии оптимального использования ресурсов кластера. Эти требования — перенос нагрузки и резервное копирование c восстановлением информации — являются ключевыми во всей кластерной технологии, а все остальные требования касаются, скорее, удобства использования этих технологий.
Насколько эффективно реализован перенос нагрузки в тестируемых системах, исследователи проверяли по следующим характеристикам: масштабируемость числа узлов, процессоров и дисков, поддерживаемых кластером; поддержка RAID-массивов уровней 1 и 5; сохранение нормального режима функционирования NFS и целостности транзакций; коммуникационные возможности кластера (единый IP-адрес, переключение соединений SNA и X.25); переключение дисков и ленточных накопителей к исправному узлу, функциональные возможности по загрузке и эксплуатации кластерной системы.
Хорошие результаты Compaq в этой категории продемонстрированы благодаря следующим характеристикам:
- TruCluster поддерживает перенос нагрузки по сетям Ethernet, Fast Ethernet, FDDI и ATM, а также по последовательному соединению и через разделяемый диск.
- Использование соединения узлов по технологии Memory Channel позволяет оптимизировать передачу сообщений между ними.
- При выходе из строя адаптера глобальной сети узел может использовать для связи с внешним миром локальную сеть или соответствующий адаптер другого узла.
Можно сконфигурировать интерфейсы, используемые для подключения дисков и ленточных накопителей так, чтобы ими можно было управлять только с исправных узлов кластера.
Параллельный доступ к базам данных
Кластеры, в основном, используют для хранения большого количества информации. Она, как правило, хранится в базах данных, и поэтому исследователи из D.H. Brown Associates решили проверить совместную работу кластерных систем и СУБД. Для выполнения этого теста система должна иметь распределенный менеджер блокировок, который обеспечивает непротиворечивое изменение базы данных при поступлении последовательности запросов с разных узлов кластера.
В этом разделе кластер оценивали по следующим характеристикам: работа СУБД на четырехузловом кластере, поддержка режима виртуального «сырого» (raw) устройства, на котором СУБД хранит данные, работа менеджера блокировок, другие функциональные особенности кластера.
Кластер Compaq в этой категории занял первое место, значительно опередив все остальные системы. Этого результата удалось достичь по следующим причинам:
- Технология Memory Channel, используемая Compaq для объединения узлов кластера, позволяет использовать DMA-диск в качестве виртуального сырого устройства.
- Только в системе Compaq реализована балансировка нагрузки на систему хранения данных.
- Memory Channel позволяет оптимизировать передачу сообщений между узлами кластера при работе менеджера блокировок (Distributed Lock Manager — DLM).
- Compaq встроила менеджер блокировок в ядро системы, и опубликовал API-интерфейс для доступа к нему приложений.
Настройка конфигурации высокого уровня готовности
Настройка такой конфигурации кластера, при которой обеспечивается высокая доступность приложений, дело не простое. Это связано в первую очередь с тем, что сложно определять правила, по которым те или иные приложения переносятся с аварийных узлов кластера на исправные. Кластерная система должна позволять легко переносить приложения с одного узла кластера на другой, а также восстанавливать аварийное приложение на другом узле кластера.
В этой категории исследовались следующие характеристики системы: качество интерфейса системного администратора, возможности сценариев восстановления приложений, качество системы балансировки нагрузки, оперативное изменение оборудования кластера, дополнительные функциональные возможности системы.
И в этой категории Compaq заняла первое место. Основные причины, по которым испытатели присудили высший балл Compaq, следующие:
- TruCluster можно администрировать с помощью Web, графического интерфейса и командной строки.
- Для всех ресурсов системы написаны сценарии восстановления после сбоя.
- Compaq реализовала в кластере все стандартные протоколы сетевого контроля, такие как MIB и SNMP.
- Кластер обеспечивает балансировку нагрузки и динамическое изменение процедур резервного копирования.
Единое представление кластера (Single System Image)
Следует отметить, что пользователь системы не обязан знать о том, что он работает с кластерной системой, поэтому для максимально комфортных условий работы пользователей кластер должен выглядеть извне как единый компьютер. Кластер должен иметь единую файловую систему для всех узлов, единый IP-адрес и единое ядро системы. Для проверки этих требований и были проведены исследования, которые перечислены в этой категории.
Для обеспечения единого внешнего представления кластер должен иметь следующие характеристики: единая файловая система, драйвера устройств и соответствие стандарту POSIX, единое именование ресурсов внутри кластера, независимое от того, на каком узле кластера ресурс располагается, дополнительные возможности, такие как единый IP-адрес, общая область подкачки для всего кластера и др.
По этим параметрам Compaq также получила первое место, что обеспечивалось следующими особенностями TruCluster:
- TruCluster поддерживает кластерную файловую систему CFS, которая соответствует стандарту POSIX.
- Использование журнальной файловой системы AdvFS позволяет обойтись без утилит проверки целостности файловой системы.
- Поддержка прямого и косвенного доступа к CFS с использованием Device Request Dispatcher.
- Поддержка единых паролей, общего IP-адреса, единых параметров системы безопасности, состояний процессов и других характеристик.
Восстановление после стихийного бедствия
Даже самые надежные системы могут выйти из строя, если произойдет, например, пожар в помещении, где стоит сервер, или наводнение. При глобальном масштабе современного бизнеса такие относительно локальные неприятности не должны ему вредить, поэтому кластер должен быть распределенным. К счастью, стихийные бедствия случаются не часто, и поэтому в сравнении кластерных технологий этой части исследований уделялось меньше всего внимания.
Для обеспечения нечувствительности системы к стихийным бедствиям исследователи выдвинули следующие требования: возможность перенесения приложений на узлы, расположенные как можно дальше друг от друга, обеспечение репликации и зеркалирования информации на внешние по отношению к кластеру серверы, максимальная удаленность узлов кластера друг от друга, дополнительные функциональные возможности, такие как удаленные перезапуск кластера и управление им, обеспечение непротиворечивой работы нескольких фрагментов кластерной системы, которые потеряли связь друг с другом и другие требования.
На момент тестирования решение Compaq обеспечивало максимальное расстояние между узлами кластера, равное 15 км.
Итог
Поскольку исследование было комплексным, то представители D.H. Brown Associates выводили общую оценку продуктов по сумме шести тестов. При этом использовались разные весовые коэффициенты. Их соотношение было следующим: резервное копирование — 20; балансировка нагрузки — 20; параллельный доступ к СУБД — 10; администрирование конфигурации высокой готовности — 5; единое представление системы — 5%; защита от стихийных бедствий — 5.
Таким образом, максимальное суммарное значение не могло превышать 65 баллов. В таблице приведены общие результаты тестов.
Производитель | Полученный результат |
Compaq | 53,5 |
IBM | 51,8 |
Hewlett-Packard | 47,2 |
Data General | 46,9 |
Sun | 45,9 |
Sequent | 45,0 |
Средний балл | 48,4 |
Преимущества Compaq
Исследования D.H. Brown Associates показали, что кластерное решение Compaq максимально отвечает современным требованиям, предьявляемым компаниями к кластерной технологии. Итак, давайте перечислим еще раз достоинства TruCluster:
- Файловая система, используемая Compaq, не требует перемонтирования при передаче ее на другой узел кластера, поскольку использует DLM и доступна одновременно с нескольких узлов кластера.
- Использование соединения узлов по технологии Memory Channel позволяет оптимизировать передачу сообщений между ними.
- Только в кластерном программном обеспечении Compaq реализована балансировка нагрузки через подсистему хранения.
- Кластер обеспечивает балансировку нагрузки и динамическое изменение процедур резервного копирования.
- Compaq встроил менеджер блокировок в ядро системы и опубликовал API-интерфейс для доступа к нему приложений.
- TruCluster можно администрировать через Web, посредством графического интерфейса и командной строки.
- Использование файловой системы с журналированием AdvFS позволяет обойтись без утилит проверки целостности файловой системы.
- Поддерживаются единые пароли, IP-адреса, параметры системы безопасности, статусов процессов и другие характеристики.
Как устроен кластер
Кластер объединяет несколько серверов, соединенных между собой специальным коммуникационным каналом, часто называемым также «системной сетью».
Неотъемлемой частью кластера является специальное программное обеспечение, которое, собственно, и решает проблему восстановления узла в случае сбоя, позволяет перезапускать приложения вышедшего из строя узла, а также решает другие задачи, например, изменяет IP-адрес сервера приложений, если он вышел из строя, и выполнение переложено на другой узел. Кластерное ПО обычно имеет несколько заранее заданных сценариев восстановления работоспособности системы, а также может предоставлять администратору возможности настройки таких сценариев. Восстановление после сбоев может поддерживаться как для узла в целом, так и для отдельных его компонентов — приложений, дисковых томов и т.д. Эта функция автоматически инициируется в случае системного сбоя, а также может быть запущена администратором, если ему, например, необходимо отключить один из узлов для реконфигурации.
Кластеры могут иметь разделяемую память на внешних дисках, как правило, на дисковом массиве RAID. Общая файловая система осуществляет доступ к разделяемым дискам по общим интерфейсам, что требует определенной координации доступа, для того чтобы не возникало попыток одновременно изменить один и тот же файл на диске. Эта координация реализуется с помощью специального механизма — диспетчера распределенных блокировок (Distributed Lock Manager — DLM), который закрывает доступ к устройству или файлу для всех узлов, кроме одного, приложение которого в данный момент модифицирует данные.
В системах, где нет DLM, приложения не могут параллельно работать с одними и теми же данными, и общая дисковая память, если таковая имеется, назначается одному из узлов в данный момент времени.
Таким образом, в кластерах, которые не поддерживают одновременного доступа к внешней памяти, все узлы являются полностью автономными серверами. В случае двух узлов доступ к общей памяти на дисках осуществляется с помощью разделенной шины ввода/вывода — для каждого узла шина заканчивается в дисковом массиве. В каждый момент времени только один узел владеет общей файловой системой. Если один из серверов выйдет из строя, контроль над шиной и разделяемыми дисками переходит к другому узлу.
Вместо разделяемой внешней памяти, в кластерах может реализовываться принцип зеркалирования информации, когда данные одного узла тиражируются на дисковые накопители другого.
Узлы кластера контролируют работоспособность друг друга и обмениваются специфической «кластерной» информацией, например, о конфигурации кластера, а также передают данные между разделяемыми накопителями и координируют их использование. Контроль работоспособности осуществляется с помощью специального сигнала, который узлы кластера передают друг другу, для того чтобы подтвердить свое нормальное функционирование.
В качестве коммуникационного канала могут использоваться обычные сетевые технологии (Ethernet, Token Ring, FDDI, АТМ), разделяемые шины ввода/вывода (SCSI или PCI), высокоскоростной интерфейс Fibre Channel или специализированные технологии (DSSI, CI, Memory Channel).
Требования, предъявляемые к быстродействию коммуникационного канала, зависят от степени интеграции узлов кластера и характера работы приложений. Скажем, если приложения в разных узлах не взаимодействуют друг с другом и не осуществляют одновременный доступ к дисковым накопителям, то узлы обмениваются между собой только контрольными сообщениями, подтверждающими их работоспособность, а также информацией об изменении конфигурации кластера, то есть о добавлении новых узлов, перераспределении дисковых томов и т.д. Такой тип обмена не потребует значительных ресурсов межсоединения и вполне может удовлетвориться простым 10-мегабитным Ethernet.
Высокоскоростной коммуникационный канал нужен, если приложения в разных узлах кластера будут работать с одними и теми же данными. Реализация механизма DLM предполагает интенсивный обмен сообщениями между узлами. А значит, потребует высокой производительности межсоединения узлов кластера.
Решение, предлагаемое компанией Compaq, опирается на разработки Digital Equipment, первопроходца технологии кластеризации. Семейство программных продуктов TruCluster служит для объединения в кластер серверов AlphaServer с ОС Tru64 Unix. Один из представителей этого семейства, TruCluster Production Server поддерживает параллельное выполнение приложения на всех узлах кластера с помощью механизма DLM и ориентирован на использование таких программных решений, как, например, СУБД Oracle Parallel Server. TruCluster Production Server поддерживает постоянное функционирование приложений во всех узлах кластера, ликвидируя тем самым задержки, связанные с перезапуском приложения в случае сбоя одного из узлов. Кроме того, это решение обеспечивает масштабируемость системы, повышая производительность приложения при добавлении новых узлов в кластер. Однако для того чтобы добиться такой масштабируемости и эффективно реализовать механизм DLM, необходимо высокопроизводительное соединение между узлами. Поэтому с TruCluster Production Server используется специальная высокоэффективная коммуникационная технология Memory Channel, которая обеспечивает высокоскоростной (до 100 Мбайт/с) обмен сообщениями между серверами в кластере.
Другой продукт семейства TruCluster, более экономичный TruCluster Available Server, обеспечивает выполнение на разных узлах разных наборов приложений, вместо быстродействующего соединения Memory Channel использует для межсерверного взаимодействия разделяемый интерфейс SCSI. В таком кластере нагрузка автоматически перераспределяется между работающими узлами, если какой-либо сервер выйдет из строя. Таким образом, все узлы выполняют свою работу и одновременно играют роль «горячего резерва» для остальных.