КЛАСТЕРЫ.ppt
- Количество слайдов: 60
Учебно-дидактический модуль по дисциплине АСВТ КЛАСТЕРЫ Ставрополь 2008 Dzoz ® All rights reserved
СОДЕРЖАНИЕ 1. Понятие кластера 2. Цели создания и виды кластеров 2. 1. Отказоустойчивые кластеры 2. 2. Высокопроизводительные кластеры 2. 3. Кластеры с балансировкой нагрузки 3. Общие принципы построения кластера 3. 1. Аппаратное обеспечение кластера 3. 2. Коммуникационные технологии кластеров 3. 3. Программное обеспечение кластера 3. 4. Организация памяти и хранение данных 3. 5. Кластерные конфигурации 4. Кластерные проекты и их реализация 4. 1. История создания кластерных систем 4. 2. Кластеры Alpha/OSF компании DEC 4. 3. UNIX-кластеры компании IBM 4. 4. Кластеры AT&T GIS 4. 5. Кластеры Sequent Computer Systems 4. 6. Системы высокой готовности Hewlett-Packard 4. 7. Кластерные решения Sun Microsystems 4. 8. Отказоустойчивые решения Data General 4. 9. Кластеризация в контексте информационных систем электронного бизнеса 4. 10. Кластерные проекты в России 4. 11. Кластерные решения 1 С: Предприятие 8 4. 12. НА-кластеры с зеркалированием 4. 13. Обзор кластерных технологий Microsoft Вопросы для самоконтроля Список используемых источников
1. Понятие кластера Первую концепцию кластера предложила и реализовала в начале 80 -х корпорация Digital Equipment. Кластер — это совокупность компьютеров, объединенных в рамках некоторой сети для решения одной задачи, которая для пользователя представляется в качестве единого ресурса. Один из первых архитекторов кластерной технологии Грегори Пфистер (Gregory F. Pfister) дал кластеру следующее определение: 1) 2) Кластер — это разновидность параллельной или распределенной системы, которая: состоит из нескольких связанных между собой компьютеров; используется как единый, унифицированный компьютерный ресурс. Наиболее широкое определение кластера предложили эксперты Aberdeen Group: Кластер — это система, действующая как одно целое, гарантирующая высокую надежность, имеющая централизованное управление всеми ресурсами и общую файловую систему и, кроме того, обеспечивающая гибкость конфигурации и легкость в наращивании ресурсов. Рис. 1 Базовая модель кластера
2. Цели создания и виды кластеров Разработчики архитектур кластерных систем преследовали различные цели при их создании. Целью создания кластера VAX/VMS фирмы Digital Equipment было повышение надежности работы системы, обеспечение ее высокой готовности и отказоустойчивости. В настоящее время существует множество аналогичных по архитектуре систем от других производителей. Другой целью создания кластерных систем является создание дешевых высокопроизводительных параллельных вычислительных систем. Один из первых проектов, давший имя целому классу параллельных систем – кластер Beowulf – возник в центре NASA Goddard Space Flight Center для поддержки необходимыми вычислительными ресурсами проекта Earth and Space Sciences. Эта система оказалась очень удачной по отношению цена/производительность, поэтому такую архитектуру стали развивать и широко использовать в других научных организациях и институтах. В настоящее время различают следующие основные виды кластеров: 1. Отказоустойчивые кластеры (HA, High-availability clusters – высокая доступность). Создаются для обеспечения высокой доступности сервиса, предоставляемого кластером. Избыточное число узлов, входящих в кластер, гарантирует предоставление сервиса в случае отказа одного или нескольких серверов. Типичное число узлов — два, это минимальное количество, приводящее к повышению доступности. Создано множество программных решений для построения такого рода кластеров. 2. Высокопроизводительные кластеры (HPC, High-performance clusters). Позволяют увеличить скорость расчетов, разбивая задание на параллельно выполняющиеся потоки. Используются в научных исследованиях. Одна из типичных конфигураций - набор серверов с установленной на них операционной системой Linux (такую схему принято называть кластером Beowulf). Для HPC создается специальное ПО, способное эффективно распараллеливать задачу. 3. Кластеры с балансировкой нагрузки (Load balancing clusters). Работают таким образом, что весь приходящий трафик проходит через один или несколько первичных узлов, которые далее перенаправляют информацию к основным узлам кластера. Хотя они сконструированы с учётом высокой производительности, они обычно включат в себя и методы высокой доступности. Такой кластер обычно называют серверной фермой. Для каждого класса кластеров характерны свои особенности архитектуры и применяемые аппаратные средства. Рассмотрим их более подробно.
2. 1. Отказоустойчивые кластеры Кластеры как разновидность отказоустойчивых систем Для обеспечения надежности и отказоустойчивости вычислительных систем применяется множество различных аппаратурных и программных решений. Например, в системе может дублироваться все подверженные отказам элементы — источники питания, процессоры, оперативная и внешняя память. Такие отказоустойчивые системы с резервированием компонентов применяются для решения задач, в которых недостаточно надежности обычных вычислительных систем, оцениваемой в настоящий момент вероятностью безотказной работы 99%. В таких задачах требуется вероятность 99, 999% и выше. Такую надежность можно достичь применяя отличные от приведенного выше методы повышения отказоустойчивости. В зависимости от уровня готовности вычислительной системы к использованию выделяют четыре типа надежности: Уровень готовности, % Мaкс. время простоя Тип системы 99, 0 3, 5 дня в год Обычная (Conventional) 99, 9 8, 5 часов в год Высокая надежность (High Availability) 99, 99 1 час в год Отказоустойчивая (Fault Resilient) 99, 999 5 минут в год Безотказная (Fault Tolerant) В отличие от отказоустойчивых систем с избыточными компонентами, а также различных вариантов многопроцессорности, кластеры объединяют относительно независимые друг от друга машины, каждую из которых можно остановить для профилактики или реконфигурирования, не нарушая при этом работоспособности кластера в целом. Высокая производительность кластера и сведение к минимуму времени простоев приложений достигается благодаря тому, что: n в случае сбоя ПО на одном из узлов приложение продолжает функционировать или автоматически перезапускается на других узлах кластера; n выход из строя одного из узлов (или нескольких) не приведет к краху всей кластерной системы; n профилактические и ремонтные работы, реконфигурацию или смену версий программного обеспечения, как правило, можно осуществлять в узлах кластера поочередно, не прерывая работы других узлов.
Программное обеспечение и восстановление кластера Неотъемлемой частью кластера является специальное программное обеспечение, которое, собственно, и решает проблему восстановления узла в случае сбоя, а также решает другие задачи. Кластерное ПО обычно имеет несколько заранее заданных сценариев восстановления работоспособности системы, а также может предоставлять администратору возможности настройки таких сценариев. Восстановление после сбоев может поддерживаться как для узла в целом, так и для отдельных его компонентов — приложений, дисковых томов и т. д. Эта функция автоматически инициируется в случае системного сбоя, а также может быть запущена администратором, если ему, например, необходимо отключить один из узлов для реконфигурации. Восстановление после сбоев может поддерживаться как для узла в целом, так и для отдельных его компонентов — приложений, дисковых томов и т. д. Эта функция автоматически инициируется в случае системного сбоя, а также может быть запущена администратором, если ему, например, необходимо отключить один из узлов для реконфигурации. Узлы кластера контролируют работоспособность друга и обмениваются специфической «кластерной» информацией, например, о конфигурации кластера, а также передавать данные между разделяемыми накопителями и координировать их использование. Контроль работоспособности осуществляется с помощью специального сигнала, который узлы кластера передают другу, для того чтобы подтвердить свое нормальное функционирование. Прекращение подачи сигналов с одного из узлов сигнализирует кластерному программному обеспечению о произошедшем сбое и необходимости перераспределить нагрузку на оставшиеся узлы.
Типовая схема кластерной системы высокой готовности, изображенная на рисунке 8, подразумевает объединение двух или более (в зависимости от конкретной решаемой задачи) серверов в целостную систему, снаружи видимую пользователями как единый сервер, исполняющий то или иное корпоративное приложение, например, СУБД или ERP-систему. Для связи вовне и передачи данных от потребителей и к ним в большинстве случаев используется стандартное соединение Fast Ethernet или получающий все большее распространение стандарт Gigabit Ethernet, реже - ATM. Между собой серверы общаются посредством так называемого интерконнекта - специальной выделенной сети для синхронизации состояний и посылки команд перезапуска заданий на резервном узле в случае обнаружения сбоев или отказов на основном. Набор вариантов для организации интерконнекта достаточно широк - от хорошо известных и достаточно распространенных Myrinet, Infini. Band или Scalable Coherent Interface (SCI) до узкоспециализированных фирменных разработок, - и поставщики могут применять любой из них по собственному усмотрению, лишь бы он обладал достаточной скоростью. Рис. 8 Типовая схема кластерной системы высокой готовности Принцип работы - Данные - Кластеры работают без сбоев - Сбой в работе кластера - Начать показ
Типовая схема кластерной системы высокой готовности Тут важно отметить, что, в отличие от вычислительных кластеров, где между узлами передается значительный объем информации и соответственно возникает потребность в высокой пропускной способности, в кластерных системах высокой готовности, за исключением служебных команд, между узлами практически нет обмена трафиком, однако сами команды должны передаваться максимально быстро, и потому здесь используются стандарты с как можно меньшим временем задержки. Реальные кластерные системы высокой готовности строятся в одной из двух базовых архитектур - с разделением ресурсов (share something) или без разделения ресурсов (share nothing). В первом случае (яркий пример - Oracle Real Application Clusters) благодаря внутренней логике промежуточного ПО задача заказчика "размазывается" по серверам, входящим в кластер, и на каждом сервере исполняется некоторая ее часть. Такой подход позволяет повысить эффективность вложения средств, удачно сочетая высокую отказоустойчивость и производительность на относительно недорогих аппаратных средствах. Во втором случае задача заказчика целиком и полностью решается на головном узле системы, а второй сервер фактически играет роль горячего резерва, способного в любой момент времени подхватить "упавшее" приложение.
Кластера VAX/VMS Компания DEC первой анонсировала концепцию кластерной системы в 1983 году, определив ее как группу объединенных между собой вычислительных машин, представляющих собой единый узел обработки информации. По существу VAX-кластер представляет собой слабосвязанную многомашинную систему с общей внешней памятью, обеспечивающую единый механизм управления и администрирования. VAX-кластер обладает следующими свойствами: Разделение ресурсов. Компьютеры VAX в кластере могут разделять доступ к общим ленточным и дисковым накопителям. Все компьютеры VAX в кластере могут обращаться к отдельным файлам данных как к локальным. Высокая готовность. Если происходит отказ одного из VAX-компьютеров, задания его пользователей автоматически могут быть перенесены на другой компьютер кластера. Если в системе имеется несколько контроллеров HSC и один из них отказывает, другие контроллеры HSC автоматически подхватывают его работу. Высокая пропускная способность. Ряд прикладных систем могут пользоваться возможностью параллельного выполнения заданий на нескольких компьютерах кластера. Удобство обслуживания системы. Общие базы данных могут обслуживаться с единственного места. Прикладные программы могут инсталлироваться только однажды на общих дисках кластера и разделяться между всеми компьютерами кластера. Расширяемость. Увеличение вычислительной мощности кластера достигается подключением к нему дополнительных VAX-компьютеров. Дополнительные накопители на магнитных дисках и магнитных лентах становятся доступными для всех компьютеров, входящих в кластер. Работа VAX-кластера определяется двумя главными компонентами. Первым компонентом является высокоскоростной механизм связи, а вторым - системное программное обеспечение, которое обеспечивает клиентам прозрачный доступ к системному сервису.
Основные методы связи в VAX-кластере Рис. 9 VAX/VMS-кластер Физически связи внутри кластера реализуются с помощью трех различных шинных технологий с различными характеристиками производительности. Шина связи компьютеров CI (Computer Interconnect) работает со скоростью 70 Мбит/с и используется для соединения компьютеров VAX и контроллеров HSC с помощью коммутатора Star Coupler. Каждая связь CI имеет двойные избыточные линии, две для передачи и две для приема, используя базовую технологию CSMA, которая для устранения коллизий использует специфические для данного узла задержки. Максимальная длина связи CI составляет 45 метров. Звездообразный коммутатор Star Coupler может поддерживать подключение до 32 шин CI, каждая из которых предназначена для подсоединения компьютера VAX или контроллера HSC. Контроллер HSC представляет собой интеллектуальное устройство, которое управляет работой дисковых и ленточных накопителей. Компьютеры VAX могут объединяться в кластер также посредством локальной сети Ethernet, используя NI - Network Interconnect (так называемые локальные VAXкластеры), однако производительность таких систем сравнительно низкая из-за необходимости делить пропускную способность сети Ethernet между компьютерами кластера и другими клиентами сети. Также кластера могут стоиться на основе шины DSSI (Digital Storage System Interconnect). На шине DSSI могут объединяться до четырех компьютеров VAX нижнего и среднего класса. Каждый компьютер может поддерживать несколько адаптеров DSSI. Отдельная шина DSSI работает со скоростью 4 Мбайт/с (32 Мбит/с) и допускает подсоединение до 8 устройств. Поддерживаются следующие типы устройств: системный адаптер DSSI, дисковый контроллер серии RF и ленточный контроллер серии TF. DSSI ограничивает расстояние между узлами в кластере 25 метрами. Системное программное обеспечение VAX-кластеров Для гарантии правильного взаимодействия процессоров друг с другом при обращениях к общим ресурсам, таким, например, как диски, компания DEC использует распределенный менеджер блокировок DLM (Distributed Lock Manager). Очень важной функцией DLM является обеспечение когерентного состояния дисковых кэшей для операций ввода/вывода операционной системы и прикладных программ. Например, в приложениях реляционных СУБД DLM несет ответственность за поддержание согласованного состояния между буферами базы данных на различных компьютерах кластера. Задача поддержания когерентности кэш-памяти ввода/вывода между процессорами в кластере подобна задаче поддержания когерентности кэш-памяти в сильно связанной многопроцессорной системе, построенной на базе некоторой шины. Блоки данных могут одновременно появляться в нескольких кэшах и если один процессор модифицирует одну из этих копий, другие существующие копии не отражают уже текущее состояние блока данных. Концепция захвата блока (владения блоком) является одним из способов управления такими ситуациями. Прежде чем блок может быть модифицирован должно быть обеспечено владение блоком. Работа с DLM связана со значительными накладными расходами. Накладные расходы в среде VAX/VMS могут быть большими, требующими передачи до шести сообщений по шине CI для одной операции ввода/вывода. Накладные расходы могут достигать величины 20% для каждого процессора в кластере.
Различные группы промышленных аналитиков считают VAX-кластеры образцом, по которому должны реализовываться другие кластерные системы, и примером свойств, которыми они должны обладать. VAX-кластеры являются очень надежными и высокопроизводительными вычислительными системами, основанными на миникомпьютерах. Хотя они базируются на патентованной операционной Критерииопыт их эксплуатации показал, что основные свойства, которыми они обладают очень среде (VMS), оценки кластеров Gartner Group хорошо соответствуют потребностям коммерческих учреждений. В настоящее время на смену VAX-кластерам приходят UNIX-кластеры. При этом VAX-кластеры предлагают проверенный набор решений, который устанавливает критерии для оценки подобных систем. Одна из известных аналитических групп (Gartner Group) опубликовала модель для сравнения, которая получила название "Критерии оценки кластеров" (MCS Research Note T-470 -1411, November 22, 1993). Эта модель базируется на наборе свойств VAX-кластера и используется для сравнения UNIX-кластеров. Критерии этой модели представлены в табл. ице. Архитектурная модель Масштабируемость (>6 узлов) Смешанный размер Смешанные поколения Единственное представление данных Балансировка нагрузки Общий планировщик работ Общий менеджер систем Надежность на уровне кластера Готовность Подавление одиночного отказа или сбоя Симметричный резерв аппаратных средств Симметричный резерв программных средств Автоматическая реконфигурация Автоматическое восстановление клиента Размещение на нескольких площадках VAXкластер да да да да В настоящее время UNIX-кластеры все еще отстают от VAX-кластеров по функциональным возможностям. Одно из наибольших отличий связано с реализацией восстановления клиентов в случае отказа. В VAX-кластерах такое восстановление осуществляется средствами программного обеспечения самого VAX-кластера. В UNIX-кластерах эти возможности обычно реализуются отдельным уровнем программного обеспечения, называемым монитором транзакций. В UNIX-кластерах мониторы транзакций кроме того используются также для целей балансировки нагрузки, в то время как VAX-кластеры имеют встроенную в программное обеспечение утилиту балансировки загрузки.
2. 2. Высокопроизводительные кластеры Место кластеров среди высокопроизводительных систем Дважды в год организацией TOP 500 публикуется список 500 самых производительных вычислительных систем в мире, среди которых всегда оказываются и кластеры. Самым быстрым является, однако, не кластер, а суперкомпьютер Blue. Gene/L (Рочестер, шт. Миннесота, США, создан в 2004), построенный для нужд Министерства энергетики США, его производительность 280, 6 Tflop. На втором месте находится еще один Blue. Gene/L с производительностью 91, 29 Tflop. Кластерные системы занимают достойное место в списке самых быстрых, при этом значительно выигрывая у суперкомпьютеров в цене. На 28 месте (12, 25 Tflops) находится кластер (Блаксбург, шт. Виргиния, США), состоящий из 1100 серверов Apple XServe G 5 с двумя процессорами каждый. Изначально он был построен на персональных компьютерах Power Mac общей стоимостью 5, 2 млн долл. Впоследствии они были заменены на более компактные серверы, а Power Mac распроданы. Сравнительно дешевую альтернативу суперкомпьютерам представляют кластеры, основанные на концепции Beowulf, которые строятся из обыкновенных недорогих компьютеров на основе бесплатного программного обеспечения. Один из практических примеров такой системы — Stone Soupercomputer (Оак Ридж, шт. Теннесси, США, 1997). Принципы построения высокопроизводительных кластеров Архитектура высокопроизводительных кластеров появилась как развитие принципов построения систем MPP на менее производительных и массовых компонентах, управляемых операционной сиcтемой общего назначения. Кластеры также как и MPP системы состоят из слабосвязанных узлов, которые могут быть как однородными, так и, в отличие от MPP, различными или гетерогенными.
Особое внимание при проектировании высокопроизводительной кластерной архитектуры уделяется обеспечению высокой эффективности коммуникационной шины, связывающей узлы кластера. Так как в кластерах нередко применяются массовые относительно низкопроизводительные шины, то приходится принимать ряд мер по исключению их низкой пропускной способности на производительность кластеров и организацию эффективного распараллеливания в кластере. Так например пропускная способность одной из самых высокоскоростных технологий Fast Ethernet на порядки ниже, чем у межсоединений в современных суперкомпьютерах МРРархитектуры. Для решения проблем низкой производительности сети применяют несколько методов: n кластер разделяется на несколько сегментов, в пределах которых узлы соединены высокопроизводительной шиной типа Myrinet, а связь между узлами разных сегментов осуществляется низкопроизводительными сетями типа Ethernet/Fast Ethernet. Это позволяет вместе с сокращением расходов на коммуникационную среду существенно повысить производительность таких кластеров при решении задач с интенсивным обменом данными между процессами. n применение так называемого «транкинга» , т. е. объединение нескольких каналов Fast Ethernet в один общий скоростной канал, соединяющий несколько коммутаторов. Очевидным недостатком такого подхода является «потеря» части портов, задействованных в межсоединении коммутаторов. n для повышения производительности создаются специальные протоколы обмена информацией по таким сетям, которые позволяют более эффективно использовать пропускную способность каналов и снимают некоторые ограничения накладываемые стандартными протоколами (TCP/IP, IPX). Такой метод часто используют в системах класса Beowulf. Основным качеством, которым должен обладать высокопроизводительный кластер является горизонтальная масштабируемость, так как одним из главных преимуществ, которые предоставляет кластерная архитектура является возможность наращивать мощность существующей системы за счет простого добавления новых узлов в систему. Причем увеличение мощности происходит практически пропорционально мощности добавленных ресурсов и может производиться без остановки системы во время ее функционирования. В системах с другой архитектурой (в частности MPP) обычно возможна только вертикальная масштабируемость: добавление памяти, увеличение числа процессоров в многопроцессорных системах или добавление новых адаптеров или дисков. Оно позволяет временно улучшить производительность системы. Однако в системе будет установлено максимальное поддерживаемое количество памяти, процессоров или дисков, системные ресурсы будут исчерпаны, и для увеличения производительности придется создавать новую систему или существенно перерабатывать старую. Кластерная система также допускает вертикальную масштабируемость. Таким образом, за счет вертикального и горизонтального масштабирования кластерная модель обеспечивает большую гибкость и простоту увеличения производительности систем.
Проект Beowulf Одним из примеров реализации кластерной системы такой структуры являются кластеры Beowulf. Проект Beowulf объединил около полутора десятков организаций (главным образом университетов) в Соединенных Штатах. Ведущие разработчики проекта - специалисты агентства NASA. В данном виде кластеров можно выделить следующие основные особенности: n кластер Beowulf состоит из нескольких отдельных узлов, объединенных в общую сеть, общие ресурсы узлами кластера не используются; n оптимальным считается построение кластеров на базе двухпроцессорных SMP систем; n для уменьшения накладных расходов на взаимодействие между узлами применяют полнодуплексный 100 MB Fast Ethernet (реже используют SCI), создают несколько сетевых сегментов или соединяют узлы кластера через коммутатор; n в качестве программного обеспечения применяют ОС Linux, и бесплатно распространяемые коммуникационные библиотеки (PVM и MPI). История проекта Beowulf Проект начался летом 1994 года в научно-космическом центре NASA - Goddard Space Flight Center (GSEC), точнее в созданном на его основе CEDIS (Center of Excellence in Space Data and Information Sciences). Первый Beowulf-кластер был создан на основе компьютеров Intel архитектуры под ОС Linux. Это была система, состоящая из 16 узлов (на процессорах 486 DX 4/100 MHz, 16 MB памяти и 3 сетевых адаптера на каждом узле, 3 "параллельных" Ethernet-кабеля по 10 Mbit). Он создавался как вычислительный ресурс проекта "Earth and Space Sciences Project" (ESS). Далее в GSFC и других подразделениях NASA были собраны другие, более мощные кластеры. Например, кластер the. HIVE (Highly-parallel Integrated Virtual Environment) содержит 64 узла по 2 процессора Pentium Pro/200 MHz и 4 GB памяти в каждом, 5 коммутаторов Fast Ethernet. Общая стоимость этого кластера составляет примерно $210 тыс. В рамках проекта Beowulf был разработан ряд высокопроизводительных и специализированных сетевых драйверов (в частности, драйвер для использования нескольких Ethernet-каналов одновременно). Архитектура Beowulf Узлы кластера Это или однопроцессорные ПК, или SMP-сервера с небольшим числом процессоров (2 -4, возможно до 6). По некоторым причинам оптимальным считается построение кластеров на базе двухпроцессорных систем, несмотря на то, что в этом случае настройка кластера будет несколько сложнее (главным образом потому, что доступны относительно недорогие материнские платы для 2 процессоров Pentium II/III). Стоит установить на каждый узел 64128 MB оперативной памяти (для двухпроцессорных систем 64 -256 MB).
Одну из машин следует выделить в качестве центральной (головной) куда следует установить достаточно большой жесткий диск, возможно более мощный процессор и больше памяти, чем на остальные (рабочие) узлы. Имеет смысл обеспечить (защищенную) связь этой машины с внешним миром. При комплектации рабочих узлов вполне возможно отказаться от жестких дисков - эти узлы будут загружать ОС через сеть с центральной машины, что, кроме экономии средств, позволяет сконфигурировать ОС и все необходимое ПО только 1 раз (на центральной машине). Если эти узлы не будут одновременно использоваться в качестве пользовательских рабочих мест, нет необходимости устанавливать на них видеокарты и мониторы. Возможна установка узлов в стойки (rackmounting), что позволит уменьшить место, занимаемое узлами, но будет стоить несколько дороже. Возможна организация кластеров на базе уже существующих сетей рабочих станций, т. е. рабочие станции пользователей могут использоваться в качестве узлов кластера ночью и в выходные дни. Системы такого типа иногда называют COW (Cluster of Workstations). Количество узлов следует выбирать исходя из необходимых вычислительных ресурсов и доступных финансовых средств. Следует понимать, что при большом числе узлов придется также устанавливать более сложное и дорогое сетевое оборудование. Сеть Основные типы локальных сетей, задействованные в рамках проекта Beowulf, - это Gigabit Ethernet, Fast Ethernet и 100 -VG Any. LAN. В простейшем случае используется один сегмент Ethernet (10 Mbit/sec на витой паре). Однако дешевизна такой сети, вследствие коллизий оборачивается большими накладными расходами на межпроцессорные обмены; а хорошую производительность такого кластера следует ожидать только на задачах с очень простой параллельной структурой и при очень редких взаимодействиях между процессами (например, перебор вариантов). Для получения хорошей производительности межпроцессорных обменов используют полнодуплексный Fast Ethernet на 100 Mbit/sec. При этом для уменьшения числа коллизий или устанавливают несколько "параллельных" сегментов Ethernet, или соединяют узлы кластера через коммутатор (switch). Более дорогостоящим, но также популярным вариантом являются использование коммутаторов типа Myrinet (1. 28 Gbit/sec, полный дуплекс). Менее популярными, но также реально используемыми при построении кластеров сетевыми технологиями являются технологии с. LAN, SCI и Gigabit Ethernet.
Иногда для связи между узлами кластера используют параллельно несколько физичеких каналов связи - так называемое «связывание каналов» (channel bonding), которое обычно применяется для технологии Fast Ethernet. При этом каждый узел подсоединяется к коммутатору Fast Ethernet более чем одним каналом. Чтобы достичь этого, узлы оснащаются либо несколькими сетевыми платами, либо многопортовыми платами Fast Ethernet. Применение связывания каналов в узлах под управлением ОС Linux позволяет организовать равномерное распределение нагрузки приема/передачи между соответствующими каналами. Системное ПО Операционная система. Обычно используется система Linux в версиях, специально оптимизированных под распределенные параллельные вычисления. Была проведена доработку ядра Linux 2. 0. В процессе построения кластеров выяснилось, что стандартные драйверы сетевых устройств в Linux весьма неэффективны. Поэтому были разработаны новые драйверы, в первую очередь для сетей Fast Ethernet и Gigabit Ethernet, и обеспечена возможность логического объединения нескольких параллельных сетевых соединений между персональными компьютерами (аналогично аппаратному связыванию каналов) , что позволяет из дешевых локальных сетей, обладающих низкой пропускной способностью, соорудить сеть с высокой совокупной пропускной способностью. Как и в любом кластере, на каждом узле кластера исполняется своя копия ядра ОС. Благодаря доработкам обеспечена уникальность идентификаторов процессов в рамках всего кластера, а не отдельных узлов. Коммуникационные библиотеки. Наиболее распространенным интерфейсом параллельного программирования в модели передачи сообщений является MPI. Рекомендуемая бесплатная реализация MPI - пакет MPICH, разработанный в Аргоннской Национальной Лаборатории. Для кластеров на базе коммутатора Myrinet разработана система HPVM, куда также входит реализация MPI. Для эффективной организации параллелизма внутри одной SMP-cистемы возможны два варианта: Для каждого процессора в SMP-машине порождается отдельный MPI-процессы внутри этой системы обмениваются сообщениями через разделяемую память (необходимо настроить MPICH соответствующим образом). На каждой машине запускается только один MPI-процесс. Внутри каждого MPI-процесса производится распараллеливание в модели "общей памяти", например с помощью директив Open. MP. После установки реализации MPI имеет смысл протестировать реальную производительность сетевых пересылок. Кроме MPI, есть и другие библиотеки и системы параллельного программирования, которые могут быть использованы на кластерах.
Пример реализации кластера Beowulf - Avalon В 1998 году в Лос-аламосской национальной лаборатории астрофизик Michael Warren и другие ученые из группы теоретической астрофизики построили суперкомпьютер Avalon, который представляет из себя Beowulf кластер на базе процессоров DEC Alpha/533 MHz. Avalon первоначально состоял из 68 процессоров, затем был расширен до 140. Общая стоимость Avalon - $313 тыс. , а его производительность позволила ему занять 114 место в 12 -й редакции списка Top 500 (рядом с 152 -процессорной системой IBM SP 2). 70 -процессорная конфигурация Avalon по многим тестам показала такую же производительность, как 64 -процессорная система SGI Origin 2000/195 MHz стоимость которой превышает $1 млн. В настоящее время Avalon активно используется в астрофизических, молекулярных и других научных вычислениях. Заключение Ведущие производители микропроцессоров: Sun Microsystems, Dell и IBM придерживаются одинаковой точки зрения на будущее отрасли суперкомпьютеров: на смену отдельным, независимым суперкомпьютерам должны прийти группы высокопроизводительных серверов, объединяемых в кластер. Уже сегодня распределенные кластерные системы опережают современные классические суперкомпьютеры по производительности: самый мощный на сегодняшний день компьютер в мире — IBM ASCI White — обладает производительностью в 12 Тера. ФЛОП, производительность сети SETI@Home оценивается примерно в 15 Тера. ФЛОП. При этом IBM ASCI White был продан за 110 миллионов долларов, а за всю историю существования SETI@Home было потрачено около 500 тысяч долларов. Проанализировав итоги работ, выполненных в рамках проекта Beowulf, можно прийти к следующему выводу: найденные решения позволяют самостоятельно собрать высокопроизводительный кластер на базе стандартных для ПК компонентов и использовать обычное программное обеспечение. Среди самых крупных экземпляров нельзя не отметить 50 -узловой кластер в CESDIS, включающий 40 узлов обработки данных (на базе одно- и двухпроцессорных плат Рentium Рro/200 МГц) и 10 масштабирующих узлов (двухпроцессорная плата Рentium Рro/166 МГц). Соотношение стоимость/пиковая производительность в таком кластере представляется очень удачным. Вопрос в том, насколько эффективно удается распараллелить приложения - иными словами, какова будет реальная, а не пиковая производительность. Над решением этой проблемы сейчас и работают участники проекта. Следует отметить, что построение кластеров из обычных ПК становится сегодня достаточно модным в научной среде. Некоторые академические институты в нашей стране также планируют создать подобные кластеры. При объединении в кластер компьютеров разной мощности или разной архитектуры, говорят о гетерогенных (неоднородных) кластерах. Узлы кластера могут одновременно использоваться в качестве пользовательских рабочих станций. В случае, когда это не нужно, узлы могут быть существенно облегчены и/или установлены в стойку. Используются стандартные для рабочих станций ОС, чаще всего, свободно распространяемые - Linux/Free. BSD, вместе со специальными средствами поддержки параллельного программирования и распределения нагрузки. Программирование, как правило, в рамках модели передачи сообщений (чаще всего - MPI).
2. 3. Кластеры с балансировкой нагрузкий обрабатывают большие объемы транзакций сходного типа. Например, предприятия часто используют кластеры для размещения web-серверов или обработки транзакций баз данных. Кластер направляет входящий поток транзакций в тот узел системы, который больше всего подходит для его обработки. Иногда такое решение принимается с учетом рабочей нагрузки, а иногда – на основе других факторов. В кластере, используемом для размещения делового web-узла (например, новостной службы), благодаря нейтральности web-протоколов любой узел может обрабатывать любой запрос. На более сложные транзакции, например, обновления баз данных, могут накладываться другие ограничения. Некоторые кластеры баз данных, например, распределяют доступ к более крупной базе данных в соответствии с кодами записей, скажем, в системе из четырех узлов записи, начинающиеся с цифр 0 -2, могут обрабатываться одним узлом, с цифр 3 -5 — другим, с цифр 4 -6 — третьим, а с цифр 7 -9 — оставшимся узлом. В этом случае распределение нагрузки не является оптимальным (один компьютер может быть почти незагружен, тогда как второй – перегружен), однако это позволяет распределять одну базу данных на четыре разных системы, что в результате приводит к существенному повышению производительности. В кластерах этого типа, помимо распределения нагрузки, для повышения надежности может также выполняться зеркальное дублирование. Программное обеспечение такого вида кластеров может быть как коммерческим (Platform LSF HPC, Sun Grid Engine, Moab Cluster Suite, Maui Cluster Scheduler), так и бесплатным (Linux Virtual Server). Рассмотрим архитектуру базовой кластерной системы с функциями высокой доступности (High-Availability) и балансировщика нагрузки (Load Balancer). Кластерный балансировщик нагрузки обеспечивает как балансировку нагрузки, так и надёжность работы системы. На начальном этапе может выполнять и дополнительные функции, обеспечивая работу различных сетевых сервисов. Возможность дальнейшего горизонтального масштабирования системы при увеличении нагрузки. Рис. 10 Базовые блоки системы на начальном этапе
Реализуя заложенный в систему потенциал масштабирования путем добавления в кластер новых серверов обработки данных получаем требуемую производительность с ростом нагрузки. Организация регулярного бекапа на выделенный сервер снижает риски потери данных в случае ошибочных действий пользователей и администраторов Дальнейшее масштабирование системы при росте нагрузки При дальнейшем масштабировании системы возможно распределение работы разных сервисов по группам Рис. 11 Дальнейшие пути масштабирования системы
3. Общие принципы построения кластера 3. 1. Аппаратное обеспечение кластера Рис. 2. Архитектура кластера Компьютеры, образующие кластер, — так называемые узлы кластера — всегда относительно независимы, что допускает остановку или выключение любого из них для проведения профилактических работ или установки дополнительного оборудования без нарушения работоспособности всего кластера. В качестве вычислительных узлов в кластере обычно используются однопроцессорные персональные компьютеры, двух- или четырехпроцессорные SMP-серверы. Каждый узел работает под управлением своей копии операционной системы, в качестве которой чаще всего используются стандартные операционные системы: Linux, NT, Solaris и т. п. Состав и мощность узлов может меняться даже в рамках одного кластера, давая возможность создавать неоднородные системы. Рассматривая крайние точки, кластером можно считать как пару ПК, связанных локальной 10 мегабитной сетью Ethernet, так и вычислительную систему, создаваемую в рамках проекта Cplant в Национальной лаборатории Sandia: 1400 рабочих станций на базе процессоров Alpha, связанных высокоскоростной сетью Myrinet.
3. 2. Коммуникационные технологии кластеров Итак, кластер объединяет несколько серверов, соединенных между собой специальным коммуникационным каналом, часто называемым системной сетью. Узлы кластера контролируют работоспособность друга и обмениваются специфической информацией, например, о конфигурации кластера, а также передают данные между общими накопителями и координируют их использование. Контроль работоспособности осуществляется с помощью специального сигнала heartbeat ("сердцебиение", или "пульс"), который узлы кластера передают другу, чтобы подтвердить свое нормальное функционирование. Если в небольших кластерах heartbeat-сигналы передаются по тем же каналам, что и данные, то в крупных системах для этого выделяются специальные линии, так кластерное ПО должно получать сигнал "сердцебиения" каждого сервера с определенным временным интервалом - в случае его неполучения сервер считается неработающим и кластер автоматически переконфигурируется. Также автоматически разрешаются конфликты между серверами, когда при запуске кластера возникает проблема выбора "ведущего" сервера или группы серверов, задача которых - сформировать новый кластер. Среди массовых коммуникационных стандартов сейчас чаще всего используется сеть Ethernet или более ее производительный вариант - Fast Ethernet, как правило, на базе коммутаторов. Если от кластера требуется большая производительность и универсальность, то необходимо применять более скоростные и специализированные технологии. К ним относятся SCI, Myrinet, СLAN, Server. Net и др. Производительность коммуникационных сетей в кластерных системах определяется несколькими числовыми характеристиками. Основных характеристик две: латентность – время начальной задержки при посылке сообщений и пропускная способность сети, определяющая скорость передачи информации по каналам связи. В таблице приведены эти характеристики технологий Fast Ethernet и Server. Net: Требования, предъявляемые к быстродействию Server. Net Fast Ethernet коммуникационного канала, зависят от степени интеграции узлов кластера и характера работы приложений. Скажем, если Латентност 13 мкс 170 мкс приложения в разных узлах не взаимодействуют друг с другом и ь не осуществляют одновременный доступ к дисковым 10 Мбайт/c накопителям, то узлы обмениваются между собой только Пропускная 180 контрольными сообщениями, подтверждающими их способность Мбайт/c работоспособность, а также информацией об изменении конфигурации кластера. Такой тип обмена не потребует значительных ресурсов межсоединения и вполне может удовлетвориться простым 10 -мегабитным каналом Ethernet.
3. 3. Программное обеспечение кластера На каждом узле кластера находится своя собственная копия ОС (системы, имеющие одну общую копию ОС, нельзя считать кластерами). На любом узле кластера можно запустить практически любую обычную программу. Более того, одну и ту же программу можно запускать на разных узлах кластера. Однако каждая копия программы должна использовать свой собственный ресурс (файловую систему), поскольку файловая система закрепляется за конкретным узлом. Помимо обычного ПО для кластеров существуют так называемые истинно кластерные приложения. Такие программы как бы разносятся по узлам кластера, а между частями программы, функционирующими на разных узлах, организуется взаимодействие. Истинно кластерные программы позволяют распараллелить нагрузку на кластер. Промежуточную позицию занимают приложения, рассчитанные на работу в кластере. В отличие от истинно кластерных программ, в них явный параллелизм не используется; фактически программа является обычной, но она может задействовать некоторые возможности кластера, в первую очередь связанные с миграцией ресурсов. Кластерное ПО позволяет автоматически определить единичный аппаратный или программный сбой, изолировать его и восстановить систему. Специально разработанные подпрограммы способны выбрать самый быстрый способ восстановления и за минимальное время обеспечить работоспособность служб. При помощи встроенного инструментального средства разработки и программного интерфейса можно создавать специальные программы, выявляющие, изолирующие и устраняющие сбои, которые возникают в приложениях, разработанных пользователем. Программное обеспечение кластера дает возможность пользователям, администраторам и прикладным программам считать, что имеется только одна сущность, с которой они работают - кластер. Например, система пакетной обработки кластера позволяет послать задание на обработку кластеру, а не какому-нибудь отдельному компьютеру. Более сложным примером являются системы баз данных. Практически у всех производителей систем баз данных имеются версии, работающие в параллельном режиме на нескольких машинах кластера. В результате приложения, использующие базу данных, не должны заботиться о том, где выполняется их работа. СУБД отвечает за синхронизацию параллельно выполняемых действий и поддержание целостности базы данных. Типичные приложения, эксплуатируемые на кластерах, это: n базы данных; n системы управления ресурсами предприятия (ERP); n средства обработки сообщений и почтовые системы; n средства обработки транзакций через Web и Web-серверы; n системы взаимодействия с клиентами (CRM); n системы разделения файлов и печати.
3. 4. Организация памяти и хранение данных Любой кластер можно квалифицировать в соответствии с двумя критериями. Первый из них характеризует оперативную память узлов кластера. Здесь возможны два варианта: либо все узлы кластера имеют независимую оперативную память, либо у них существует общая разделяемая память. Второй критерий характеризует степень доступности устройств ввода-вывода, прежде всего дисков. Кластеры могут иметь разделяемую память на внешних дисках, как правило, на дисковом массиве RAID. Дисковый массив RAID — это серверная подсистема ввода-вывода для хранения данных большого объема. В массивах RAID значительное число дисков относительно малой емкости используется для хранения крупных объемов данных, а также для обеспечения более высокой надежности и избыточности. . Разумеется, помимо разделяемой дисковой подсистемы на узлах кластера могут иметься локальные диски, но в этом случае они используются главным образом для загрузки ОС на узле. Такой кластер должен иметь специальную подсистему, называемую распределенный менеджер блокировок (Distributed Lock Manager, DLM), для устранения конфликтов при одновременной записи в файлы с разных узлов кластера. Имеются три основных типа подсистем внешней памяти кластеров, использующих для своей реализации технологию Избыточных Массивов Дешевых Дисков (RAID - Redundant Arrays of Inexpensive Disks). Наиболее часто используются следующий решения: RAID уровня 1 или зеркальные диски, RAID уровня 3 с четностью и RAID уровня 5 с распределенной четностью. Эти три типа внешней памяти в общем случае имеют практически почти мгновенное время восстановления в случае отказа. Кроме того, подобные устройства иногда позволяют пользователям смешивать и подбирать типы RAID в пределах одного дискового массива. В общем случае дисковые массивы представляются прикладной задаче как один диск. Рис. 3 Кластер с разделяемой памятью на дисковом массиве RAID уровня 1
Технологии RAID Технология RAID уровня 1 (или зеркалирования дисков) основана на применении двух дисков так, что в случае отказа одного из них, для работы может быть использована копия, находящаяся на дополнительном диске. Программные средства поддержки зеркальных дисков обеспечивают запись всех данных на оба диска. Недостатком организации зеркальных дисков является удвоение стоимости аппаратных средств и незначительное увеличение времени записи, поскольку данные должны быть записаны на оба диска. Положительные стороны этого подхода включают возможность обеспечения резервного копирования в режиме on-line, а также замену дисков в режиме on-line, что существенно снижает плановое время простоя. Как правило, структура устройств с зеркальными дисками устраняет также единственность точки отказа, поскольку для подключения обоих дисков обычно предусматриваются два отдельных кабеля, а также два отдельных контроллера ввода/вывода. В массивах RAID уровня 3 предусматривается использование одного дополнительного дискового накопителя, обеспечивающего хранение информации о четности (контрольной суммы) данных, записываемых на каждые два или четыре диска. Если один из дисков в массиве отказывает, информация о четности вместе с данными, находящимися на других оставшихся дисках, позволяет реконструировать данные, находившиеся на отказавшем накопителе. Массив RAID уровня 5 является комбинацией RAID уровня 0, в котором данные расщепляются для записи на несколько дисков, и RAID уровня 3, в которых имеется один дополнительный диск. В RAID уровня 5 полезная информация четырех дисков и контрольная информация распределяется по всем пяти дискам так, что при отказе одного из них, оставшиеся четыре обеспечивают считывание необходимых данных. Методика расщепления данных позволяет также существенно увеличить скорость ввода/вывода при передаче больших объемов данных. Диапазон возможных конструкций современных дисковых массивов достаточно широк. Он простираются от простых подсистем без многих дополнительных возможностей до весьма изощренных дисковых подсистем, которые позволяют пользователям смешивать и подбирать уровни RAID внутри одного устройства. Наиболее мощные дисковые подсистемы могут также содержать в своем составе процессоры, которые разгружают основную систему от выполнения рутинных операций ввода/вывода, форматирования дисков, защиты от ошибок и выполнения алгоритмов RAID. Большинство дисковых массивов снабжаются двумя портами, что позволяет пользователям подключать их к двум различным системам.
3. 5. Кластерные конфигурации В системах, где нет DLM, приложения не могут параллельно работать с одними и теми же данными, и общая дисковая память, если таковая имеется, назначается одному из узлов в конкретный момент времени. Таким образом, в кластерах, которые не поддерживают одновременного доступа к внешней памяти, все узлы представляют собой полностью автономные серверы. В случае двух узлов доступ к общей памяти на дисках осуществляется с помощью разделенной шины вводавывода (рис. 4). Для каждого узла такая шина заканчивается в дисковом массиве. В каждый момент времени только один узел владеет общей файловой системой. Если один из серверов выйдет из строя, контроль над шиной и разделяемыми дисками переходит к другому узлу. Схема построения кластера "активный - резервный" (рис. 5) представляет собой решение для компании, имеющей интегрированную информационную систему, где лишь часть ресурсов задействована для выполнения критичных по надежности приложений. В такую систему в простейшем случае входят активный сервер, выполняющий наиболее важные приложения, и резервная машина, которая решает менее ответственные задачи. При сбое активного сервера все его приложения автоматически переносятся на резервный, где приложения с низшим приоритетом прекращают функционировать. Такая конфигурация позволяет исключить замедление работы критичных приложений - пользователи просто не заметят никаких изменений. Частный случай этой схемы - конфигурация "пассивный -- резервный", в которой резервный сервер не несет никакой нагрузки и находится в режиме ожидания. Конфигурация "активный - активный" подразумевает исполнение всеми серверами кластера отдельных приложений одинаково высокого приоритета. Иными словами, вычислительные ресурсы резервного сервера используются в повседневной работе. Преимущество такого подхода состоит в том, что пользователь имеет в своем распоряжении высокодоступную систему (сервер продублирован) и в то же время может использовать все вычислительные ресурсы кластера. Приложения при сбое переносятся с неработающей машины на оставшиеся, Рис. 4 Кластер из двух узлов. - работающий кластер - не работающий кластер Рис. 5 Кластер "активный -- резервный". - Начать показ
что, конечно, сказывается на общей производительности. Кластеры "активный - активный" могут существовать только в качестве выделенных систем, на которых нельзя запускать низкоприоритетные задачи типа поддержки офисной работы. При построении кластеров с активным резервным сервером можно иметь полностью дублированные серверы с их собственными отдельными дисками. При этом возникает необходимость постоянно копировать данные с основного сервера на резервный - это гарантирует, что в случае возникновения сбоя резервный сервер будет иметь правильные данные. Данный подход обеспечивает высокодоступное решение, но имеет и ряд недостатков. Во-первых, необходимость постоянно копировать данные означает, что часть вычислительных и сетевых ресурсов будет непрерывно расходоваться на синхронизацию. А во-вторых, даже самый быстрый сетевой интерфейс между серверами внутри кластера не исключает задержек при передаче информации, что в конечном счете может привести к десинхронизации. В кластере без разделения ресурсов (рис. 6) серверы соединены с одним дисковым массивом, но каждый из них управляет своим набором дисков. В случае возникновения неисправности на одном из узлов оставшийся сервер берет на себя управление его дисками. Такой метод устраняет необходимость в постоянной синхронизации данных между серверами и тем самым высвобождает дополнительные вычислительные и сетевые ресурсы. Однако в такой конфигурации диски становятся единой точкой сбоя, поэтому обычно в этом случае используются накопители с применением технологии RAID. В случае полного разделения ресурсов (рис. 7) все серверы в кластере имеют одновременный доступ к одному и тому же диску. Этот подход подразумевает наличие тщательно разработанного ПО, обеспечивающего множественный доступ к одному носителю. Как и в предыдущем случае, диски здесь могут быть единой точкой сбоя, поэтому без RAID-массивов и здесь не обойтись. В данном варианте отпадает необходимость в постоянной синхронизации данных между серверами. Тем самым высвобождаются дополнительные вычислительные и сетевые ресурсы. Рис. 6 Кластер без разделяемых ресурсов. - работающий кластер - неработающий кластер Начать показ Рис. 7 Кластер с разделяемыми ресурсами.
4. Кластерные проекты и их реализация 4. 1. История создания кластерных систем История создания кластеров неразрывно связана с ранними разработками в области компьютерных сетей. Одной из причин для появления скоростной связи между компьютерами стали надежды на объединение вычислительных ресурсов. В начале 1970 -х гг. группой разработчиков протокола TCP/IP и лабораторией Xerox PARC были закреплены стандарты сетевого взаимодействия. Появилась и операционная система Hydra ("Гидра") для компьютеров PDP-11 производства DEC, созданный на этой основе кластер был назван C. mpp (Питсбург, шт. Пенсильвания, США, 1971). Тем не менее, только около 1983 г. были созданы механизмы, позволяющие с лёгкостью пользоваться распределением задач и файлов через сеть, по большей части это были разработки на основе BSD Unix в версии Sun Micrisystems. Первым коммерческим проектом кластера стал ARCNet, созданный компанией Datapoint в 1977 г. Прибыльным он не стал, и поэтому строительство кластеров не развивалось до 1984 г. , когда DEC построила свой VAXCluster на основе операционной системы VAX/VMS. ARCNet и VAXCluster были рассчитаны не только на совместные вычисления, но и совместное использование файловой системы и периферии с учётом сохранения целостности и однозначности данных. VAXCluster (называемый теперь VMSCluster) и сейчас можно приобрести для систем HP Open. VMS, использующих процессоры Alpha и Itanium. Два других ранних кластерных продукта, получивших признание, включают Tandem Hymalaya (1994, класс HA) и IBM S/390 Parallel Sysplex (1994). История создания кластеров из обыкновенных персональных компьютеров во многом обязана проекту Parallel Virtual Machine. В 1989 г. это ПО для объединения компьютеров в виртуальный суперкомпьютер открыло возможность мгновенного создания кластеров. В результате суммарная производительность всех созданных тогда дешёвых кластеров обогнала по производительности сумму мощностей "серьёзных" коммерческих систем. Создание кластеров на основе дешёвых персональных компьютеров, объединённых сетью передачи данных, продолжилось в 1993 г. силами Американского аэрокосмического агентства (NASA), затем в 1995 г. получили развитие кластеры Beowulf, специально разработанные на основе этого принципа. Успехи таких систем подтолкнули развитие grid-сетей, которые существовали ещё с момента создания UNIX.
4. 2. Кластеры Alpha/OSF компании DEC Стратегическая линия новых продуктов компании DEC основана на новой аппаратной платформе Alpha AXP, которая поддерживает несколько операционных систем (в их числе Open. VMS, DEC OSF/1 и Windows NT). Компания объявила о создании UNIX-кластеров на своей новой платформе Alpha/OSF в 1993 году. Главной задачей при этом считается достижение тех же функциональных возможностей, которыми обладали VAX/VMSкластеры. В основу нового кластерного решения положен высокоскоростной коммутатор Giga. Switch, максимальная пропускная способность которого достигает 3. 6 Гбайт/с. Giga. Switch представляет собой протокольно независимое устройство коммутации пакетов, которое может иметь 36 портов и поддерживать протоколы Ethernet, FDDI и ATM. Поддержка различных протоколов реализована с помощью набора специальных сменных карт. Предполагается, что к Giga. Switch помимо рабочих станций Alpha смогут подключаться и UNIX-станции других производителей. В апреле 1994 года компания DEC анонсировала продукт под названием Integrated Cluster Server, который по своим функциональным характеристикам должен соответствовать стандарту VAX/VMS-кластеров. Основу этого решения составляет новая технология так называемой рефлективной памяти, имеющейся в каждом узле кластера. Устройства рефлективной памяти разных узлов кластера объединяются с помощью высокоскоростных каналов на основе интерфейса PCI (см. рисунок). Обмен информацией между узлами типа "память-память" по этим каналам может производиться со скоростью 100 Мбайт/с, что на порядок превышает скорость обмена по обычным каналам ввода/вывода. Появление этого продукта ожидается в конце 1995 года. Компания DEC выпускает RAID массивы Storage. Works, которые поддерживают RAID уровней 0, 1 и 5 и обеспечивают замену компонентов без выключения питания. В стоечной конфигурации поддерживается до 70 накопителей и дополнительные источники питания. Они могут выполнять до 400 операций ввода/вывода в секунду и подключаются к основным компьютерам через интерфейс Differential Fast SCSI-2. Скоростью интерфейса составляет 10 Мбайт/с, максимальная длина связи - 25 м. Рис. 12 Архитектура кластера компании DEC на базе рефлективной памяти и каналов "память-память"
4. 3. UNIX-кластеры компании IBM Компания IBM предлагает несколько типов слабо связанных систем на базе RS/6000, объединенных в кластеры и работающих под управлением программного продукта High-Availability Clastered Multiprocessor/6000 (HACMP/6000). В этих системах поддерживаются три режима автоматического восстановления системы после отказа: Режим 1 - в конфигурации с двумя системами, одна из которых является основной, а другая находится в горячем резерве, в случае отказа обеспечивает автоматическое переключение с основной системы на резервную. Режим 2 - в той же двухмашинной конфигурации позволяет резервному процессору обрабатывать некритичные приложения, выполнение которых в случае отказа основной системы можно либо прекратить совсем, либо продолжать их обработку в режиме деградации. Режим 3 - можно действительно назвать кластерным решением, поскольку системы в этом режиме работают параллельно, разделяя доступ к логическим и физическим ресурсам пользуясь возможностями менеджера блокировок, входящего в состав HACMP/6000. Начиная с объявления в 1991 году продукт HACMP/6000 постоянно развивался. В его состав были включены параллельный менеджер ресурсов, распределенный менеджер блокировок и параллельный менеджер логических томов, причем последний обеспечил возможность балансировки загрузки на уровне всего кластера. Максимальное количество узлов в кластере возросло до восьми. В настоящее время в составе кластера появились узлы с симметричной многопроцессорной обработкой, построенные по технологии Data Crossbar Switch, обеспечивающей линейный рост производительности с увеличением числа процессоров. Первоначально обязательным требованием режима 3 было использование высокопроизводительной дисковой подсистемы IBM 9333, которая использовала последовательный дисковый интерфейс с поддержкой 17. 6 Гбайт дискового пространства, а также дисковой подсистемы IBM 9334 с интерфейсом SCSI, обеспечивающим дисковое пространство в 8. 2 Гбайт. В августе 1993 года была анонсирована первая подсистема RAID: две модели 7135 RAIDiant Array могут поддерживать до 768 Гбайт дискового пространства в стоечной конструкции серии 900 и 96 Гбайт в напольных тумбовых конструкциях, при этом реализуют RAID уровней 1, 3 и 5. Кластеры RS/6000 строятся на базе локальных сетей Ethernet, Token Ring или FDDI и могут быть сконфигурированы различными способами с точки зрения обеспечения повышенной надежности: n Горячий резерв или простое переключение в случае отказа. В этом режиме активный узел выполняет прикладные задачи, а резервный может выполнять некритичные задачи, которые могут быть остановлены в случае необходимости переключения при отказе активного узла. n Симметричный резерв. Аналогичен горячему резерву, но роли главного и резервного узлов не фиксированы. n Взаимный подхват или режим с распределением нагрузки. В этом режиме каждый узел в кластере может "подхватывать" задачи, которые выполняются на любом другом узле кластера.
4. 4. Кластеры AT&T GIS Отделение GIS (Global Information Systems) образовалось после покупки AT&T компании NCR, успешно работавшей в направлении создания систем с симметричной многопроцессорной обработкой (SMP) и систем с массовым параллелизмом (MPP) на базе микропроцессоров Intel. В 1993 году NCR анонсировала программное обеспечение для поддержки высокой готовности, получившее название Life. Keeper FRS (Fault Recilient Systems) Clastering Software, которое вместе с дисковыми массивами NCR позволяло строить высоконадежные кластерные решения. В состав кластеров NCR могут входить многопроцессорные системы серий 3400 и 3500, каждая из которых включает от 1 до 8 процессоров 486 DX 2 или Pentium (рис. 5). Disk Array Subsystem 6298 включает до 20 дисковых накопителей емкостью 1 Гбайт и поддерживает RAID уровней 0, 1, 3 и 5 в любой комбинации. Подсистема обеспечивает замену дисковых накопителей, вентиляторов и источников питания в режиме on-line, т. е. без приостановки работы системы. В ней предусмотрено три порта и возможна поставка с избыточными контроллерами. Программное обеспечение Life. Keeper допускает построение кластеров высокой готовности с четырьмя узлами, причем любой из узлов кластера может служить в качестве резервного для других узлов. Плановое время простоя для инсталляции программного обеспечения может быть значительно снижено, поскольку переключение на резерв можно инициировать вручную, затем модифицировать программное обеспечение и произвести обратное переключение с резерва. Life. Keeper обеспечивает также восстановление системы после обнаружения ошибок в системных, прикладных программах и периферийном оборудовании. Он обеспечивает автоматическое переключение при обнаружении отказа и инициируемое оператором обратное переключение. Все связи узлов кластера с помощью Ethernet, Token Ring и FDDI дублированы, а дисковые подсистемы, как уже отмечалось, могут подключаться сразу к нескольким узлам кластера. Все это обеспечивает построение системы, устойчивой к одиночным отказам, причем программное обеспечение выполняет автоматическое обнаружение отказов и восстановление системы. Рис. 13 Архитектура двухмашинного кластера AT&T GIS Life. Keeper FRS При использовании Oracle Parallel Server распределенный менеджер блокировок, входящий в состав Life. Keeper, позволяет параллельной базе данных работать с системой высокой готовности. В планы компании входит построение крупномасштабных кластеров для университетских кампусов, а также глобальных кластеров, способных продолжать работу в случае стихийных бедствий.
Sequent была, по-видимому, второй после IBM компанией, осуществившей поставки UNIX-кластеров баз данных в середине 1993 года. Она предлагает решения, соответствующие среднему и высокому уровню готовности своих систем. Первоначально Sequent Hi-Av Systems обеспечивали дублирование систем, которые разделяли общие диски. Пользователи могли выбирать ручной или автоматический режим переключения на резерв в случае отказа. Программный продукт ptx/CLASTERS, который может использоваться совместно с продуктом Hi-Av Systems, включает ядро, отказоустойчивый распределенный менеджер блокировок, обеспечивающий разделение данных между приложениями. Продукт ptx/NQS предназначен для балансировки пакетных заданий между узлами кластера, а ptx/LAT расширяет возможности управления пользовательскими приложениями в режиме on-line. Продукт ptx/ARGUS обеспечивает централизованное управление узлами кластера, а ptx/SVM (распределенный менеджер томов) представляет собой инструментальное средство управления внешней памятью системы. Hi-Av Systems обеспечивает также горячее резервирование IP адресов и позволяет кластеру, в состав которого входят до четырех узлов, иметь единственный сетевой адрес (рис. 14). 4. 5. Кластеры Sequent Computer Systems Рис. 14 Архитектура двухмашинного кластера SE 90 компании Sequent Компания Sequent одной из первых освоила технологию Fast-Wide SCSI, что позволило ей добиться значительного увеличения производительности систем при обработке транзакций. Компания поддерживает дисковые подсистемы RAID уровней 1, 3 и 5. Кроме того она предлагает в качестве разделяемого ресурса ленточные накопители SCSI. Модель SE 90 поддерживает кластеры, в состав которых могут входить два, три или четыре узла, представляющих собой многопроцессорные системы Symmetry 2000 или Symmetry 5000 в любой комбинации. Это достаточно мощные системы. Например, Sequent Symmetry 5000 Series 790 может иметь от 2 до 30 процессоров Pentium 66 МГц, оперативную память емкостью до 2 Гбайт и дисковую память емкостью до 840 Гбайт. При работе с Oracle Parallel Server все узлы кластера работают с единственной копией базы данных, расположенной на общих разделяемых дисках.
4. 6. Системы высокой готовности Hewlett-Packard Продукты высокой готовности HP включают дисковые массивы, программное обеспечение Switchover/UX и Share. Plex, а также заказные услуги по организации систем, устойчивых к стихийным бедствиям. HP до настоящего времени не поддерживает Oracle Parallel Server, хотя имеются планы по организации такой поддержки. Схема "слабо связанного" кластера HP включает до 8 серверов HP 9000 Series 800, причем семь из них являются основными системами, а восьмая находится в горячем резерве и готова заменить любую из основных систем в случае отказа (рис. 15). Для этого в нормальном режиме работы основные системы посылают резервной сообщения (так называемый "пульс"), подтверждающие их работоспособное состояние. Если резервная система обнаруживает потерю "пульса" какой-либо основной системой, она прекращает выполнение своих процессов, берет на себя управление дисками отказавшей системы, осуществляет перезагрузку, переключает на себя сетевой адрес отказавшей системы и затем перезапускает приложения. Весь процесс переключения может занимать от 10 до 20 или более минут в зависимости от приложения. Продукты Switchover и Shareplex могут использоваться совместно. При этом Switchover обеспечивает высокую готовность, а Shareplex расширяет возможности кластерной системы, предоставляя поддержку общего управления системами, отказоустойчивости при стихийных бедствиях и разделяемого доступа к распределенным ресурсам систем. Хотя Oracle Parallel Server еще не поставлялся в составе кластерных систем HP, компания проводит активные работы в этом направлении. В частности, в последнее время появились новые программные продукты: MC/Lock. Manager - менеджер блокировок, обеспечивающий связь между экземплярами Oracle, функционирующими в кластере, и MC/Service. Guard - продукт, Рис. 15 Отказоустойчивая архитектура Switchover/UX компании Hewlett Packard заменяющий ранее поставлявшийся Switchover. Продукты HP известны своей высокой надежностью и хорошими показателями наработки на отказ. Дисковые массивы HP-FL поддерживают RAID уровней 0, 3 и 5, а также замену без выключения питания. В настоящее время в системах HP используются устройства Fast/Wide SCSI Disk Array, поддерживающие RAID уровней 0, 1, 3 и 5 с 50 Гбайт общего дискового пространства. В отличие от устройств HP-FL, подсоединение которых осуществлялось с помощью оптоволоконного кабеля, SCSI Disk Array подключается посредством обычных медных кабелей, длина которых может достигать 25 метров. Новая версия ОС Version 10. 0 HP-UX обеспечивает журнализацию файлов и распределенное управление блокировками, что позволяет HP активно конкурировать с продукцией высокой готовности других поставщиков.
4. 7. Кластерные решения Sun Microsystems предлагает кластерные решения на основе своего продукта SPARCclaster PDB Server, в котором в качестве узлов используются многопроцессорные SMP-серверы SPARCserver 1000 и SPARCcenter 2000. Максимально в состав SPARCserver 1000 могут входить до восьми процессоров, а в SPARCcenter 2000 до 20 процессоров Super. SPARC. В комплект базовой поставки входят следующие компоненты: два кластерных узла на основе SPARCserver 1000/1000 E или SPARCcenter 2000/2000 E, два дисковых массива SPARCstorage Array, а также пакет средств для построения кластера, включающий дублированное оборудование для осуществления связи, консоль управления кластером Claster Management Console, программное обеспечение SPARCclaster PDB Software и пакет сервисной поддержки кластера. Для обеспечения высокой производительности и готовности коммуникаций кластер поддерживает полное дублирование всех магистралей данных. Узлы кластера объединяются с помощью каналов Sun. Fast. Ethernet с пропускной способностью 100 Мбит/с. Для подключения дисковых подсистем используется оптоволоконный интерфейс Fibre Channel с пропускной способностью 25 Мбит/с, допускающий удаление накопителей и узлов друг от друга на расстояние до 2 км. Все связи между узлами, узлами и дисковыми подсистемами дублированы на аппаратном уровне. Аппаратные, программные и сетевые средства кластера обеспечивают отсутствие такого места в системе, одиночный отказ или сбой которого выводил бы всю систему из строя. SPARCclaster PDB Server поддерживает полностью автоматическое обнаружение отказов, их изоляцию и восстановление после отказа, причем обнаружение и изоляция отказа выполняются на разных уровнях в зависимости от отказавшего компонента (системы связи между узлами, дисковой подсистемы, сетевого подключения или целиком узла). При этом процесс восстановления осуществляется достаточно быстро, поскольку в случае подобных отказов не требуется полной перезагрузки системы. В состав программного обеспечения кластера входят четыре основных компонента: отказоустойчивый распределенный менеджер блокировок, распределенный менеджер томов, программные средства управления обнаружением отказов и управления восстановлением, программное обеспечение управления кластером. Sun Microsystems выпускает дисковые массивы, обеспечивающие RAID уровней 0 и 1. Ожидается появление поддержки RAID уровня 5. Максимальная емкость дискового массива для SPARCserver 1000 составляет 63 Гбайт при использовании SPARCstorage Array Model 100 и 324 Гбайт при использовании SPARCstorage Array Model 200. Для SPARCcenter 2000 эти цифры составляют соответственно 105 Гбайт и 324 Гбайт.
4. 8. Отказоустойчивые решения Data General Линия продуктов высокой готовности компании Data General включает системы, основными свойствами которых являются: полностью автоматическое восстановление без потери данных, конфигурируемые дисковые и ленточные массивы и средства поддержания высокой готовности, встроенные в системное программное обеспечение. Data General поставляет многопроцессорные SMP-серверы серий AV 5500, AV 8500 и AV 9500. Эти серверы поддерживают работу с отказоустойчивыми дисковыми и ленточными подсистемами CLARii. ON, средства автоматической диагностики AV/Alert, инициируемые оператором или автоматически средства переключения на резервную систему, управление внешней памятью в режиме on -line, управление вводом/выводом и быстрое восстановление файлов. При обнаружении отказа процессора, памяти или компоненты ввода/вывода система автоматически начинает процесс выключения и затем осуществляет собственную перезагрузку с исключением отказавших компонент. Стандартным средством указанных систем является наличие избыточных источников питания. Максимальная степень готовности достигается при подключении двух серверов к высоконадежному дисковому массиву CLARii. ON. Дисковые массивы CLARii. ON Series C 2000 Disk Array обеспечивают RAID уровней 0, 1, 3 и 5 в любых сочетаниях, до 20 накопителей в одном шасси общей емкостью до 80 Гбайт и возможность замены накопителя без выключения питания. В конструкции дискового массива используются избыточные интеллектуальные контроллеры с дублированными связями, обеспечивающие отказоустойчивость. Ленточный массив CLARii. ON Series 4000 поддерживает отказоустойчивое резервное копирование и восстановление. В составе массива используется специальный процессор, реализующий схему расщепления данных, подобную RAID уровня 5. Ленточный массив обеспечивает не только высокую пропускную способность, но и реализует защиту от отказов носителя и накопителя. В действительности, даже при отказе накопителя или картриджа, операции по резервному копированию или восстановлению данных продолжаются без потери данных. В массив можно устанавливать 3, 5 или 7 накопителей. При двухкратной компрессии данных общая емкость ленточного массива может достигать 48 Гбайт.
4. 9. Кластеризация в контексте информационных систем электронного бизнеса Требования доступности и масштабируемости, предъявляемые электронным бизнесом, привели к разработке широкого спектра решений. В большинстве этих решений в той или иной форме применяется технология кластеризации, и почти все крупные системы электронного бизнеса пользуются преимуществами кластеризации на нескольких уровнях. На рисунке представлена система с кластеризацией на трех уровнях (хотя в принципе в ней можно выделить и четыре уровня). Рисунок 16 Модель центра обработки данных крупного предприятия электронного бизнеса
4. 10. Кластерные проекты в России вычислительных ресурсах, и В России всегда была высока потребность в высокопроизводительных относительно низкая стоимость кластерных проектов послужила серьезным толчком к широкому распространению подобных решений в нашей стране. Одним из первых появился кластер «Паритет» , собранный в ИВВи. БД и состоящий из восьми процессоров Pentium II, связанных сетью Myrinet. В 1999 году вариант кластерного решения на основе сети SCI был апробирован в НИЦЭВТ, который, по сути дела, и был пионером использования технологии SCI для построения параллельных систем в России. Высокопроизводительный кластер на базе коммуникационной сети SCI, установлен в Научноисследовательском вычислительном центре Московского государственного университета. Кластер НИВЦ включает 12 двухпроцессорных серверов «Эксимер» на базе Intel Pentium III/500 МГц, в общей сложности 24 процессора с суммарной пиковой производительностью 12 млрд. операций в секунду. Общая стоимость системы – около 40 тыс. долл. или примерно 3, 33 тыс. за 1 GFLOPS. Вычислительные узлы кластера соединены однонаправленными каналами сети SCI в двумерный тор 3 x 4 и одновременно подключены к центральному серверу через вспомогательную сеть Fast Ethernet и коммутатор 3 Com Superstack. Сеть SCI – это ядро кластера, делающее данную систему уникальной вычислительной установкой суперкомпьютерного класса, ориентированной на широкий класс задач. Максимальная скорость обмена данными по сети SCI в приложениях пользователя составляет более 80 Мбайт/с, а время латентности около 5, 6 мкс. При построении данного вычислительного кластера использовалось интегрированное решение Wulfkit, разработанное компаниями Dolphin Interconnect Solutions и Scali Computer (Норвегия). Основным средством параллельного программирования на кластере является MPI (Message Passing Interface) версии Sca. MPI 1. 9. 1. На тесте LINPACK при решении системы линейных уравнений с матрицей размера 16000 х16000 реально полученная производительность составила более 5, 7 GFLOPS. На тестах пакета NPB производительность кластера сравнима, а иногда и превосходит производительность суперкомпьютеров семейства Cray T 3 E с тем же самым числом процессоров. Основная область применения вычислительного кластера НИВЦ МГУ – это поддержка фундаментальных научных исследований и учебного процесса. Из других интересных проектов следует отметить решение, реализованное в Санкт-Петербургском университете на базе технологии Fast Ethernet [8]: собранные кластеры могут использоваться и как полноценные независимые учебные классы, и как единая вычислительная установка, решающая единую задачу. В Самарском научном центре пошли по пути создания неоднородного вычислительного кластера, в составе которого работают компьютеры на базе процессоров Alpha и Pentium III. В Санкт-Петербургском техническом университете собирается установка на основе процессоров Alpha и сети Myrinet без использования локальных дисков на вычислительных узлах. В Уфимском государственном авиационном техническом университете проектируется кластер на базе двенадцати Alpha-станций, сети Fast Ethernet и ОС Linux.
4. 11. Кластерные решения 1 С: Предприятие 8 Кластер серверов 1 С: Предприятия 8 является логическим понятием и представляет собой множество рабочих процессов, обслуживающих один и тот же набор информационных баз. Основные возможности кластера серверов n кластер серверов может функционировать на одном или нескольких компьютерах (рабочих серверах); n на каждом рабочем сервере может функционировать один или несколько рабочих процессов, обслуживающих клиентские соединения в рамках данного кластера; n подключение новых клиентов к рабочим процессам кластера выполняется на основе анализа долгосрочной статистики загруженности рабочих процессов; n взаимодействие процессов кластера с клиентскими приложениями, между собой и с сервером баз данных осуществляется по протоколу TCP/IP; n процессы кластера сервера могут быть запущены как приложение, или как сервис. Общая схема клиент-серверного варианта работы В клиент-серверном варианте работы клиентское приложение взаимодействует с кластером серверов, который, в свою очередь, осуществляет взаимодействие с сервером баз данных. Рис. 17 Кластерная модель 1 С: Предприятие 8
Один из компьютеров, входящих в состав кластера серверов, является центральным сервером кластера. Центральный сервер, помимо обслуживания клиентских соединений, управляет работой всего кластера и хранит реестр кластера. Для клиентского соединения кластер адресуется по имени центрального сервера и номеру IP порта. Если используется стандартный IP порт, то достаточно указания одного имени центрального сервера. При установке соединения клиентское приложение обращается к центральному серверу кластера. Центральный сервер, на основе анализа статистики загруженности рабочих процессов, направляет клиентское приложение к конкретному рабочему процессу, который будет его обслуживать. Этот процесс может находиться как на центральном сервере, так и на любом рабочем сервере кластера. Рабочий процесс выполняет аутентификацию пользователя и обслуживает соединение до окончания сеанса работы клиента с данной информационной базой. Масштабируемость кластера серверов может осуществляться несколькими способами: n за счет увеличения количества рабочих процессов, функционирующих на конкретном рабочем сервере; n за счет увеличения количества рабочих серверов, входящих в состав кластера. Использование нескольких рабочих процессов, с одной стороны, позволяет снизить нагрузку на каждый конкретный рабочий процесс. С другой стороны, запуск нескольких рабочих процессов позволяет более эффективно использовать аппаратные ресурсы рабочего сервера. Кроме этого запуск нескольких рабочих процессов позволяет повысить надежность сервера, изолировав группы клиентов, работающих с разными информационными базами. Увеличение количества рабочих серверов, входящих в кластер, позволяет использовать большее количество рабочих процессов (обслуживать большее количество клиентских соединений), не увеличивая при этом нагрузку на каждый конкретный рабочий процесс. Работа кластера серверов под управлением различных операционных систем Все процессы кластера серверов способны функционировать как под управлением операционной системы Windows, так и под управлением операционной системы Linux. Благодаря тому, что взаимодействие процессов между собой осуществляется по протоколу TCP/IP, в составе одного кластера могут присутствовать рабочие серверы с различными операционными системами.
4. 12 НА-кластеры с зеркалированием Начать показ Active resources Failsafe resources - данные - Работающий кластер - Неработающий кластер Пример реализации кластеризованного сервера без внешнего хранилища данных с применением технологии зеркалирования. Кратко о системе Предлагаемая система является кластером высокой готовности (high-availability cluster, failover cluster) с возможностью географически разнести серверы для достижения большей надёжности и с простой архитектурой, ориентированной на поддержку самых различных сервисов. Данная система представляет собой устойчивый к сбоям кластер, который состоит из двух серверов, имеющих идентичные за счёт зеркалирования файловые системы с данными кластеризуемых ресурсов, и работающих по принципу активный/пассивный (active/passive configuration). В конфигурации активный/пассивный один из серверов (активный) несёт на себе всю нагрузку по предоставлению сервисов, в то время как другой (резервный, пассивный) сервер находится в режиме ожидания. Связь между серверами осуществляется при помощи специального соединения, по которому каждый из серверов обменивается служебной информацией и определяет работоспособность остальных узлов кластера (как в целом, так и отдельных подсистем и компонентов). В случае неисправности на первом сервере, резервный сервер запускает у себя все, недоступные более на основном сервере, приложения, сервисы и ресурсы. Таким образом, в случае выхода основного сервера из строя, резервный сервер берёт всю работу по предоставлению сервисов и ресурсов на себя. Процесс перевода ресурсов с неисправного сервера на резервный называется failover. Так-же существуют варианты кластера с распределением нагрузки (load balancing) в конфигурации активный/активный. Зеркалирование файловой системы (mirroring) – это процесс, при котором изменения в файлах, сделанные на активном сервере автоматически пересылаются на резервный сервер. Зеркалирование происходит в режиме реального времени. Таким образом, в случае выхода из строя основного сервера, сервисы, запущенные на резервном сервере, будут иметь актуальные копии данных, что позволит продолжить работу с того момента, когда они были прерваны.
- данные Каналы передачи данных - Начать показ На рисунке изображён процесс работы сервера в кластере с активными в данный момент ресурсами. В основании системы находится жёсткий диск, который содержит раздел с зеркалируемыми данными кластеризуемых приложений. Данный раздел поддерживается в синхронном состоянии с парным ему разделом на другом (пассивном) сервере кластера с помощью подсистемы онлайн репликации данных (сетевого RAID-1) – являющейся частью ядра Linux Поверх раздела, зеркалируемого с помощью системы он-лайн репликации данных (сетевого RAID-1), находится журналируемая файловая система, которая может быть примонтирована как обычное блочное устройство. В качестве файловой системы может быть выбрана журналируемая система EXT 3, которая является стандартной для операционной системы Linux, и обеспечивающая необходимый набор требуемых возможностей. Наличие журнала обеспечивает дополнительную надёжность в процессе восстановления системы от ошибок. По желанию заказчика можно изменить режим журналирования на зеркалируемом разделе, например, на режим полного журналирования для увеличения надежности. Данные зеркалируемой файловой системы могут быть доступны для монтирования через сетевую файловую систему на другие компьютеры. Здесь же хранятся все рабочие данные и настройки кластеризованных сервисов и ресурсов.
4. 13. Обзор кластерных технологи Microsoft Доступность серверов на базе Windows NT Доступен Недоступен Обычный сервер 99 % 87 часов/год Обычный сервер c RAID массивом 99, 5 % 44 часа/год Высокодоступный сервер 99, 99 % 9 часов/год Устойчивый к сбоям 99, 99? % От 1 часа/год до 5 минут/год
Уровень 1. Технология дублирования. Double-Take™ n Устойчивость хранилища ¨ Основана на миграции приложения Приложение ОС ОС CPU/Память Хранилище Co-Standby Server™ ARCserve Replication Octopus. HA+™
Уровень 2. Технология дублирования хранилища n Полная надежность аппаратной платформы Endurance™ 4000 Приложение ОС CPU/Память Хранилище RADIO Clusters™
Уровень 3. Кластерные решения. n Базируется на постоянной работе приложений Приложение ОС ОС CPU/Память Хранилище First. Watch® Microsoft Cluster Service
Аппаратное обеспечение n http: //www. microsoft. com/hwtest/hcl Только полные системы !!! Search for the following: All Products In the following types: All Products Categories 1394 Controller Audio Backoffice/Server Cluster/Fibre. Channel Adapter Cluster/RAID Controller Cluster/RAID System Cluster/RAID Adapter CPU
Кластерные технологии в Windows 2000 Функциональность Поддержка кластеров в Windows 2000 Нацеленность на критические приложения 46
Кластерные технологии в Windows 2000 Компоненты Server Cluster Пользователи Network Load Balancing (NLBS) Internet Клиенты IIS – сервер Web (Любой сервис на IP) балансировки нагрузки (COM+) для Application High Availability ( MSCS) Сервера приложений SQL, Exchange, Файлы COM+ Компоненты 47
Кластерные сервисы Новое в Windows 2000 n n Поддержка Active Directory Восстановление после сбоев сетевых карт Поддержка Plug & Play Поддержка 4 узлов под управлением Windows 2000 Datacenter ¨ Ресурсы вышедшего из строя сервера можно разделить между оставшимися серверами n n n Интеграция с MMC Мастер установки Поддержка COM технологий
Технология обновления 2 1 приложений Ресурс 1 Ресурс 2 Ресурс 1 Upgrade Ресурс 2 3 Upgrade Ресурс 1 Ресурс 2 49
Сервисы поддерживаемые в Windows 2000 Windows NT 4. 0 File Shares Плюс в Windows 2000 DHCP Print Spooler WINS IIS 3. 0/4. 0 DFS Exchange 5. 5/e NNTP SQL 6. 5/7. 0/e SMTP 50
Программа Windows Data. Center n n n Совместная работа с несколькими производителями серверного оборудования Доставка аппаратного обеспечения, взамен вышедшего из строя, на место эксплуатации Запросам в службу поддержки в рамках программы присваивается повышенный приоритет
Задачи Application Center Уменьшить стоимость приложений с возможностью масштабирования n Уменьшить затраты на поддержку n Сделать управление кластерными системами простым и понятным n Упростить развертывание и управление Web приложениями n
Application Center 2000 Упрощенное управление приложениями n Масштабирование ПО n Дополнительная надежность серверов n
Управление приложениями. Облегченное управление приложениями на серверах n Управление несколькими серверами как одним n Быстрое развертывание приложений на серверах n
Масштабирование ПО Балансировка загрузки приложений n Мастер для создания новых кластеров n Упрощенное управление кластерами n Совместимость с приложениями для балансировки загрузки приложений n ¨ Cisco n Local. Director и Arrowpoint Переадресация запросов для ASP
Надежность Обновление приложений без остановки серверов n Интеграция с приложениями для управления от ISV n Средства слежения за состоянием серверов n Синхронизация серверов n
Дополнительные возможности n Возможно управление через MMC
Вопросы для самоконтроля 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Дать определение кластера. Что такое узлы кластера? Какими свойствами они обладают? Какие функции выполняет сигнала heartbeat между узлами кластера? Какими характеристиками оценивается производительность коммуникационных сетей в кластерных системах? Каковы их значения для массовых и специализированных технологий? В чем особенности программного обеспечения кластеров? Какие приложения эксплуатируются на кластерах? Что представляет собой дисковый массив RAID, для чего он используется? Перечислите возможные кластерные конфигурации. Назовите основные виды кластеров. Как они работают? Чем достигается высокая производительность и отказоустойчивость кластера? Как кластерное ПО решает проблему восстановления узла в случае сбоя? Нарисуйте типовую схема кластерной системы высокой готовности. Что такое VAX-кластер и какими свойствами он обладает? Какие виды связи могут использоваться в VAX-кластере? Что такое DLM и какие функции он выполняет в VAX-кластере? Чем отличаются кластеры от других высокопроизводительных систем? Какие основные особенности можно выделить в кластерах Beowulf? Почему решения проекта Beowulf можно использовать для самостоятельного построения высокопроизводительного кластера? Нарисуйте архитектуру базовой кластерной системы с функциями высокой доступности и балансировщика нагрузки, укажите пути масштабирования. Проследите основные этапы развития кластеров в виде: дата – событие. Назовите фирмы, занимающиеся разработкой кластеров. В чем особенности их решений? Какие кластерные проекты были реализованы в России?
Список используемых источников 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. http: //www. citforum. ru/hardware/svk/glava_12. shtml http: //www. beowulf. com http: //newton. gsfc. nasa. gov/thehive/ http: //www. lobos. nih. gov http: //parallel. ru/news/kentucky_klat 2. html http: //parallel. ru/news/anl_chibacity. html http: //parallel. ru/cluster/ http: //www. ptc. spbu. ru http: //v 8. 1 c. ru/overview/cluster. htm http: //www. intel. com/cd/ids/developer/emea/rus/dc/hpc/choice/324854. htm? page=5 http: //www. antrel. ru/ru/solution_services/cluster_systems. html http: //www. entry. kiev. ua/aboutus/press/clusters. html http: //www. linover. ru/links_project 2. htm http: //www. si. ibs. ru/content/si/70/709 -article. asp http: //www. bytemag. ru/? ID=600865 http: //www. jetinfo. ru/2001/8/1/article 1. 8. 2001211. html http: //www. linover. ru/loadbalancer. htm www. microsoft. com/rus/windows 2000 www. microsoft. com/windows 2000 Истомин И. Н. «Вычислительные системы, сети и телекоммуникации» -Андреевский издательский дом, 2007, стр 255 Избачков Ю. С. , Петров В. Н. «Информационные системы» -Питер 2006, стр 656
Руководители : Горшенин А. Ю. Крюкова Л. В. ВЫПОЛНИЛИ: студентки гр. 3 БКБ Дзоз О. А. Скорынина С. А. Ставрополь 2008
КЛАСТЕРЫ.ppt