Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
66
Добавлен:
20.05.2015
Размер:
660.48 Кб
Скачать

4. Кластерные вс

Одно из самых современных направлений в области создания вычисли ных систем – это кластеризация. По производительности и коэффициенту готовности кластеризация представляет собой альтернативу симметричным мультипроцессорным системам. Понятие кластер определим как группу взаимно соединенных вычислительных систем (узлов), работающих совместно, составляя единый вычислительный ресурс и создавая иллюзию наличия единственной ВМ. В качестве узла кластера может выступать как однопроцессорная ВМ, так и ВС типа SMP или МРР. Важно лишь то, что каждый узел в стоянии функционировать самостоятельно и отдельно от кластера. В плане архитектуры суть кластерных вычислений сводится к объединению нескольких узлов высокоскоростной сетью. Для описания такого подхода, помимо термина «кластерные вычисления», достаточно часто применяют такие названия как: кластер рабочих станций (workstation cluster), гипервычисления (hypercomputting), параллельные вычисления на базе сети (network-based concurrent computing), ультравычисления (ultracomputing).

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

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

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

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

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

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

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

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

Классификация архитектур кластерных систем

Один из способов классификации кластеров основан на определении принадлежности дисковой подсистемы к разделяемому всеми узлами ресурсу (рис. 17).

Рис. 17. Принцип соединения узлов кластера

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

Рис. 18 Кластер из двух узлов

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

Более ясную картину дает группировка кластеров на основе сходства их функциональных особенностей. Такая классификация приведена в табл. 1.

Таблица 1

Методы кластеризации

Метод кластеризации

Описание

Пассивное резервирование

Вторичный сервер при отказе первичного берет управление на себя

Резервирование с активным вторичным сервером

Вторичный сервер, как и первичный, используется при решении задач

Самостоятельные серверы

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

Серверы с подключением ко всем дискам

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

Серверы с совместно используемыми дисками

Множество серверов работают в режиме коллективного доступа к дискам

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

Кластеры обеспечивают высокий уровень доступности – в них отсутствует единая операционная система и совместно используемая память, то есть, нет проблемы когерентности кэшей. Кроме того, специальное программное обеспечение в каждом узле постоянно контролирует работоспособность всех остальных узлов. Этот контроль основан на периодической рассылке каждым узлом сигнала «Пока жив» (keepalive). Если сигнал от некоторого узла не поступает, то такой узел считается вышедшим из строя; ему не дается возможность выполнять ввод/вывод, его диски и другие ресурсы (включая сетевые адреса) переназначаются другим узлам, а выполнявшиеся им программы перезапускаются в других узлах.

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

Топологии кластеров

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

Топология кластерных пар находит применение при организации двух- или четырехузловых кластеров (рис. 19).

Рис. 19. Топология кластера (вариант)

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

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

Топология N + 1 позволяет создавать кластеры из 2, 3 и 4 узлов (рис. 20).

Рис. 20. Топология кластера N + 1

Каждый дисковый массив подключается только к двум узлам кластера. Дисковые массивы организованы по схеме RAID 1. Один сервер имеет соединение со всеми дисковыми массивами и служит в качестве резервного для всех остальных (основных или активных) узлов. Резервный сервер может использоваться для поддержания высокой степени готовности в паре с любым из активных узлов.

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

Аналогично топологии N + 1, топология N  N (рис. 21) рассчитана на создание кластеров из 2, 3 и 4 узлов, но в отличие от первой обладает большей гибкостью и масштабируемостью.

Рис. 21. Топология кластера N  N

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

Топология позволяет организовать каскадную систему отказоустойчивости, при которой обработка переносится с неисправного узла на резервный, а в случае его выхода из строя – на следующий резервный узел и т.д. Кластеры с топологией N  N обеспечивают поддержку приложения Oracle Parallel Server, требующего соединения всех узлов со всеми системами хранения информации. В целом топология характеризуется лучшей отказоустойчивостью и гибкостью по сравнению с другими решениями.

Топология с полностью раздельным доступом

В топологии с полностью раздельным доступом (рис. 22) каждый дисковый массив соединяется только с одним узлом кластера.

Рис. 22. Топология кластера с полностью раздельным доступом

Топология рекомендуется только для тех приложений, для которых характерна архитектура полностью раздельного доступа, например для СУБД Informix XPS.

Соседние файлы в папке УМК_Орг_ЭВМ