Product SiteDocumentation Site

D.2. Порядок запуска ресурсов одного уровня и дочерних ресурсов

Ресурс типа Service определяет порядок запуска и остановки дочерних ресурсов в зависимости от того, указан ли атрибут дочернего типа:

Замечание

Единственным ресурсом, где определяется порядок запуска и остановки типовых дочерних ресурсов, является ресурс сервиса.
Дополнительная информация порядке запуска и остановки типовых дочерних ресуров приведена в разделе D.2.1, “Порядок запуска и остановки типовых дочерних ресуров”. Информация о порядке запуска и остановки нетиповых дочерних ресуров приведена в разделе D.2.2, “Порядок запуска и остановки нетиповых дочерних ресуров”.

D.2.1. Порядок запуска и остановки типовых дочерних ресуров

Для типовых дочерних ресурсов атрибут типа определяет порядок запуска и остановки каждого ресурса. Для определения порядка запуска и остановки используются значения от 1 до 100; одно значение определяет положение ресурса в очереди запуска, второе - в очереди остановки. Чем меньше значение, тем раньше ресурс запускается или останавливается. В таблице D.1, “Порядок запуска и остановки ресурса дочернего типа” приведены значения для запуска и остановки для каждого типа ресурса; в примере D.2, “Значения для запуска и остановки ресурса: Выдержка из Service Resource Agent, service.sh приведены значения для запуска и остановки сервиса, используемые в service.sh. Для ресурса типа Service вначале происходит запуск всех дочерних ресурсов типа LVM, затем всех дочерних ресурсов типа File System children, затем всех дочерних ресурсов типа Script и так далее.
Ресурс Дочерний тип Значение, определяющее
порядок запуска
Значение, определяющее
порядок остановки
LVM lvm 1 9
File System fs 2 8
GFS File System clusterfs 3 7
NFS Mount netfs 4 6
NFS Export nfsexport 5 5
NFS Client nfsclient 6 4
IP Address ip 7 2
Samba smb 8 3
Script script 9 1
Таблица D.1. Порядок запуска и остановки ресурса дочернего типа

<special tag="rgmanager">
    <attributes root="1" maxinstances="1"/>
    <child type="lvm" start="1" stop="9"/>
    <child type="fs" start="2" stop="8"/>
    <child type="clusterfs" start="3" stop="7"/>
    <child type="netfs" start="4" stop="6"/>
    <child type="nfsexport" start="5" stop="5"/>
    <child type="nfsclient" start="6" stop="4"/>
    <child type="ip" start="7" stop="2"/>
    <child type="smb" start="8" stop="3"/>
    <child type="script" start="9" stop="1"/>
</special>
Пример D.2. Значения для запуска и остановки ресурса: выдержка из Service Resource Agent, service.sh

Порядок запуска и остановки ресурсов одного типа определяется положением соответствующей записи в конфигурационном файле /etc/cluster/cluster.conf. Рассмотрим порядок запуска и остановки типовых дочерних ресурсов в примере D.3, “Порядок запуска и остановки ресурсов одного типа”.
<service name="foo">
  <script name="1" .../>
  <lvm name="1" .../>
  <ip address="10.1.1.1" .../>
  <fs name="1" .../>
  <lvm name="2" .../>
</service>
Пример D.3. Порядок запуска и остановки ресурсов одного типа

Порядок запуска типовых ресурсов

В примере D.3, “Пример D.3. Порядок запуска и остановки ресурсов одного типа”, запуск ресурсов производится в следующем порядке:
  1. lvm:1 — Ресурс LVM. Все ресурсы LVM запускаются первыми. lvm:1 (<lvm name="1" .../>) запускается первым среди прочих ресурсов LVM, поскольку является первым из перечисленных в файле /etc/cluster/cluster.conf дочерних ресурсов типа LVM сервиса foo.
  2. lvm:2 — Ресурс LVM. Все ресурсы LVM запускаются первыми. lvm:2 (<lvm name="2" .../>) запускается после lvm:1 поскольку соответствующая строка расположена ниже строки, описывающей lvm:1 в файле /etc/cluster/cluster.conf дочерних ресурсов типа LVM сервиса foo.
  3. fs:1 — Ресурс File System. Если бы сервис foo включал другие ресурсы такого типа, запуск их происходил бы в том порядке, в котором ресурсы данного типа были бы описаны в разделе сервиса foo в конфигурационном файле /etc/cluster/cluster.conf.
  4. ip:10.1.1.1 — Ресурс IP Address. Если бы сервис foo включал другие ресурсы такого типа, запуск их происходил бы в том порядке, в котором ресурсы данного типа были бы описаны в разделе сервиса foo в конфигурационном файле /etc/cluster/cluster.conf.
  5. script:1 — Ресурс Script. Если бы сервис foo включал другие ресурсы такого типа, запуск их происходил бы в том порядке, в котором ресурсы данного типа были бы описаны в разделе сервиса foo в конфигурационном файле /etc/cluster/cluster.conf.

Порядок остановки типовых ресурсов

В примере D.3, “Пример D.3. Порядок запуска и остановки ресурсов одного типа”, остановка ресурсов производится в следующем порядке:
  1. script:1 — Ресурс Script. Если бы сервис foo включал другие ресурсы такого типа, остановка их происходила бы в порядке, обратном тому, в котором ресурсы данного типа были бы описаны в разделе сервиса foo в конфигурационном файле /etc/cluster/cluster.conf.
  2. ip:10.1.1.1 — Ресурс IP Address. Если бы сервис foo включал другие ресурсы такого типа, остановка их происходила бы в порядке, обратном тому, в котором ресурсы данного типа были бы описаны в разделе сервиса foo в конфигурационном файле /etc/cluster/cluster.conf.
  3. fs:1 — Ресурс File System. Если бы сервис foo включал другие ресурсы такого типа, остановка их происходила бы в порядке, обратном тому, в котором ресурсы данного типа были бы описаны в разделе сервиса foo в конфигурационном файле /etc/cluster/cluster.conf.
  4. lvm:2 — Ресурс LVM. Все ресурсы LVM останавливаются в последнюю очередь. lvm:2 (<lvm name="2" .../>) останавливается перед lvm:1; ресурсы одного типа, относящиеся к одному сервису, останавливаются в порядке, обратном тому, в котором они описаны в разделе сервиса foo в конфигурационном файле /etc/cluster/cluster.conf.
  5. lvm:1 — Ресурс LVM. Все ресурсы LVM останавливаются в последнюю очередь. lvm:1 (<lvm name="1" .../>) останавливается после lvm:2; ресурсы одного типа, относящиеся к одному сервису, останавливаются в порядке, обратном тому, в котором они описаны в разделе сервиса foo в конфигурационном файле /etc/cluster/cluster.conf.