
Март 2005
Тема номера: Системы высокой готовности
Майкл Милей
>Обретение вычислительной мощности с помощью Grid
(Bringing Computing Power to the Grid
By Michael Miley)
Источник: журнал Oracle Magazine, no.5, 2003,
http://otn.oracle.com/oramag/oracle/03-sep/o53grid.html,
http://otn.oracle.com/oramag/oracle/03-sep/o53grid_2.html
Концепция Grid "вычисления как услуга" стоит на повестке дня. В этой статье рассказывается, как Oracle позволяет ее реализовать.
Oracle-технологии, которые обеспечивают реализацию Grid
Oracle уже в течение многих лет разработал технологии, на которых сейчас
можно разворачивать Grid, то есть Сеть Распределенных Вычислений. Некоторые из
этих технологий приходят с новой базой данных Oracle10g, в то время как
другие уже существовали много лет и были внедрены в предыдущие релизы базы
данных. Давайте рассмотрим эти особенности в контексте возможностей для
реализации grid.
Технология предоставления (рrovisioning) ресурсов - один из самых важных
grid-технологий. Она дает возможность динамически перераспределять
вычислительные ресурсы тем приложениям, которые их требуют. Ресурсы должны быть
распределены соответственно бизнес-приоритетам и потребностям. Oracle
обеспечивает значительное число возможностей для воплощения технологии
provisioning, включая:
Real Application Clusters (RAC - Кластерная технология Oracle).
Oracle RAC является опорной платформой стандартной сети распределенных
вычислений (grid). RAC – это кластерная база данных с архитектурой разделяемого
кэша, которая работает на нескольких машинах, соединенных в кластер, и
разделяемой подсистемой дисковой памяти. В использовании база данных Oracle RAC
не только подобна отдельной обычной базе данных Oracle10g пользователям,
но и на действующем кластере могут быть задействованы те же самые
инструментальные средства и практические навыки, что применяются на отдельной
базе данных Oracle10g. Все стандартные операции резервирования и
восстановления, включая использование Recovery Manager (Менеджер
Восстановления), прозрачно работают на RAC. Все SQL-операции, включая язык
определения данных (data definition language) и ограничения целостности
(integrity constraints), также идентичны для обеих конфигураций. Однако самой
важной возможностью RAC является способность управления рабочей нагрузкой, а
именно, добавление и удаление узлов в соответствии с вашими бизнес-потребностями
в вычислительной мощности.
Automatic Storage Management (Автоматическое управление дисковой
памятью). Oracle рекомендует использовать механизм Automatic Storage
Management (ASM) для файлов базы данных и кластерной файловой системы для
домашней (home) директории Oracle. "ASM – это новый механизм базы данных
Oracle10g, который упрощает администрирование файлами базы данных
Oracle," - говорит Рич Лонг (Rich Long), старший менеджер разработки ASM.
"Вместо того чтобы управлять многочисленными файлами базы данных, ASM требует,
чтобы вы управляли только небольшим числом дисковых групп. Вы можете определить
конкретную дисковую группу, как заданную по умолчанию группу дисковых файлов
базы данных."
"ASM обеспечивает многие из тех преимуществ технологий управления дисковой
памятью, что, например, RAID," - добавляет Анджело Прушино (Angelo Pruscino),
вице-президент Oracle по кластерным и параллельной памяти технологиям (Cluster
and Parallel Storage Technology). "Подобно этим технологиям, ASM дает
возможность создать единую дисковую группу для совокупности индивидуальных
дисковых устройств. В отличие от RAID, ASM осуществляет разделение на участки
(striping) и зеркалирование (mirroring) на файловом уровне."
Oracle Resource Manager (Менеджер ресурсов Oracle). Хотя база данных
Oracle10g в значительной степени является самонастраивающейся,
администраторы должны осуществить контроль, каким образом используются ресурсы
базы данных. Одним из важнейших инструментов, используемых для управления
ресурсами в базе данных Oracle, является Database Resource Manager (Менеджер
ресурсов базы данных), который позволяет администраторам ресурсов влиять на
распределение ресурсов базы данных Oracle между grid-пользователями.
Oracle Scheduler (Планировщик Oracle). База данных Oracle10g
включает в свой состав Oracle Scheduler (Планировщик Oracle), который
предоставляет много возможностей для планирования и исполнения в grid бизнес- и
IT-задач, которые называются работами (jobs).
Предоставление информации (Information provisioning) – еще один
важный поддерживаемый Oracle механизм – предназначен для поставки информации
пользователям всякий раз, когда они в ней нуждаются, независимо от того, где
информация постоянно находится в grid-сети. Для того, чтобы предоставить
информацию по любому доступному ресурсу, grid-сеть должна эффективно разделять
информацию обо всех распределенных системах, а также обеспечить доступ к данным,
постоянно находящимся в гетерогенных системах - в файловых системах и базах
данных многих поставщиков. Oracle обеспечивает широкий набор возможностей и
инструментальных средств для предоставления информации, включая следующие:
- Oracle Transportable Tablespaces
(Переносимые табличные пространства
Oracle). Возможность переноса табличных пространств позволяет отключать
файлы данных от базы данных Oracle, перемещать их или копировать в другое
место, а затем подключать их к другой базе данных. Отключение и подключение
файла данных требуют чтения и загрузки только небольшого количества
метаданных. Механизм переносимых табличных пространств также поддерживает
одновременную установку табличных пространств “только для чтения” (read-only)
на двух или более базах данных.
- Oracle Streams
(Потоки Oracle). Некоторые данные должны
использоваться совместно, как только они созданы или изменены, а не большой
грудой время от времени. В сети grid механизм Oracle Streams может переносить
данные между базами данных, узлами или фермами лезвий (blade farms), может
быть обеспечена синхронизация двух и более копий, коль скоро к ним применены
модификации [данных]. Все это обеспечивает унифицированную конструкцию
(framework) для совместного использования информации, объединяя организацию
очередей сообщений (message queuing), репликации (replication), отслеживание
событий (events), загрузку хранилищ данных (data warehouse), уведомления
(notifications) и публикацию/подписку (publish/subscribe) в единую технологию.
В базе данных Oracle10g также реализован комбинированный механизм
Streams/Transportable Tablespace (Потоки/Переносимые табличные пространства),
обеспечивающий то, что Браджеш Гоял (Brajesh Goyal) называет "само продвигаемой
(self-propelled) базой данных." Гоял, главный продукт-менеджер Grid-технологии,
говорит, что с одной командой, вы можете взять табличное пространство из одной
базы данных, отправить его на другую базу данных, переформатировать табличное
пространство, если вторая база данных работает под управлением другой ОС,
подключить это табличное пространство ко второй базе данных и стартовать
синхронизацию этого табличного пространства согласно изменениям, случающимися в
первой базе данных. "Если вторая база данных находится в grid-сети," - объясняет
Гоял - "то, что вы только что сделали – это миграция вашего приложение по сети
grid при помощи всего одной команды.”
- Легкая инсталляция OCI/JDBC.
Отныне в системе Oracle Database
10g любое приложение, использующее Oracle Call Interface (OCI), может
легко установить на Oracle-клиенте версию мало объемных файлов без инсталляции
и конфигурирования всего клиента в целом. Эти приложения включают драйвер
Java-приложений (JDBC) типа 2 для обеспечения связей с базой данных. OCI и
драйвер JDBC2 (который требует применения OCI) могут легко быть установлены
путем загрузки небольшого набора Oracle-клиентских файлов и модификации
нескольких переменных среды, указывающих на местоположение загруженных
библиотек. Это означает, что ваш клиент не должен устанавливать какое-либо
[другое] программное обеспечение Oracle, а вы предоставляете ему простой,
безопасный доступ к данным в базе данных Oracle, функционирующей в grid-среде.
- Distributed SQL and Distributed Transactions
(Распределенный SQL и
распределенные транзакции). Распределенный SQL от Oracle позволяет
grid-пользователям эффективно обращаться и интегрировать хранимые данные во
множестве Oracle- и не Oracle- базах данных. Прозрачный удаленный доступ к
данным посредством Распределенного SQL позволяет grid-пользователям выполнять
их приложения в любой другой базе данных без каких-либо изменений кода
приложений. При интегрировании данных и управлении транзакциями на множестве
хранимых данных база данных Oracle рационально оптимизирует планы [запросов],
чтобы обеспечить доступ к данным самым эффективным способом.
- Ultra Large Database Support (
Поддержка сверхбольших баз данных).
База данных Oracle10g включает важный механизм изменение,
предназначенный для обслуживания сверхбольших баз данных (Ultra Large
Databases - ULDB), который называется Bigfile Tablespace (табличное
пространство с большими файлами), что позволяет базе данных Oracle содержать
табличные пространства, составленные отдельных больших файлов, а не многих
меньших. Это позволяет базе данных Oracle задействовать возможности 64-битовых
систем по созданию и управлению сверхбольшими файлами. Вследствие этого, база
данных Oracle10g может теперь быть масштабирована до 8 Экзабат
(exabytes), что в 8 раз превышает способности Microsoft SQL Server 2000 и
более чем 1 000 раз - вместимость IBM DB2 Version 8.
Управление Grid
Так как в числе важнейших целей grid присутствуют: обеспечение высокой
готовности, масштабируемость и оптимизация работы сервисов с минимальными
затратами и сложностью, необходим интегрированный подход к управлению grid.
Oracle все эти годы упорно работал, чтобы предоставить расширенные средства
управления распределенными ресурсами в масштабах предприятия. Эти
инструментальные средства и возможности включают:
- Grid Management with Oracle Enterprise Manager
(Управление Grid с
использованием утилиты Oracle-менеджер предприятия). Утилита Enterprise
Manager обеспечивает упрощенную, централизованную конструкцию управления
ресурсами предприятия и анализ производительности grid. Используя Enterprise
Manager, grid-администраторы через Web-браузер могут управлять grid-средой в
течение всего жизненного цикла (lifecycle) системы, от начала до конца, из
любой точки сети (network). Система Oracle Database 10g включает
интегрированное управление и мониторинг как баз данных RAC, так и резервных
охранных систем (standby Data Guard) в сценариях переключения (switchover) и
отказоустойчивости (failover).
- Managing Security in the Grid (Управление защитой в Grid).
Динамическая grid-среда делает вопрос защиты чрезвычайно важным. Oracle
обеспечивает простое [для администратора] управление защитой, централизуя
управление безопасностью распределенного предприятия с использованием LDAP
(Lightweight Directory Access Protocol - облегченный протокол службы
каталогов), совместимый с OID - (Oracle Internet Directory – Интернет
директория Oracle). В этом плане механизм Enterprise User Security (Защита
пользователей уровня предприятия) обеспечивает возможность глобального
создания и управления привилегиями пользователей в совокупности всех баз
данных предприятия. Администрирование привилегий промышленных пользователей
сделано в OID таким образом, что нет надобности в создании того же самого
пользователя в многочисленных базах данных, работающих grid-сети.
Дополнительно, работая с базой данных Oracle10g, теперь имеется
возможность хранения сертификации SSL (Secure Sockets Layer - протокол
защищенных сокетов) Свидетельство на интеллектуальной (smart) плате для
автоматического подключения (roaming) к grid-сети.
- Virtual Private Database (
Виртуальная частная база данных). "VPD
[Virtual Private Database - виртуальная частная база данных] обеспечивает
предписанное сервером детализированное (fine-grained) управление доступом и
безопасный контекст приложения, который может использоваться в
grid-установочных [параметрах], что дает возможность многочисленным клиентам,
партнерам и подразделениям, использующим одну и ту же самую базу данных, иметь
безопасный доступ к критически важным данным." - говорит Садха Ийер (Sudha
Iyer), главный продукт-менеджер Oracle Database Security. "VPD обеспечивает
доступ к данным per-user (по пользователям) или per-customer (по клиентам) в
единой базе данных с гарантией физического разделения данных. VPD допускает
для таблиц и представлений установку одной или нескольких политик защиты
(security policies)."
- Oracle Label Security (
Метки безопасности Oracle). Oracle Label
Security дает администраторам, используя механизм out-of-the-box (из блока
[формы]) на уровне строки - а теперь и на уровне столбца, - решение
безопасности для управления доступом к данным, основанное на их разрешающей
способности, что устраняет надобность ручного составления политик
безопасности. "Используя графический интерфейс Oracle Policy Manager,
администраторы могут быстро создавать и назначить политики безопасности от
Oracle Label Security на строки и столбцы в таблицах приложений." - говорит
Пауль Нидхам (Paul Needham), директор управления продуктами Oracle по Database
Security. "Кроме того, база данных Oracle10g теперь включает интеграцию
Oracle Label Security с OID, позволяя центрально управлять политиками
безопасности в динамически изменяющейся среде grid-сети."
Будущее Grid-технологии
Сеть Распределенных Вычислений (grid computing) предназначена, чтобы
существенно снизить стоимость вычислений и повысить готовность и используемость
вычислительных ресурсов в организациях и подразделениях. В рамках конкретного
предприятия должны быть испробованы различные стратегии совместного
использования и объединения ресурсов, часто с сопутствующими проблемами, которые
происходят как от совместного использования CPU, так и от чисто человеческого
нежелания совместно использовать ограниченные ресурсы. При перераспределении
ресурсов между предприятиями серьезным камнем преткновения встанут в течение
некоторого времени проблемы безопасности, хотя Oracle верит, что правильное
использование его технологии безопасности обеспечит достаточное основание для
того, чтобы расширить внутренние grid-сети за устройства межсетевой защиты
(firewall). И, наконец, если распределенные ресурсы должны быть доступны по
требованию (on demand), для обеспечения времени ответа, отвечающего требованиям
большинства приложений, сетевые скорости должны быть значительно выше, нежели
просто достаточны для конкретных партнеров.
Выделенные кластеры на серверах-лезвиях проложат путь бизнесу, что позволит
обойти многие барьеры при построении grid-среды. Новая база данных Oracle в
плане предоставления ресурсов поднимается на уровень промышленного
grid-стандарта. Плюс, grid-среда от Oracle отвечает всем эксплуатационным
требованиям grid - гибкость, мобильность, высокая готовность, защищенность и
масшабируемость. А системные программисты обретают полный арсенал
инструментальных средств Oracle, чтобы управлять grid.
Майкл Милей (Michael Miley -
mmiley@pacbell.net
) - внештатный писатель, живущий в
Sonoma, Калифорния.
|
Глоссарий Grid-технологий
Blades (Лезвия). Вычислительная система, в которой на единой
плате размещены процессоры и [оперативная] память, а другие ресурсы:
энергоснабжение, охлаждение, доступ к сети, доступ к внешней памяти
хранения данных, являются общими (разделяемыми) по всей совокупности
лезвий. Лезвия легко устанавливаются и удаляются, они меньше [по
размерам], чем серверы с оптимизированными стойками.
Clustering (Кластеризация). Соединение двух или больше
компьютеров вместе таким способом, что они ведут себя как единый
компьютер. Кластеризация используется для параллельной обработки,
балансировки нагрузки, повышения отказоустойчивости. Кластеризация -
популярная стратегия для того, чтобы реализовать параллельную обработку,
распределенные вычисления и grid-приложения, потому что она дает компаниям
возможность получить больший эффект от инвестиций, уже вложенных в
компьютеры. Кроме того, относительно несложно добавить новые центральные
процессоры, просто добавляя новый PC к сети; или, в случае
серверов-лезвий, добавляя новые лезвия или серверы, составленные из
лезвий.
Fibre Channel - FC (Волоконнно-оптический канал).
Последовательная архитектура передачи данных, разработанная консорциумом
изготовителей компьютеров и запоминающих устройств большой емкости, ныне
стандартизированная ANSI.
Самый известный FC-стандарт - Fibre Channel Arbitrated Loop (FC-AL).
FC-AL был разработан для новых запоминающих устройств большой емкости и
других периферийных устройств, которые требуют очень высокой пропускной
способности.
Используя оптическое стекловолокно для подключения устройств, FC-AL
поддерживает дуплексную передачу данных 100MBps. FC-AL совместим с SCSI и,
как ожидается, в конечном счете заменит SCSI для высокоэффективных систем
внешней памяти.
Gigabit and 10-Gigabit Ethernet. (Ethernet на 1 и 10 гигабит).
Ethernet – это самая распространенная всемирная сетевая технология.
Гигабитный Ethernet в 100 раз быстрее, чем первоначальный (10Mbps)
Ethernet, и в 10 раз быстрее, чем быстрый (100Mbps) Ethernet. Гигабитный
(1Gbps) Ethernet предлагает 1,000Mbps общей (raw) пропускной способности,
он совместим с существующими Ethernet. Гигабитный Ethernet уже широко
применяется как в корпоративных, так и сетях передачи данных общего
пользования. Тем временем, еще более быстрый Ethernet-стандарт на 10
гигабитов близится к завершению.
Grid (grid-архитектура). Виртуализация (virtualization)
вычислительных ресурсов уровня предприятия, включая серверы, сети, внешнюю
память и информацию, в один или более мощные пулы ресурсов. Эти ресурсы
могут быть динамически предоставляться (provisioned) по требованию
различных промышленных приложений и пользователей, что обеспечивает
динамическое выравнивание удовлетворение бизнес-потребностей и количество
задействованных IT-ресурсов.
InfiniBand (Канальная сетевая архитектура, сочетающая малое время
ожидания и высокую пропускную способность). Это и архитектура
ввода/вывода и спецификация для передачи данных между процессорами и
устройствами ввода/вывода, которая постепенно заменила входную шину PCI в
высокопроизводительных серверах и PC.
InfiniBand передает данные не параллельно, а последовательно и может
одновременно нести несколько каналов данных в мультиплексированном
сигнале. InfiniBand-каналы создаются путем прикрепления хост канальных
адаптеров (HCA - host channel adapter) и канальных адаптеров назначения
(TCA - target channel adapter) через InfiniBand-переключатели. HCA,
представляющие собой механизмы ввода/вывода, расположены на сервере. TCA
обеспечивают соединение инфраструктуры InfiniBand с устройствами удаленной
внешней памяти и вычислительными сетями. InfiniBand-архитектура способна к
поддержке десятков тысяч узлов в единой подсети.
LDAP. Аббревиатура для Lightweight Directory Access Protocol
(облегченный протокол службы каталогов). LDAP – это набор протоколов для
доступа к информационным каталогам. LDAP базируется на стандартах,
содержавшихся в стандарте каталога X.500, но он значительно более прост. И
в отличие от X.500, LDAP поддерживает TCP/IP, что является необходимым для
любого типа Интернет-доступа. LDAP позволяет практически любому
приложению, запускаемому на практически любой компьютерной платформе,
получить информацию каталога, как-то: адреса электронной почты и открытые
ключи (public keys).
NAS. Аббревиатура для network-attached storage (сетевое
запоминающее устройство). NAS – это сервер, который выделен для
совместного использования файлов. NAS не выполняет ни одного из тех
действий, которые обычно реализует сервер в центро-серверной системе,
как-то: электронная почта, аутоидентификация или управление файлами. NAS
позволяет добавить к сети большое пространство дисковой памяти, которая
используется [другими] серверы и не закрывается на время их обслуживания и
обновления.
Node (Узел). В вычислительных сетях узел - просто место
обработки данных. Узлом может быть компьютер, набор кластеризированных
лезвий или какое-либо другое устройство, например, принтер. Каждый узел
имеет уникальный сетевой адрес, иногда называемый DLC-адресом (Data Link
Control - управление каналом передачи данных) или MAC-адресом (Media
Access Control - протокол управления доступом к (передающей) среде).
RAID. Аббревиатура для Redundant Array of Inexpensive Devices -
массив недорогих устройств с избыточностью. Акроним, первоначально
введенный в статье 1988 исследователями Университета Беркли (Berkeley)
Паттерсоном (Patterson), Гибсоном (Gibson) и Кацем (Katz), чтобы описать
избыточный массив независимых дисков, обеспечивающий отказоустойчивость
(за счет избыточности) и улучшенные показатели доступа. RAID предоставляет
метод доступа к нескольким отдельным дискам, как к одному большому диску,
рассеивая доступные данные по этим нескольким дискам, что сокращает риск
потери всех данных, если один из дисков сбоит, и уменьшает время
доступа.
SAN. Аббревиатура для storage area network (архитектура
"сервер-хранилище данных"). SAN – это высокоскоростная подсеть
общедоступных запоминающих устройств. Запоминающее устройство (storage
device) - машина, которая включает только один или несколько дисков, чтобы
сохранить данные. Архитектура SAN работает таким образом, что все
запоминающие устройства доступны всем серверам в локальной или глобальной
сети. Коль скоро к SAN добавляются новые запоминающие устройства, они
также становятся доступными для любого сервера в общей сети.
SMP. Аббревиатура для symmetric multiprocessing (cсимметричная
многопроцессорная обработка). SMP - архитектура вычислительной системы,
которая обеспечивает быструю работу за счет задействования нескольких CPU,
способных одновременно выполнять индивидуальные процессы
(многопроцессорная обработка). В отличие от асимметричной обработки, любой
неактивный процессор может быть назначен любой задаче. Чтобы улучшить
производительность можно добавить дополнительные CPU и управлять
повышением нагрузки.
VPN. Аббревиатура для virtual private network (виртуальные
частные сети). VPN - частная сеть, которая создается с использованием
общественных каналов для подключения узлов. Существует несколько систем,
которые дают возможность создать сети с использованием Интернет. Эти
системы применяют кодирование и другие механизмы защиты для гарантии того,
что только авторизованные пользователи могут обратиться в такие сети.
|
|
Роль Linux в Grid
Linux – это лучшая ОС выбора для промышленного стандарта grid по
нескольким причинам. Во-первых, он не дорог у всех разнообразных
поставщиков, обеспечивающих полный диапазон дешевых услуг поддержки. Linux
- это многопользовательская, многозадачная сетевая операционная система,
что обеспечивает чрезвычайную устойчивость, он может годами безотказно
функционировать. Linux обеспечивает очень высокую эффективность в товарных
системах низкой стоимости; компании формируют Linux-кластеры из дешевых PC
и серверов-лезвий, которые конкурируют с вычислительной мощностью
многомиллионных супер-ЭВМ. И, наконец, разработчики Linux - фанатики
несокрушимого соответствия с общими и промышленными стандартами - что
является важнейшей особенностью. Любое предприятие, строящее внутреннюю
grid-сеть, в будущем будет способно к общению с другими внешними
grid-сетями.
Oracle поддерживает все компоненты и стандарты для обычной
grid-архитектуры: серверы-лезвия, межсоединения (interconnects) и ОС Linux
(Red Hat или United Linux) - в дополнение к другим возможным
grid-компонентам в гетерогенных установках; например, серверы Sun 64-CPU
SMP с ОС Solaris. Когда используется Oracle, платформа – не является
проблемой. |
|