Каковы основные особенности построения кластерных систем высокой готовности с использованием ПО Oracle Real Application Clusters при их развертывании на базе существующей ИТ-инфраструктуры?


Photo Олег Бессонов,
директор по технической поддержке компании "ФОРС - Центр разработки"
Bessonov@fors.ru

При развертывании системы на основе Oracle Real Application Clusters (RAC) на базе уже существующей ИТ-инфраструктуры в первую очередь необходимо уделить внимание возможности переноса существующих прикладных систем в среду RAC. Это связано с тем, что приложения могут потребовать некоторых доработок. В книге из комплекта технической документации Oracle Real Application Clusters Deployment and Performance Guide детально описаны возможные проблемы и пути их устранения - весьма рекомендую изучить этот труд. После получения некоторых теоретических представлений о масштабе стоящих перед вами задач было бы полезно обратиться к практике и провести ряд испытаний на тестовом оборудовании. К слову, в Лаборатории решений ФОРС по просьбе заказчиков и партнеров проводятся самые различные испытания, в том числе и такие.

Если по результатам тестирования будет принято решение о развертывании системы на основе RAC, то следует помнить, что она сама по себе не является системой высокой доступности. Исходя из этого, необходимо уделить особое внимание средствам и способам, обеспечивающим отказоустойчивость жизненно важных узлов системы, таким, как разделяемое дисковое поле, interconnect и т. д.

Для развертывания кластерной системы необходимо иметь дистрибутив Oracle RAC, который будет устанавливаться на используемом в качестве платформы оборудовании. Это означает, что необходимо позаботиться и о "железе". Кластерное оборудование должно отвечать следующим требованиям:

  • иметь сертификацию компании Oracle для данной платформы;
  • включать несколько компьютеров-узлов, соединенных высокоскоростной линией связи (high speed interconnect); разделяемый доступ к диску на чтение/запись (shared disk) при этом имеют все узлы кластера;
  • установленная ОС должна работать в кластерной среде (наличие кластерной файловой системы не обязательно).


Photo Алексей Лобанов,
руководитель Центра разработки инфраструктурных решений компании "Ай-Теко"
icentre@i-teco.ru

Главная особенность Oracle Real Application Clusters (RAC) состоит в том, что это кластер, где все узлы (серверы) активны. На каждом узле выполняется экземпляр Oracle, экземпляры одновременно работают с одной и той же базой данных. Это означает, что они должны синхронизировать друг с другом изменения, производимые в этой базе. Для обмена информацией об изменениях экземпляры на узлах RAC используют сеть heartbeat. Чем больше узлов RAC работает с общими таблицами и чем интенсивнее производимые в них изменения, тем выше требования к производительности сети heartbeat. Если приложение изначально ориентировано на работу под управлением RAC, то для реализации сети heartbeat достаточно VLAN на основе гигабитного Ethernet. Мой опыт участия в подготовке демонстрации Oracle Grid Computing на прошедшем год назад Oracle Tech Forum (http://www.oracle.com/global/ru/events/techforum/presentations.html) показывает, что с нагрузкой восьмиузлового кластера справился один коммутатор Cisco Catalyst 3750G24T. В промышленной системе для повышения отказоустойчивости следует использовать два независимых коммутатора.

В случае неоптимизированных для работы под управлением RAC приложений - а таких большинство - латентность, привносимая Ethernet, может оказаться слишком большой. Поэтому вместо Ethernet лучше выбрать сети с низкой латентностью, например, Infiniband. Взаимодействие в сети heartbeat у RAC организовано по протоколам TCP или UDP, которые вносят дополнительные задержки во взаимодействие узлов RAC. Чтобы снизить эти задержки, можно использовать низколатентный протокол LLT, реализованный в кластерной технологии компании Veritas (теперь Symantec), поставляемой в составе пакета Storage Foundation HA for Oracle RAC. По оценкам руководителя группы пресейлов российского представительства Symantec Сергея Грищенко, латентность при использовании LLT существенно снизится по сравнению с использованием TCP или UDP и это позволит обойтись без дорогостоящего оборудования Infiniband.

Применение входящей в состав Veritas Storage Foundation HA for Oracle RAC кластерной файловой системы позволяет решить еще одну проблему, связанную с использованием RAC. Архивы журналов могут храниться только в файловой системе (в Oracle 10g для этой цели может использоваться ASM). Поэтому, если не применить кластерную файловую систему с разделяемым доступом между узлами RAC, архивы журналов Oracle будут храниться на локальных дисках каждого из узлов RAC. Выход из строя одного из узлов повлечет за собой не только потерю незавершенных изменений в базе, выполненных этим узлом, но и архивов журналов, необходимых для восстановления этих изменений. Чтобы этого не случилось, Oracle рекомендует держать архивы журналов в общедоступном для всех узлов месте. Идеальное для этого решение - кластерная файловая система Veritas.