- •12.1 Сетевые ос и принципы их построения.
- •Сетевые и распределенные ос
- •12.2 Концепции распределенной обработки в сетевых ос
- •Концепция удаленного вызова процедур
- •Преимущества кластеризации
- •Как устроен кластер
- •Кластерные конфигурации
- •Программное обеспечение
- •12.3 Перспективы развития систем распределенной обработки данных.
Преимущества кластеризации
Как уже отмечалось, основное назначение кластера состоит в обеспечении высокого - по сравнению с разрозненным набором компьютеров или серверов - уровня доступности (High Availability, HA), иначе называемого уровнем готовности, а также высокой степени масштабируемости и удобства администрирования. Повышение готовности системы обеспечивает работу критических для бизнеса приложений на протяжении максимально продолжительного промежутка времени. К критическим можно отнести все приложения, от которых напрямую зависит способность компании получать прибыль, предоставлять сервис или обеспечивать иные жизненно важные функции. Как правило, использование кластера позволяет гарантировать, что в случае, если сервер или какое-либо приложение перестает нормально функционировать, другой сервер в кластере, продолжая выполнять свои задачи, возьмет на себя роль неисправного сервера (или запустит у себя копию неисправного приложения) с целью минимизации простоя пользователей из-за неисправности в системе.
В случае сбоя кластерной системы восстановлением управляет специальное программное и аппаратное обеспечение. В частности, кластерное ПО позволяет автоматически определить единичный аппаратный или программный сбой, изолировать его и восстановить систему. Специально разработанные подпрограммы способны выбрать самый быстрый способ восстановления и за минимальное время обеспечить работоспособность служб. При помощи встроенного инструментального средства разработки и программного интерфейса можно создавать специальные программы, выявляющие, изолирующие и устраняющие сбои, которые возникают в приложениях, разработанных пользователем.
Другое достоинство кластеризации – обеспечение масштабируемости. Кластер позволяет гибко увеличивать вычислительную мощность системы, добавляя в него новые узлы и не прерывая при этом работы пользователей. Современные кластерные решения предусматривают автоматическое распределение нагрузки между узлами кластера, в результате чего одно приложение может работать на нескольких серверах и использовать их вычислительные ресурсы.
Типичные приложения, эксплуатируемые на кластерах, это:
базы данных;
системы управления ресурсами предприятия (ERP);
средства обработки сообщений и почтовые системы;
средства обработки транзакций через Web и Web-серверы;
системы взаимодействия с клиентами (CRM);
системы разделения файлов и печати.
Как устроен кластер
Итак, кластер объединяет несколько серверов, соединенных между собой специальным коммуникационным каналом, часто называемым системной сетью. Узлы кластера контролируют работоспособность друг друга и обмениваются специфической информацией, например, о конфигурации кластера, а также передают данные между общими накопителями и координируют их использование. Контроль работоспособности осуществляется с помощью специального сигнала heartbeat ("сердцебиение", или "пульс"), который узлы кластера передают друг другу, чтобы подтвердить свое нормальное функционирование. Если в небольших кластерах heartbeat-сигналы передаются по тем же каналам, что и данные, то в крупных системах для этого выделяются специальные линии, так как кластерное ПО должно получать сигнал "сердцебиения" каждого сервера с определенным временным интервалом - в случае его неполучения сервер считается неработающим и кластер автоматически переконфигурируется. Также автоматически разрешаются конфликты между серверами, когда при запуске кластера возникает проблема выбора "ведущего" сервера или группы серверов, задача которых - сформировать новый кластер.
В качестве коммуникационного канала кластера могут использоваться обычные сетевые технологии (Ethernet, Token Ring, FDDI, АТМ), разделяемые шины ввода/вывода (SCSI или PCI), высокоскоростной интерфейс Fibre Channel или специализированные технологии CI (Computer Interconnect), DSSI (Digital Storage System Interconnect) или Memory Channel. DSSI-интерфейс предназначен для доступа к накопителям и для взаимодействия систем между собой. Он похож на мультихостовый протокол SCSI-2, но обладает большей производительностью и возможностью организации взаимодействия компьютеров. DSSI-кластеры поддерживают средства повышения надежности системы, разделение ресурсов, распределенную файловую систему и прозрачность. С точки зрения управления и обеспечения безопасности DSSI-кластер представляется единым доменом.