C.2. 兄弟開始の順序とリソースの子の順序
サービスリソースは、以下のように子リソースに対して子のタイプ属性を指定するかどうかに応じて子リソースの開始順と停止順を決定します。
- 子のタイプ属性を指定する (型指定された子リソース) — サービスリソースが子リソースに対して子のタイプ属性を指定すると、子リソースは 型指定 します。子のタイプ属性は明示的に子リソースの開始順と停止順を決定します。
- 子のタイプ属性を 指定しない (型指定されていない 子リソース) — サービスリソースが子リソースに対して子のタイプ属性を 指定しない と、子リソースは 型指定されません。サービスリソースは型指定されていない子リソースの開始順と停止順を明示的に制御しません。しかし、型指定されていない子リソースは
/etc/cluster/cluster.conf
内の順番に従って開始、停止します。また、型指定されていない子リソースは、全ての型指定された子リソースが開始した後に開始し、いずれかの型指定された子リソースが停止する前に停止します。
注記
定義された 子リソースタイプ 順を実装する唯一のリソースはサービスリソースです。
型指定された子リソースの開始と停止の順序に関する詳細情報は、「型指定された子リソースの開始と停止の順序」 を参照してください。型指定されていない子リソースの開始と停止の順序に関する詳細情報は、「型指定されていない子リソースの開始と停止の順序」 を参照してください。
C.2.1. 型指定された子リソースの開始と停止の順序
型指定された子リソースでは、子リソースのタイプ属性は 1 から 100 までの番号を使って各リソースタイプの開始順と停止順を定義します。開始及び停止用の値はそれぞれ 1 つです。数字が低いほど、リソースタイプは早く開始/停止します。例えば、表C.1「子リソースタイプの開始と停止の順序」 は各リソースタイプの開始値と停止値を示しています。例C.2「リソースの開始と停止の値: サービスリソースエージェント
service.sh
からの抜粋」 は、開始値と停止値がサービスリソースエージェントである service.sh
に表示されるとおり示しています。サービスリソースについては、全ての LVM 子群が最初に開始します。次に、全てのファイルシステム子群、その後に全てのスクリプト子群と、開始していきます。
リソース | 子タイプ | 開始順の値 | 停止順の値 |
---|---|---|---|
LVM | lvm | 1 | 9 |
ファイルシステム | fs | 2 | 8 |
GFS2 ファイルシステム | clusterfs | 3 | 7 |
NFS マウント | netfs | 4 | 6 |
NFS エクスポート | nfsexport | 5 | 5 |
NFS クライアント | nfsclient | 6 | 4 |
IP Address | ip | 7 | 2 |
Samba | smb | 8 | 3 |
スクリプト | script | 9 | 1 |
例C.2 リソースの開始と停止の値: サービスリソースエージェント service.sh
からの抜粋
<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>
リソースタイプ内での順番はクラスター設定ファイル、
/etc/cluster/cluster.conf
に存在する通りに保存されてます。 例えば、例C.3「リソースタイプ内の順序」 内の型指定された子リソースの開始順と停止順を考えてみましょう。
例C.3 リソースタイプ内の順序
<service name="foo"> <script name="1" .../> <lvm name="1" .../> <ip address="10.1.1.1" .../> <fs name="1" .../> <lvm name="2" .../> </service>
型指定された子リソースの開始順
例C.3「リソースタイプ内の順序」 では、リソースは以下の順序で開始します:
lvm:1
— これは LVM のリソースです。全ての LVM リソースが最初に開始します。lvm:1
(<lvm name="1" .../>
) は、/etc/cluster/cluster.conf
の foo サービス部分でリストされている最初の LVM リソースであるため、LVM リソースの中では最初に開始します。lvm:2
— これは LVM リソースです。全ての LVM リソースが最初に開始します。lvm:2
(<lvm name="2" .../>
) は、/etc/cluster/cluster.conf
の foo サービス部分の中でlvm:1
の後にリストされているため、lvm:1
の次に開始します。fs:1
— これはファイルシステムリソースです。foo サービス内に他のファイルシステムリソースがある場合は、/etc/cluster/cluster.conf
の foo サービス部分にリストされている順序で開始します。ip:10.1.1.1
— これは IP アドレスリソースです。foo サービス内に他の IP アドレスのリソースがある場合は、/etc/cluster/cluster.conf
の foo サービス部分にリストされている順序で開始します。script:1
— これはスクリプトリソースです。foo サービス内に他のスクリプトリソースがある場合は、/etc/cluster/cluster.conf
の foo サービス部分にリストされている順序で開始します。
型指定された子リソースの停止順
例C.3「リソースタイプ内の順序」 では、リソースは以下の順序で停止します:
script:1
— これはスクリプトリソースです。foo サービス内に他のスクリプトリソースがある場合は、/etc/cluster/cluster.conf
の foo サービス部分にリストされている逆の順番で停止します。ip:10.1.1.1
— これは IP アドレスリソースです。foo サービス内に他の IP アドレスのリソースがある場合は、/etc/cluster/cluster.conf
の foo サービス部分にリストされている逆の順番で停止します。fs:1
— これはファイルシステムリソースです。foo サービス内に他のファイルシステムリソースがある場合は、/etc/cluster/cluster.conf
の foo サービス部分にリストされている逆の順番で停止します。lvm:2
— これは LVM リソースです。全ての LVM リソースは最後に停止します。lvm:2
(<lvm name="2" .../>
) はlvm:1
より先に停止します。リソースタイプのグループ内のリソース群は/etc/cluster/cluster.conf
の foo サービス部分にリストされている逆の順番で停止します。lvm:1
— これは LVM リソースです。全ての LVM リソースは最後に停止します。lvm:1
(<lvm name="1" .../>
) はlvm:2
の後に停止します。リソースタイプのグループ内のリソース群は/etc/cluster/cluster.conf
の foo サービス部分にリストされている逆の順番で停止します。