LinuCレベル3 304試験の例題と解説
334.3フェイルオーバークラスタ
LinuCレベル3 304試験の試験範囲から「334.3 フェイルオーバークラスタ」についての例題を解いてみます。今回はクラスタリソースの制御に関する例題です。様々なリソースの制御方法について覚えましょう。
例題
フェイルオーバークラスタにおいて、すべてのクラスタノードでPING監視を実行するように設定したい。この場合の説明として、正しいものをひとつ選択してください。
- location を使用して、全ノードにPING監視のリソースを配置する
- colocation を使用して、全ノードにPING監視のリソースを配置する
- clone を使用して、全ノードにPING監視のリソースを配置する
- order を使用して、全ノードにPING監視のリソースを配置する
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「3. clone を使用して、全ノードにPING監視のリソースを配置する」です。
pacemakerでは、クラスタリソースをどのノードで起動するのかを決めるための制約を設定することができます。
■location制約
クラスタリソースを起動するノードを制約します。
スコア値を指定すれば、クラスタリソースを起動するノードに優先度を設定することもできます。
location location_nginx nginx \
rule 200: #uname eq clu02 \
rule 100: #uname eq clu03 \
rule -inf: #uname eq clu01
上記の例は、nginxリソースのlocation制約を設定しています。
nginxリソースをclu02またはclu03で起動するように設定しています。clu02とclu03がnginxリソースを起動できる状態の場合、スコア値の高いclu02で起動されます。
スコア値に -inf を指定した場合、そのノードでのリソース起動は禁止されます。
上記の例では、clu01でnginxリソースの起動は禁止されます。
■colocation制約
複数のクラスタリソースを同じノードで起動するように制約します。
colocation colocation_mariadb_nginx inf: mariadb nginx
mariadbリソースとnginxリソースが必ず同じノードで起動されるようになります。
スコア値に inf を指定すると、指定したリソースが同じノードで起動されます。
スコア値に -inf を指定すると、指定したリソースが別のノードで起動されます。
上記の例は、mariadbリソースとnginxリソースを同じノードで起動するように設定しています。
■order制約
クラスタリソースを起動する順序を制約します。
order order_mariadb_nginx inf: mariadb nginx
上記の例は、mariadbリソースとnginxリソースの起動順序を設定しています。mariadbリソース、nginxリソースの順序で起動されます。
スコア値に inf を指定すると、左側→右側の起動順序が強制されます。
スコア値に 0 を指定すると、できる限り左側→右側の順序で起動されるようになります。
■cloneリソース
制約設定の他に、クラスタリソースの起動に関わる設定として clone リソースを使用することができます。cloneリソースを使用すれば、クラスタリソースを複数のノードで同時に起動することができます。
clone clone_pingMonitor pingMonitor
上記の例は、pingMonitorリソースのcloneリソースを作成しています。
この設定を行うと、すべてのクラスタノードで pingMontor リソースが起動されます。
例題の選択肢について解説します。
1. location を使用して、全ノードにPING監視のリソースを配置する
誤りです。
location制約は、クラスタリソースの起動するノードを指定するための制約です。
2. colocation を使用して、全ノードにPING監視のリソースを配置する
誤りです。
colocation制約は、クラスタリソースの同じノードで起動するための制約です。
3. clone を使用して、全ノードにPING監視のリソースを配置する
正解です。
clone リソースの設定を行えば、リソースをすべてのノードで起動することができます。
4. order を使用して、全ノードにPING監視のリソースを配置する
誤りです。
order制約は、クラスタリソースの起動順序を指定するための制約です。
pacemakerのcloneリソース設定、location/colocation/order制約について理解し、クラスタサービスを正しく配置できるようになりましょう。
例題作成者
株式会社デージーネット OSS研究室 大野 公善