
Март 2005
Тема номера: Системы высокой готовности
Анджело Прушино,
Гордон Смит
Oracle Real Application Clusters
10g:
Четвертое поколение
(Oracle Real Application Clusters 10g :The Fourth Generation,
by Angelo Pruscino, Oracle, and Gordon Smith, Oracle)
Источник: доклад на конференции Oracle World, Сан-Франциско, 2003,
http://download-west.oracle.com/owsf_2003/40131.doc
Введение
Oracle Real Application Clusters (RAC) 10g полностью сосредоточен на управлении. Усовершенствования управления в Oracle RAC 10g и Oracle Database 10g сами по себе в значительной степени уменьшают расходы на администрирование и обеспечивают новые уровни гибкости, которые делают предприятия более адаптивными, действенными и проворными. Oracle RAC 10g служит ключевой фундаментальной технологией для сети (grid) предприятия – базиса вычислений 4-го поколения. Oracle Database 10g также устраняет остававшиеся барьеры, которые препятствовали всеобщему принятию технологии Oracle RAC, делая возможной цель “RAC для каждого”.
Сети предприятия – вычисления 4-го поколения
Подобно более ранним прорывным технологиям, сети предприятий (enterprise Grids) призваны оказать глубокое воздействие на бизнес. Технологии 1-го поколения – системы анализа бизнес-информации (BI) и управления отношениями с заказчиками (CRM) – давали возможность предприятиям лучше, чем когда-либо прежде, узнать своих заказчиков. Технологии 2-го поколения – Интернет и электронная коммерция – позволили предприятиям достигать своих заказчиков способами, которые никогда прежде нельзя было даже предположить. 3-е поколение – крупномасштабные компьютеры с симметричным мультипроцессированием (SMP) и кластеры из больших SMP-компьютеров – сделало возможным консолидацию серверов для значительного повышения эффективности.
Сегодня ИТ-организации на предприятиях подвергаются огромному давлению, чтобы добиться от них самого высокого качества обслуживания (в терминах максимальной готовности и масштабируемости) при самой низкой стоимости и на самом высоком уровне эффективности и гибкости. Короче говоря, заказчики желают, чтобы ИТ делали намного (и даже очень намного) больше за намного (и даже очень намного) меньшую цену.
Сети предприятия делают достижимыми эти кажущиеся абсолютно невозможными вызовы. Сети предприятия, составленные из крупных конфигураций самых дешевых и выпускаемых в массовых количествах кластеров, в значительной степени уменьшают стоимость аппаратного оборудования. Технология Oracle RAC позволяет этим дешевым аппаратным платформам обеспечить самое высококачественное обслуживание, которое успешно конкурирует с уровнями готовности и масштабируемости, достигнутыми самыми дорогими мэйнфреймами и компьютерами с SMP, и даже превосходит их. А теперь, значительно сократив расходы на администрирование и обеспечивая новые уровни гибкости администрирования, Oracle открывает для пользователей среду сетей предприятия 4-го поколения.
Сети предприятий окажут на них глубокое воздействие, позволив предприятиям быть более адаптивными, действенными и “шустрыми”. Благодаря сетям предприятия, центры обработки данных получат возможность динамично изменять свою “индивидуальность”, чтобы в каждый момент времени соответствовать изменяющимся требованиям бизнеса – как раз вовремя. Рабочими нагрузками приложений можно будет управлять, как сервисами, которые должны соответствовать определенным уровням качества. Вычислительные ресурсы и память будут назначаться сервисам гибким образом, что послужит гарантией достижения требующегося уровня качества обслуживания. Каждый процессорный узел или компонент памяти в сети может почти мгновенно изменить свою индивидуальную специализацию без какого-либо времени простоя для любого приложения.
Крупномасштабные усилия
Сфокусированность Oracle RAC 10g на управляемости является частью намного больших усилий всей Oracle Database. Эти усилия начинались с выпуском Oracle9i Database, в которой половина эксплуатационных расходов на администрирование Oracle Database была устранена за счет улучшения функций управления. Они были продолжены и в Oracle Database 10g, где цель состояла в том, чтобы снова наполовину сократить остающееся время и усилия на администрирование базы данных. Все эти усовершенствования напрямую повышают управляемость сред Oracle RAC, поскольку RAC является составным компонентом базы данных.
Наиболее существенным достижением этих усилий стал успех в автоматизации многих из самых продвинутых и уникальных технологий Oracle. Легко сделать удобными функциональные возможности, которые просты сами по себе и имеют ограниченные возможности. Истинная проблема состоит в том, чтобы заставить наиболее продвинутые возможности работать “коробочным” образом (то есть, сделать их "продуктом, готовым к использованию сразу же после установки" – out of box – прим. переводчика). Были полностью автоматизированы основные функциональные области наиболее продвинутых и уникальных технологий Oracle, включая:
Управление сегментами отката . Ранее сегментами отката, которые дают Oracle Database ее уникальную возможность эффективно поддерживать смешанные рабочие нагрузки OLTP/DSS, было трудно управлять, но теперь для них не требуется никакой настройки.
Управление резервным копированием и восстановлением . Лучшие в отрасли возможности резервного копирование и восстановления Oracle Database теперь полностью автоматизированы Oracle Recovery Manager.
Управление буферной памятью . Сложные механизмы частных и общедоступных глобальных областей буферной памяти Oracle Database стали ключевой причиной рекордных значений масштабируемости и производительности Oracle. Они теперь не требуют никакой настройки.
Управление памятью . Oracle Automatic Storage Manager 10g полностью устраняет потребность в настройке ввода-вывода, автоматически балансируя размещение данных по дискам для достижения оптимальной производительности
Что такое RAC?
RAC позволяет Oracle Database выполнять реальные приложения на кластерах. Oracle является единственной открытой системой баз данных, располагающей такой возможностью. Oracle RAC поддерживает господствующие бизнес-приложения всех видов. В их число входят популярные пакетированные продукты типа SAP и комплекта Oracle E*Business Suite, а также приложения собственной разработки. Сюда включаются и OLTP, и DSS. И, конечно, сюда же относится уникальная способность Oracle эффективно поддерживать смешанные среды OLTP/DSS.
Выполняющийся на кластере Oracle RAC обеспечивает Oracle самый высокий уровень возможностей в терминах готовности, масштабируемости и дешевизны вычислений. Если в кластере выходит из строя узел, Oracle продолжает эксплуатировать остающиеся узлы. Если необходимо больше вычислительной мощности, к кластеру можно легко добавить новые узлы. Чтобы сохранить затраты невысокими, даже самые высокоуровневые системы можно построить из маленьких, очень дешевых кластеров, сделанных из стандартизированных, массово производимых частей.
Oracle – это единственная открытая система баз данных с такой возможностью. Ключевой инновацией Oracle стала технология, получившая название слияния кэшей (cache fusion), первоначально разработанная для Oracle9i Real Application Clusters. Слияние кэшей позволяет узлам кластера синхронизировать свою кэш-память, эффективно используя быстродействующее межузловое соединение кластера так, чтобы дисковый ввод-вывод был сведен к минимуму. Тем не менее, вершиной всего является то, что слияние кэшей делает возможным коллективный доступ ко всем данным на диске для всех узлов кластера. Нет нужды разделять данные между узлами.
Программное обеспечение других баз данных, которое претендует на то, что его можно эксплуатировать на кластерах, требует, чтобы данные базы данных были разделены. Это просто практически невозможно для реальных приложений со сложными структурами данных. Кроме того, подобное требование делает изменения в кластерных системах почти невозможными. Если вы добавляете или удаляете узлы или ресурсы памяти, данные должны быть полностью перераспределены между узлами.
Oracle RAC делает возможным применение сетей предприятия. Они являются центрами данных будущего. Сети предприятия построены из больших конфигураций стандартизированных, массово выпускаемых (и поэтому дешевых) компонентов: процессоров, сетевых компонент и запоминающих устройств. Технология слияния кэшей Oracle RAC обеспечивает самые высокие уровни готовности и масштабируемости. И теперь Oracle Database 10g и Oracle RAC 10g в значительной степени сокращают эксплуатационные затраты и обеспечивают новые уровни гибкости, так что системы для вычислений 4-го поколения становятся более адаптивными, действенными и “шустрыми”. Динамическая подготовка к работе узлов, запоминающих устройств, центральных процессоров и памяти и их предоставление пользователям, позволяет легко и эффективно поддерживать уровень обслуживания при дальнейшем снижении затрат благодаря улучшению их использования.
Новое в Oracle Real Application Clusters 10g
Ниже приводятся ключевые цели для Oracle RAC 10g. Далее мы более подробно обсудим каждую из этих областей.
- Устранение потребности в компонентах программного обеспечения от третьих фирм, которые значительно повышают сложность и стоимость кластерных сред. Для этого предлагается полный стек решений Oracle.
Объединенное программное обеспечение кластеризации Oracle RAC 10g обсуждается ниже. Другой основной компонент этих усилий – Oracle Automatic Storage Manager (ASM) 10g – обсуждается в докладах на выставке Oracle OpenWorld “Автоматическое управление запоминающими устройствами – новые лучшие методы” и “Автоматическое управление запоминающими устройствами: технический доклад”.
- Управление кластерными средами как единым интегрированным образом системы.
- Автоматизация функций управления типа управления рабочей нагрузкой, которые ранее нужно было выполнять вручную.
- Повышенная интеграция со всеми другими возможностями и функциями Oracle, чтобы они прозрачно и полностью поддерживали среды RAC.
- Новые и улучшенные инструменты для проверки правильности конфигурирования кластера и помощи при точном и быстром определении источника проблем.
- Усовершенствования производительности, которые принесут пользу многим приложениям.
- Исправления, позволяющие добиться нулевого времени простоя для кластерных сред Oracle RAC.
Управление интегрированным программным обеспечением кластеризации
Oracle RAC 10g предлагает полное решение для управления программным обеспечением кластеризации как составной компонентой Oracle RAC 10g, причем это решение доступно для выполнения на всех платформах Oracle Database 10g. Функциональные возможности программного обеспечения кластеризации включают механизмы для объединения, обмена сообщениями и блокировок в кластере, управления кластером и его восстановления, а также каркас (framework) для предоставления услуг (обсуждается ниже). Не требуется покупать никакого программного обеспечения для управления кластеризацией от третьих фирм. Однако, Oracle продолжит поддержку отдельных выбранных продуктов программного обеспечения кластеризации от третьих фирм на конкретных платформах.
Рисунок 1. Интегрированное управление программным обеспечением кластеризации в Oracle RAC 10g
Интегрированное управление программным обеспечением кластеризации в Oracle RAC 10g предлагает следующие преимущества:
- Низкая цена
. Oracle не запрашивает дополнительный платы за эти возможности.
- Поддержка от единственного поставщика
. Становится невозможным свалить вину за неудачи на других поставщиков.
- Более простая инсталляция, конфигурирование и непрекращающееся обслуживание
. Функциональные возможности программного обеспечения кластеризации Oracle RAC 10g инсталлируются, конфигурируются и обслуживаются с использованием стандартных инструментов управления Oracle Database. Не требуется никаких дополнительных шагов интеграции.
- Согласованное высокое качество на всех платформах
. Oracle способен выполнить намного более интенсивное тестирование новых выпусков программного обеспечения, чем это можно с продуктами третьих фирм.
- Согласованные функциональные возможности на всех платформах
. К примеру, некоторые продукты программного обеспечения кластеризации третьих фирм ограничивают количество узлов, которые могут поддерживаться в кластере. При использовании Oracle RAC 10g на всех платформах поддерживается до 64 узлов.
- Поддержка расширенных функциональных возможностей
. При использовании Oracle RAC 10g к таким возможностям относятся возможности интегрированного управления событиями, позволяющие в случае отказа обеспечить быстрое, скоординированное восстановление, как на уровне базы данных, так и на уровне приложения (См. ниже раздел “Сквозная интеграция”).
Управление единым образом системы
Oracle Enterprise Manager 10g был значительно расширен, чтобы сделать возможным истинное управление единым образом системы при развертываниях базы данных кластера. Страница Cluster Database в Enterprise Manager обеспечивает единое представление состояния системы из нескольких узлов. К тому же, в случае необходимости с нее возможен непосредственный переход вниз, на уровень индивидуальных экземпляров.
Рисунок 2. Страница единого образа системы для базы данных кластера Oracle RAC 10g
С этой страницы вы можете:
- Просмотреть статус системы в целом, например, количество узлов в базе данных кластера и их текущий статус
- Просмотреть предупреждения об опасности, агрегированные по всем экземплярам, и опуститься вниз до уровня источника каждого предупреждения и дополнительных деталей
- Установить порог для генерации предупреждений об опасности для всей базы данных кластера
- Вести мониторинг метрик производительности, агрегированных по всем экземплярам или показанных рядом друг с другом, так, чтобы можно было легко сравнить экземпляры, с дополнительным погружением вниз в случае необходимости
- Вести мониторинг статистики когерентности кэшей кластера (например, глобальных попаданий в буфер и т.д.)
- Выполнять операции для всей базы данных кластера, включая возможность легко добавлять и удалять серверы, запускать/останавливать серверы, инициировать операции резервного копирования и восстановления, и так далее.
Кроме того, Oracle Enterprise Manager 10g предлагает страницу кластера (Cluster Page), для просмотра платформы аппаратных средств кластера и его операционной системы как целого, в котором может поддерживаться несколько баз данных. К статусу платформы кластера в целом можно без труда обратиться, после чего в случае необходимости можно с легкостью погрузиться вниз, на уровень индивидуальных баз данных.
Автоматическая подготовка сервисов к работе
Oracle Database 10g позволяет определять рабочие нагрузки приложений как сервисы, чтобы можно было индивидуально управлять ими и контролировать их. В средах Oracle RAC 10g можно определить правила для автоматического назначения вычислительных ресурсов сервисам. Эти правила могут быть динамически изменены, чтобы соответствовать изменяющимся бизнес-потребностям. Кроме того, правила могут быть определены таким образом, чтобы автоматически перераспределять вычислительные ресурсы в случае возникновения состояния отказа, чтобы можно было гарантировать, что самые высокоприоритетные сервисы продолжают соответствовать требуемым уровням обслуживания.
Например, набор программ Oracle E*Business Suite может определить сервис для каждой ответственности, типа главной книги, дебиторской задолженности, ввода заказов и так далее. Приложения промежуточного уровня и клиенты выбирают сервис, определяя имя сервиса как параметр при подключении к базе данных. В случае необходимости для обработки индивидуальных сервисов или нескольких сервисов могут быть назначены экземпляры Oracle RAC 10g. Эти правила распределения ресурсов могут быть изменены, скажем, в конце квартала, чтобы гарантировать, что имеется достаточный объем вычислительных ресурсов, чтобы вовремя закончить критичные финансовые функции. Кроме того, правила могут быть определены таким образом, чтобы при выходе из строя экземпляров, на которых выполняются критичные сервисы, рабочую нагрузку можно было автоматически перенести на экземпляры, выполняющие менее критичные рабочую нагрузку, а затем, когда вышедшие из строя экземпляры будут восстановлены, вернуться к прежнему распределению нагрузки.
Рисунок 3. Пример предоставления сервисов в 6-узловом кластере
Средство Oracle Automatic Workload Repository 10g позволяет АБД управлять производительностью сервисов. Для каждого индивидуального сервиса автоматически собираются метрики времени ответа, потребления центрального процессора и другие данные. Приложения могут даже активировать сбор детальных данных о производительности путем включения в код программы тэгов, идентифицирующих внутри сервиса операции MODULE и ACTION в породившем сервис приложении. Графический показ в Oracle Enterprise Manager 10g облегчает идентификацию сервисов, являющихся главными по потреблению центрального процессора и другим метрикам, с последующим погружением вниз к главным модулям и главным действиям для каждого сервиса. Для времени ответа и других метрик уровня обслуживания могут быть установлены пороги, чтобы при превышении уровня этих порогов автоматически генерировались тревожные предупреждения.
Интеграция промежуточного уровня для обеспечения высокой готовности и выравнивания нагрузки
Новые функциональные возможности интегрированного управления программным обеспечением кластеризации Oracle RAC 10g делают возможным скоординированное быстрое восстановление и динамическое выравнивание нагрузки между базой данных и промежуточными уровнями приложений. С самого начала Oracle RAC 10g поддерживает этими возможностями Oracle Application Server 10g, и будет поддерживать дополнительные продукты промежуточного уровня в будущем.
Функциональные возможности программного обеспечения кластеризации Oracle RAC 10g позволяют обнаружить, когда экземпляры выходят из строя, и когда они возвращаются в строй. Весьма гибкая система уведомления о событиях немедленно сигнализирует промежуточному уровню приложения, чтобы могли быть применены соответствующие самокорректирующиеся процедуры восстановления. Обычно это приводит к уменьшению времени восстановления от многих минут до всего нескольких секунд.
Промежуточные уровни приложений могут также поддерживать динамическое выравнивание нагрузки для рабочих нагрузок базы данных. На общедоступных аппаратных средствах может быть потенциально удовлетворено несколько соглашений об уровне обслуживания (Service Level Agreement – SLA) для различных услуг. Сервисы с возможностями самоконтроля предлагаются Oracle Automatic Workload Repository 10g и Resource Manager 10g.
Интеграция Data Guard для восстановления после чрезвычайных ситуаций
При использовании Oracle Enterprise Manager 10g, управляющий компонент Oracle Data Guard – Data Guard Broker – теперь полностью интегрирован с RAC. Средами восстановления после чрезвычайных ситуаций Data Guard, использующими базы данных Oracle RAC, можно управлять так же легко, как и теми, которые используют единственный экземпляр базы данных.
Автоматическое предоставление сервиса может использоваться для переключения сервиса на резервную систему в случае чрезвычайной ситуации, чтобы гарантировать, что самые критичные сервисы могут поддерживаться на требующемся уровне обслуживания, в то время как низкоприоритетные сервисы могут выполняться в урезанном объеме, или вообще не выполняться. Это может уменьшить затраты, так как позволяет сконфигурировать резервную систему с меньшей суммарной мощностью, чем у первичной системы.
Верификация кластера и улучшенные диагностические инструменты
В Oracle Database 10g вводится новый инструмент верификации конфигурации кластера, а также усовершенствования диагностических инструментов, ранее представленных в выпуске базы данных Oracle9i Database. Вместе эти инструменты помогают пользователям избегать проблем и более быстро решать проблемы, если они будут иметь место.
Инструментальное средство верификации кластера устраняет ошибки путем подтверждения его правильности до и после каждого шага инсталляции и/или изменений конфигурации. Это средство может также использоваться для постоянно действующего подтверждения правильности кластера. Инструмент вызывается через интерфейс командной строки или через API другими программами типа OUI, OEM, DBCA и ASM. Инструмент верификации кластера будет сделан доступным в специальном выпуске уже после того, как станет доступной Oracle Database 10g.
Диагностические инструменты в Oracle Database 10g были улучшены для того, чтобы способствовать целям улучшения времени разрешения проблем, уменьшения потребности в воспроизведении проблем, простоты использования и сведения к минимуму накладных расходов (непроизводительных издержек) базы данных. Кроме того, инструментальными средствами для генерации диагностических данных трассировки было оснащено намного большее количество исполняемых файлов Oracle Database. Диагностические инструменты полезны и для кластерных, и для обычных сред. Диагностические инструменты должны использоваться только под руководством службы поддержки Oracle (Oracle Support).
Совершенствование производительности
Несколько новых оптимизаций в Oracle RAC 10g предложат усовершенствования производительности для многих приложений. К их числу относятся оптимизация, уменьшающая трафик сообщений, использование памяти и потребление других ресурсов. Кроме того, родственность (affinity) динамических файлов и блокировок будет способствовать росту производительности при перемещении рабочих нагрузок между экземплярами.
Исправления, позволяющие добиться нулевого времени простоя
Сегодня Oracle поддерживает чередующийся способ применения исправлений (патчей) к узлам системы RAC, позволяющий избежать потери приложением времени. Патчи применяются к одному узлу за раз, в то время как другие узлы в системе RAC продолжают эксплуатироваться. В зависимости от выполняемых патчем изменений, патчи будут помечены либо как подходящие для проведения апгрейда чередующимся образом, либо как не подходящие. Oracle ожидает, что большинство патчей будут подходящими для проведения апгрейда чередующимся образом, но некоторые патчи, которые изменяют общие структуры, совместно используемые несколькими экземплярами, или контент базы данных, не будут такими. Кроме того, только индивидуальные патчи, а не наборы патчей, будут подходящими для обновления чередующимся образом.
Рисунок 4. Пример патчей для 3-узлового кластера, которые будут подходящими для обновления чередующимся образом, с нулевым временем простоя
Заключение/Итоги
Версия Oracle Database 10g и определенные новые усовершенствования управляемости, предлагаемые Oracle RAC 10g, делают возможной идею “RAC для каждого” – повсеместное принятие Oracle RAC всеми типами предприятий для всех типов приложений и сетей предприятий (enterprise grids) – базиса вычислений 4-го поколения. Сети предприятия строятся из больших конфигураций стандартизированных, выпускаемых в массовых количествах (и поэтому недорогих) компонентов: процессоров, сетевых устройств и запоминающих устройств. При использовании технологии слияния кэшей Oracle RAC, Oracle Database добавляет к этому самые высокие уровни готовности и масштабируемости. И теперь, когда Oracle Database 10g и Oracle RAC 10g в значительной степени сокращают эксплуатационные затраты, становятся возможными новые уровни гибкости путем динамического предоставления узлов, запоминающих устройств, центральных процессоров и памяти, чтобы более легко и эффективно поддерживать уровни обслуживания при дальнейшем понижении стоимости путем улучшения использования. Сети предприятия являются центрами обработки данных будущего и позволяют предприятию стать адаптивным, действенным и проворным представителем 4-го поколения.
|