X

News, tips, partners, and perspectives for the Oracle Solaris operating system

Создание агентов Sun Cluster для простых задач.

Guest Author
На различных форумах я часто встречаю вопросы, подобные следующему:
  • Как отправлять сообщение электронной почты в случае перехода группы ресурсов на резерв после сбоя?
  • Как автоматизировать внесение изменений в данный файл настроек непосредственно перед запуском моего приложения кластером SunCluster?

  • Все эти вопросы можно считать вариантом следующего вопроса: "Как запустить собственный сценарий для выполнения специальной задачи непосредственно до/после запуска определенного ресурса/группы?"
    Как известно пользователям, уже знакомым с SunCluster, для выполнения этих задач необходим Агент, а в состав пакета SunCluster не входят такие средства, как графический интерфейс средства создания агента Sun Cluster и модель универсальной службы данных ( GDS) (также поддерживается scdsbuilder). Эти средства скорее предназначены для работы с "приложениями", в том смысле, что предполагают наличие набора выполняющихся демонов/процессов уровня пользователя, которые и составляют приложения.
    Работа с различными типами приложений сама по себе является достаточно сложной темой, для сегодняшней записи в блоге я вкратце расскажу об очень простом подходе. Подход состоит из нескольких очень простых этапов.
    - Создайте сценарий, выполняющий определенное необходимое действие. Например #!/bin/ksh logger -p user.notice Start script called with $\* exit 0 Обратите внимание на "exit 0" в конце сценария; при каждом вызове вашего сценария платформой SunCluster это указывает пакету SC на успешность выполнения операции запуска Замените команду записи в системный журнал на любую другую необходимую вам команду.
    Предположим, этому сценарию было дано имя startmyscagent.
    - Создайте сценарий, выполняющий действие STOP для объекта, использовавшегося в сценарии запуска. Пропустите данный этап, если это не требуется. Мы будем использовать для действия STOP /bin/true.
    - Установите сценарии в определенном месте на всех узлах кластера, допустим, в каталог /opt, например, в подкаталог /opt/myscagent.
    - Создайте файл регистрации типа ресурса (RTR) для вашего агента. Назовите его "myscagent.rtr". Файл будет подобен следующему (скопируйте код и вставьте его в используемый вами редактор). RESOURCE_TYPE = "myscagent"; START=/opt/myscagent/startmyscagent; STOP=/bin/true; Вот и все! "Разработка агента" завершена! Теперь вы можете использовать команды администрирования SunCluster для регистрации данного типа ресурса и создания ресурса этого типа. Например.
    - scrgadm -at myscagent -f /opt/myscagent/myscagent.rtr - scrgadm -ag RG1 - scrgadm -og RG1 - scrgadm -aj myresource1 -g RG1 -t myscagent - scswitch -ej myresource1
    Теперь созданный сценарий запуска будет запускаться при каждом запуске группы ресурсов. Иногда необходимо, чтобы сценарий запуска для myscagent вызывался \*непосредственно перед\* другим существующим ресурсом в кластере Например, для обеспечения того, чтобы сценарий запуска всегда вызывается ДО запуска ресурса с именем "resource2": - scrgadm -c -j resource2 -y Resource_dependencies=myresource1 Безусловно, этот подход очень примитивен. Он не различает разные ресурсы одного типа. Выполняется одно и то же действие независимо от количества созданных ресурсов типа "myscagent". Безусловно, вы можете создать другой агент с именем "myotherscagent" или каким-либо другим именем, но если действия, выполняемые двумя типами ресурсов, очень похожи, поддержка сильно усложняется. Кроме того, отсутствуют понятия свойств ресурса и наблюдения за ресурсами, а также не показана реализация более сложных методов, таких как VALIDATE и MONITOR_CHECK и т.д.
    Хотя для выполнения простых задач этот подход отлично подходит, и при этом вы непосредственно ознакомится с вызовом диспетчером Resource Group Manager (RGM) пакета SunCluster методов для реализаций типов ресурсов.
    Подробные сведения приведены в Руководстве разработчика агента Sun Cluster на веб-узле Sun Docs.
    Ашутош Трипатхи Старший инженер-программист, SunCluster Engineering

    Be the first to comment

    Comments ( 0 )
    Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha
    Oracle

    Integrated Cloud Applications & Platform Services