В. Столлингс - Операционные системы (1114679), страница 133
Текст из файла (страница 133)
О ресурсе говорят, что он подключен к узлу, когда он обеспечивает работу сервиса на этом конкретном узле. Группа. Набор ресурсов, управляемых как единое целое, Обычно группа со- держит все элементы, необходимые для запуска определенного приложения и для подключения системы-клиента к сервису, предоставляемому таким приложением. Концепция группы особенно важна. Группа собирает ресурсы в большие !дули, которыми проще управлять — как с точки зрения преодоления сбоев, к и с точки зрения балансировки загрузки. Операции, выполняемые над групй, такие, как пересылка группы на другой узел, автоматически действуют на в ресурсы, составляющие группу.
Ресурсы реализованы как динамически комнуемые библиотеки и управляются монитором ресурсов. Монитор ресурсов взаимодействует с кластерным сервисом путем вызова удаленных процедур и от вечает на команды кластерного сервиса по конфигурированию и перемещению групп ресурсов. о кластера Глобального Меивджер новлени базданнык Процессор вивджер ! событий узлов ! т ер к оланил сбое Менеджер l ком ника й виеджвр ресурсо Рис. 13ЛБ. Блом.схилта ИЪЫо!лл 2000 Суттатл.
Загоег ~ЯНОВ971 На рис. 13.15 изображена блок-схема компонентов Ж1пт)от!та 2000 С1ттвФег Яегттег и их взаимосвязей в едьном кластере. Менеджер узлов отвечает за под, держку участия данного узла в составе кластера. Периодически он посылает контрольные сообщения менеджерам других узлов кластера. В случае, когда менеджер узла обнаруживает, что поток контрольных сообщений от какого-то из узлов прервался, он посылает широковещательное сообщение всем менеджерам узлов кластера, что заставляет их обменяться сообщениями для проверки текущего состава кластера. Если менеджер узла не отвечает на это сообщение, узел удаляется из кластера и его активные группы пересылаются одному или нескольким активным узлам кластера.
Менеджер базы данных конфигурации поддерживает базу данных конфигурации кластера. Эта база данных содержит информацию о ресурсах и группах, а также о принадлежности групп узлам, Менеджеры баз данных каждого из узлов сотрудничают друг с другом для поддержки согласованной картины конфигурационной информации. Для гарантии того, что в любой момент времени вся информация о конфигурации кластера корректна и согласованна, используется отказоустойчивое программное обеспечение для выполнения транзакций. Глава 13.
Распределенные вычисления, архитектура... Менеджер ресурсов и менеджер преодоления сбоев принимают все решесвязанные с группами ресурсов, и инициируют все необходимые действия Э ,стера. При преодолении сбоев соответствующие менеджеры кооперируются ~ реш шеиия задачи перераспредечения групп ресурсов отказавшей системы среоставшихся в строю.
Когда отказавшая система вернется в работоспособное тонкие, менеджер преодоления сбоев может принять решение о возврате неорых групп этой системе. В частности, у каждой группы может быть указан дпочтительный владелец, и после сбоя и восстановления этого владельца ппа может быть возвращена ему. Процессор событий связывается со всеми компонентами сервиса кластера, ~абатывает обычные операции и управляет инициализацией сервиса кластера.
неджер коммуникаций управляет обменом сообщениями с другими узлами эстера. Менеджер глобального обновления предоставляет сервис, используей другими компонентами сервиса кластера. Яоп С1из1ег представляет собой распределенную операционную систему, подоенную как множество расширений базовой системы Бо1аг1з и предоставляюю пользователям единый образ системы (т.е. кластер выглядит для пользова~я и приложений так, как если бы работал единственный компьютер под равлением операционной системы Яо1аг(з). На рис.
13.16 показана архитектура Яип С1иэ$ег. Ее основными компоненчи являются. Поддержка объектов и коммуникаций. Управление процессами. Сеть. Глобальная распределенная файловая система. приложения Поддержка объектов и коммуникаций Реализация Бпп С1пэФег — объектно-ориентированная. Здесь дл я определения объектов и механизма вызова удаленных процедур (ВРС) применена объект ная модель СОВВА. Для описания интерфейсов между компонентами различных узлов многокомпьютерной системы (Ми111-Соп1ри1ег — МС) используется язык опРеделения интерфейсов (1пФегХасе ВейпЖоп 1 апдиаде — 101.) СОВВА. Элемен ты многокомпьютерной системы реализованы на объектно-ориент ированном языке программирования С++. Использование единой объектной модел 11)1, и и о еспечивает механизм связи процессов как внутри узла так и между ду узлами. Все описанное реализовано в виде надстройки над ядром Яо1аг1з, и практически не требуется вносить изменения в само ядро.
Управление процессами лобэлыюе Управление процессами позволяет расширить кр образом что Размещение процесса выполняется прозрачн пользователя, Яш1 С1из(ег поддерживает глобальное рассмотрение процессов, так что каждый процесс в кластере получает свой уникальный идентификатор и каждому узлу доступна информация о расположении и статусе любого процесса. В описываемой системе возможна миграция процессов (речь о ней идет в главе 14, "'Управление распределенными процессами"): во время работы процесс может перемещаться от одного узла к другому для обеспечения балансировки загрузки или преодоления сбоев. Однако потоки одного процесса должны располагаться иа одном узле.
Сеть Р азработчики Бип С1иэ1ег рассматривают три подхода к управлению сете вым трафиком. 1. Выполнение всей обработки сетевых протоколов на одном узле. В частности, для ТСР/1Р-приложений входящий (и исходящий) трафик должен проходить через подключенный к сети узел. Этот узел анализирует заголовки ТСР и 1Р и направляет инкапсулированные данные соответствующему узлУ; При исходящем трафике этот узел инкапсулирует данные от других узлов в заголовки ТСР/1Р.
Такой подход не является масштабируемым, не способен работать при большом количестве узлов в кластере и потому был отвергнут. 2. Назначение уникальных 1Р-адресов каждому узлу и работа сетевых протоколов непосредственно с каждым из узлов. Одной из сложностей при таком подходе является то, что конфигурация кластера перестает быть прозрачной для внешнего мира.
Еще одной проблемой является сложность преодоления сбоев, когда работающее приложение переносится на новый узел с другим сетевым адресом. 3. Использование фильтрации пакетов для их направления правильному узлу и выполнение обработки сетевых протоколов на этом узле. Внешне кластер выглядит как единый сервер с единственным 1Р-адресом. Входящие соединения (запросы клиентов) распределяются среди доступных узлов кластера (обеспечивая балансировку загрузки).
Именно этот подход и был принят в Бип С1из1ег. Часть 6. Раснределенные:системы Глазе 13. Распределенные вычисления, архитектура... Л1ОЧЕВЫЕ тЕрмияы ИнтерФейс прикладного программирования Кластер Клиент Клиент/сервер Преодоление сбоя Промежуточное программное обеспечение Распределенная передача сообщений Сервер Согласованность Файлового каша Сообщение Толстый клиент Тонкий клиент воин(Х зсстановление после сбоя ызав удаленной процедуры зафический интерфейс пользователя (1 А ) ',онтрольные вопросы 13.1. Чта такое клиент-серверные вычисления? 13,2. Чем клиент-серверные вычисления отличаются от других способов распределенной обработки данных? 13.3. Какова роль архитектуры коммуникаций (такай, как ТСР/1Р) в среде клиент/сервер? 13.4, Обсудите причины размещения приложений на машине клиента, на сервере или их распределения между клиентом и сервером.
13.5. Чта такое толстый клиент и тонкий клиент, и чем отличаются концепции этих подходов? 13.6. Рассмотрите "за" и "против" стратегий толстого и тонкого клиентов. 13.7. Приведите обоснование использования трехуровневой архитектуры клиентт/сервер. 13.8. Что такое промежуточное программное обеспечение? 13.9. Зачем нужно промежуточное программное обеспечение при наличии стандартов типа ТСР/1Р? 13.10. Перечислите некоторые достоинства и недостатки блокирующих и неблокирующих примитивов передачи сообщений. 13.11.
Перечислите некоторые достоинства и недостатки постоянного и непостояннога связывания при вызове удаленных процедур. 13.12. Перечислите некоторые достоинства и недостатки синхронных и асинхронных вызовов удаленных процедур 13.13. Перечислите и кратко ошппите четыре различных метода кластеризации. 13.0. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА -',:::::,,:,';,;:::,:::::Д Вопросы, рассматривающиеся в этой главе, неплохо освещены в 1Б1Ь)0991.