
           .gif)

Святослав Лемперт
Кластер - путь увеличения надежности сервера
|
Существуют области применения серверов, предъявляющие высокие требования к отказоустойчивости или вычислительной мощности. К первому типу относятся банковские серверы, серверы телекомунникационных компаний и т.д., представителями второго типа являются, например, серверы в исследовательских институтах. Идея, которой руководствовались люди, придумавшие кластер - повышение надежности компьютерных систем, где требуется высокая надежность: на атомных электростанциях, автоматизированном производстве.
В последние годы в литературе по вычислительной технике все чаще употребляется термин "системы высокой эксплуатационной готовности" (High Avaibilabity). Что есть "высокая эксплуатационная готовность"?
В основе этого понятия лежит среднее время работы между отказами системы. Все системы высокой эксплуатационной готовности имеют общую цель — минимизацию времени простоя системы вследствие отказа как программных, так и аппаратных частей системы. Существуют несколько типов систем высокой готовности, отличающихся своими функциональными возможностями и стоимостью. Следует отметить, что высокая эксплуатационная готовность не дается бесплатно. Стоимость систем высокой эксплуатационной готовности превышает стоимость обычных систем.
Основное назначение кластера - обеспечить доступность данных и приложений при выходе из строя одного из серверов кластера. При этом пользователи получают кратковременный отказ в обслуживании, связанный с передачей полномочий на ресурсы.
Рассмотрим некоторые варианты достижения высокой эксплуатационной готовности:
1. Зеркалирование массивов информации.
Недостатком этого варианта является незащищенность к отказам оборудования сервера (процессора, памяти и т.д.). Данный вариант обеспечивает лишь защиту информации, влияние его на минимизацию времени простоя невелико.
2. Зеркалирование серверов.
Основные недостатки этого метода — цена системы более чем в 2 раза превышает стоимость одиночного сервера, при общем снижении производительности, которое происходит как следствие необходимости синхронизации этих серверов друг с другом.
3. Объединение серверов в кластер.
Что такое кластер?
К настоящему моменту четкое определение этого понятия отсутствует, и каждый производитель вкладывает в него свой смысл. В самых общих чертах "кластер" — это несколько серверов со своими областями задач и возможностью переноса этих задач в случае отказа одного из серверов на другие.
Вся эта система представляется со стороны пользователя как единое целое.
Один из недостатков кластера — для достижения максимальной производительности и отказоустойчивости необходимо использовать специализированное программное обеспечение, предназначенное для работы на таких системах.
Архитектура построения кластера
Можно выделить следующие основные типы архитектуры построения кластера:
Архитектура с разделяемой памятью. Все серверы кластера имеют общую область оперативной памяти. Весь трафик между устройствами должен проходить через разделяемую память. Кроме того, такие системы имеют одну копию операционной системы и подсистемы ввода/вывода. К этой категории принадлежат системы с симметричной многопроцессорной обработкой. Недостаток этого варианта заключается в том, что при числе процессоров в системе более четырех накладные расходы на арбитраж доступа к разделяемой оперативной памяти могут превышать 70%. Эта причина обусловливает крайне нелинейный прирост быстродействия системы при добавлении новых процессоров.
Архитектура с разделяемыми дисками. Каждый сервер (или иначе узел) в кластере имеет свою собственную память, копию операционной системы и подсистемы ввода/вывода, но все узлы совместно используют дисковую подсистему. Такие узлы связаны высокоскоростным соединением для передачи регулярных контрольных сообщений, по отсутствию которых они определяют сбой аппаратной или программной части и подменяют вышедший из строя сервер.
Построение кластера на основе решений Microsoft и РС-серверах
В 1997 году фирма Microsoft выпустила расширение к своей популярной ОС Windows NT 4.0, называемое Enterprise Edition. Одним из компонентов этой ОС является Microsoft Cluster Server. Этот компонент позволяет объединить серверы, работающие под управлением ОС Windows NT 4.0, в кластер.
Таким образом, кластер на основе ОС Windows NT 4.0 относится к архитектурам с разделяемыми дисками.
В кластере на РС-серверах, необходимы следующие линии связи:
1. Шина доступа к корпоративной магистрали.
2. Шина синхронизации серверов.
3. Шина данных (доступа к общему дисковому массиву).
Пакет Microsoft Cluster Server в ОС Win NT 4.0 Enterprise Edition является тем связующим элементом, который создает из набора аппаратных средств собственно кластер.
Этот пакет автоматически распознает отказы следующих компонентов системы:
1. Процессор.
2. Системная память.
3. Сетевые карты и носитель.
4. Системные процессы.
5. Процессы приложений.
Microsoft Cluster Server осуществляет мониторинг аппаратной и программной частей кластера, обнаружение сбоев и перехват системных сообщений, позволяет оператору распределять нагрузку между серверами кластера. Процесс обнаружения сбоев и восстановления для специально сконфигурированных приложений происходит автоматически, без участия оператора.
Время восстановления, обеспечиваемое Microsoft Cluster Server для сбоев по причине сетевых отказов невелико, исчисляется секундами. Время восстановления, требующее переноса работающего приложения на другой сервер кластера, сильно зависит от сервисов, используемых в данный момент этим приложением.
Узлы кластера периодически обмениваются между собой сообщениями - этот процесс получил название Heartbeat (пульсация сердца, серцебиение), что необходимо для выявления сбоя в системе.
При выходе одного узла из строя ресурсы доступного узла остаются без изменений. После выявления сбоя ресурсы передаются доступному узлу.
Со стороны клиентского приложения переключение на другой сервер не будет заметно, если это приложение умеет проводить переподключение к серверу, т. к. Microsoft Cluster Server перезапускает серверное приложение с тем же IP-адресом.
Что же делает из разрозненных серверов кластер?
Без необходимого программного обеспечения кластер остается не более чем набором разрозненных компонентов. Что же входит в задачи этого ПО? Эти задачи бывают двух типов:
1. Отслеживание аппаратно/программных сбоев и автоматический перенос приложений на другой узел кластера (обеспечивает ПО МC/ Service Guard).
2. Распределение запросов пользователей между узлами кластера и отслеживание аппаратно-программных сбоев с переадресацией последующих запросов на другие узлы (обеспечивает ПО MSock Manager, менеджер распределенных блокировок).
Первый вариант не дает прироста мощности по сравнению с одиночным сервером, но обеспечивает высокую эксплуатационную готовность системы. К достоинствам этого варианта можно отнести тот факт, что под его управлением может работать обычное ПО, не разработанное специально для кластера.
Второй вариант позволяет значительно увеличить производительность системы по сравнению с одиночным сервером, при сохранении высокой эксплуатационной готовности системы. К недостаткам этого варианта относится требование использования специально адаптированного ПО для работы на кластере.
Таким образом, кластером могут быть специально соединенные компьютеры с ПО Windows NT Server после установки Microsoft Cluster Server.
Ресурсами кластера называются ресурсы узловых компьютеров, управляемых программным обеспечением кластера. Microsoft Cluster Server поддерживает такие типы ресурсов как IP-адрес, сетевое имя, сетевой каталог, сервис Windows NT (такой как сервис индентификации пользователя), физический диск (кластер имеет не менее одного общего жесткого диска), очередь печати.
Существует понятие "ресурс кворума" - т.е. ресурс, на котором находится журнал кластера. Ресурс кворума - ресурс, который доступен только одному узлу и является запоминающим устройством.
Зависимые или связаные узлы объединяются в группы. Ресурсы одной группы могут принадлежать в каждый момент только одному узлу.
Виртуальным сервером является группа, в которой содержатся ресурсы IP-адрес и "Сетевое имя". Такие группы представленны пользователям как отдельный сервер.
Вывод. Использование кластера является наиболее практичным, но не всегда дешевым решением, когда требеутся обеспечить высокую надежность системы.
За дополнительной информацией о ПО MS Cluster Server можно обратиться на сайт http://www.microsoft.com.
|

           .gif)
|