Поведение ресурсов высокой доступности
В данном приложении описано общее поведение ресурсов высокой доступности. Основное назначение приложения - предоставить информацию, которая может оказаться полезной при настройке сервисов высокой доступности. Настраивать параметры можно при помощи
Luci,
system-config-cluster
или непосредственного редактирования файла
etc/cluster/cluster.conf
. Описание параметров ресурсов высокой доступности приведено в
приложении C, Параметры ресурса высокой доступности. Понять детали функционирования агентов ресурсов можно, просмотрев сценарии в каталоге
/usr/share/cluster
любого узла кластера.
Замечание
Для того, чтобы усвоить приведенную в данном приложении информацию в полном объеме, потребуется понимание деталей функционирования агентов ресурсов и конфигурационного файла /etc/cluster/cluster.conf
.
Сервис высокой доступности представляет собой группу кластерных ресурсов, настроенных в качестве единой сущности, которая, в свою очередь, предоставляет клиентам специализированные сервисы. В конфигурационном файле /etc/cluster/cluster.conf
сервис высокой доступности представлен в виде дерева ресурсов. В конфигурационном файле кластера каждое дерево ресурса - XML-представление, описывающее каждый ресурс, его атрибуты и отношения с другими ресурсами в дереве (родительские, дочерние, отношения между ресурсами одного уровня).
Замечание
Поскольку сервис высокой доступности состоит из ресурсов, организованных в виде иерархического дерева, сервис, также, часто называют деревом ресурсов или группой ресурсов. Обе приведенные фразы являются синонимами сервиса высокой доступности.
Вершиной каждого дерева ресурсов является специальный тип ресурса — сервис (Service). Прочие типы ресурсов, составляющих сервис, определяют его характеристики. Процесс настройки сервиса высокой доступности состоит из создания ресурса сервиса, создания подчиненных ресурсов кластера и организации их в объект, соответствующий иерархическим огрничениям сервиса.
Данное приложение состоит из следующих разделов:
Замечание
Фрагменты файла конфигурации /etc/cluster/cluster.conf
в следующем разделе приведены только для наглядной демонстрации.
Отношения между ресурсами - родительские, дочерние, а также отношения между ресурсами одного уровня
Кластерный сервис представляет собой интегрированный объект, работающий под управлением rgmanager
. Все ресурсы сервиса работают на одном и том же узле. С позиции rgmanager
кластерный сервис является единым объектом, который можно запустить, остановить или переместить. Тем не менее, иерархия ресурсов в сервисе определяет порядок запуска или остановки каждого ресурса. Определены следующие уровни иерархии - родительский, дочерний и родственный (определяет отношения между объектами одного уровня).
Ресурсы 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" ...>).
<service name="foo" ...>
<fs name="myfs" ...>
<script name="script_child"/>
</fs>
<ip address="10.1.1.2" .../>
</service>
Пример D.1. Иерархия ресурсов сервиса foo
Для родительских/дочерних отношений в дереве ресурсов применяются следующие правила:
Родительские ресурсы запускаются перед дочерними.
Все дочерние ресурсы должны буть корректно остановлены перед остановкой родительского ресурса.
При вынесении решения о состоянии ресурса учитывается состояние всех его дочерних ресурсов.