Приложение C. Поведение ресурсов высокой готовности

В данном приложении рассматривается типичное поведение ресурсов высокой готовности с целью облегчения настройки соответствующих служб. Настройка параметров может осуществляться при помощи luci или напрямую в файле /etc/cluster/cluster.conf. Приложение B, Параметры ресурсов содержит перечень параметров. Ознакомиться с принципами работы агентов ресурсов можно, просмотрев сценарии в каталоге /usr/share/cluster любого узла кластера.

Примечание

Для того чтобы усвоить приведенную здесь информацию в полном объеме, требуется понимание принципов функционирования агентов ресурсов и знание структуры файла /etc/cluster/cluster.conf.
Служба высокой доступности представляет собой группу кластерных ресурсов, объединенных в единое целое. В файле конфигурации /etc/cluster/cluster.conf эта структура представлена в виде дерева ресурсов в формате XML.

Примечание

В силу иерархической организации ресурсов схему высокой готовности также называют деревом ресурсов или группой ресурсов.
В корне дерева ресурсов лежит специальный тип ресурса — ресурс службы. Другие типы определяют остальные характеристики. Процесс настройки дерева ресурсов включает создание ресурса службы, подчиненных ресурсов кластера и объединение их в единое целое в соответствии с иерархическими ограничениями.
Содержание приложения:

Примечание

Фрагменты файла /etc/cluster/cluster.conf в следующем разделе приведены только в целях демонстрации.

C.1. Отношения между ресурсами — родительские, дочерние, параллельные.

Кластерная служба представляет собой интегрированный объект под управлением rgmanager. Ее ресурсы работают на одном и том же узле. С позиции rgmanager служба является единым объектом, который можно запустить, остановить или переместить. Однако иерархия ресурсов в ее составе определяет порядок запуска и остановки каждого ресурса. Стандартные уровни иерархии включают родительский, дочерний и родственный (отношения между объектами одного уровня).
Пример C.1, «Иерархия ресурсов службы foo» демонстрирует пример простого дерева ресурсов службы foo. Отношения между ресурсами:
  • fs:myfs (<fs name="myfs" ...>) и ip:10.1.1.2 (<ip address="10.1.1.2 .../>) являются родственными.
  • fs:myfs (<fs name="myfs" ...>) является родителем script:script_child (<script name="script_child"/>).
  • script:script_child (<script name="script_child"/>) является дочерним для fs:myfs (<fs name="myfs" ...>).

Пример C.1. Иерархия ресурсов службы foo

<service name="foo" ...>
    <fs name="myfs" ...>
        <script name="script_child"/>
    </fs>
    <ip address="10.1.1.2" .../>
</service>
Для родительских и дочерних отношений в дереве ресурсов определяются следующие правила:
  • Родительские ресурсы запускаются перед дочерними.
  • Дочерние ресурсы должны буть корректно остановлены перед остановкой родительского ресурса.
  • При вынесении решения о состоянии ресурса учитывается состояние всех его дочерних ресурсов.