LinuCレベル3 304試験の例題と解説
334.3フェイルオーバークラスタ
LinuCレベル3 304試験の試験範囲から「334.3 フェイルオーバークラスタ」についての例題を解いてみます。
Pacemakerクラスタを操作するコマンドについて確認しておきましょう。
例題
crm_monコマンドを用いてPacemakerクラスタの状態を確認したところ、以下が表示されました。
Online: [ clu01 clu02 ]
Active resources:
Resource Group: group01
sharedFs (ocf::heartbeat:Filesystem): Started clu02
virtIpAddr (ocf::heartbeat:IPaddr2): Started clu02
apache (ocf::heartbeat:apache): Started clu02
Master/Slave Set: ms_drbd [drbd]
Masters: [ clu02 ]
Slaves: [ clu01 ]
Clone Set: cl_pingMonitor [pingMonitor]
Started: [ clu01 clu02 ]
Failed Actions:
* apache_monitor_60000 on clu01 'not running' (7): call=131, status=complete, exitreason='',last-rc-change='Thu Jan 17 11:59:11 2019', queued=0ms, exec=0ms
上記の故障情報をクリアするコマンドで正しいものを1つ選択してください。
- crm_resource cleanup apache clu01
- crm resource cleanup apache clu01
- crm_mon cleanup apache clu01
- crm cleanup apache clu01
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「2.crm resource cleanup apache clu01」です。
Pacemakerクラスタが異常を検知した場合、出力結果の下部に表示されている「Failed Actions:」のように故障情報が記録されます。
※以下抜粋
Failed Actions:
* apache_monitor_60000 on clu01 'not running' (7): call=131, status=complete, exitreason='',last-rc-change='Thu Jan 17 11:59:11 2019', queued=0ms, exec=0ms
故障情報には、clu01のノードでapacheリソースの監視を行った結果、'not running'つまり、動作していなかったと記録されています。
このように故障と判定された場合、フェイルオーバーが発生します。
上記の場合、clu01のノードで故障と判定されているので、clu02のノードに切り替わり、clu02でapacheリソースが起動しています。
故障情報はクリアしない限り、故障したノードでリソースが起動できません。
そのため、clu01のノードで故障の原因を解決後、故障情報をクリアする必要があります。
それでは、選択肢を見ていきます。
1. crm_resource cleanup apache clu01
誤りです。
crm_resourceはクラスタリソースに関連する操作を行うためのコマンドです。リソースの故障情報をクリアすることもできますが、書式が間違っています。crm_resourceコマンドを用いて、故障情報をクリアする場合は以下のように実行します。
# crm_resource -C -r apache
コマンドオプションの意味は以下の通りです。
-C, --cleanup | :故障情報とファイルカウントをクリア |
-r,--resource | :リソースを指定 |
2. crm resource cleanup apache clu01
正解です。
crmは、Pacemakerクラスタを管理、操作を行うためのコマンドです。
crmコマンドは、コマンドラインモードだけでなく、以下のように対話形式でcrmシェルから設定を行ったり、サービスの起動・停止などの操作を行うこともできます。
# crm
crm(live/clu01)#
コマンドラインモードで、リソースの故障情報をクリアする場合は、resourceサブコマンドでcleanupを指定します。書式は以下の通りです。
# crm resource cleanup <resource> [<node>]
よって[2]が正解となります。
3. crm_mon cleanup apache clu01
誤りです。
crm_monコマンドは、クラスタ構成の動作状態をモニタリングするコマンドです。
crm_monコマンドにcleanupというサブコマンドはありません。
4. crm cleanup apache clu01
誤りです。
crmコマンドで、リソースの故障情報をクリアするには、resourceサブコマンドを指定する必要があります。 なお、crmコマンドで利用可能なサブコマンドは、対話形式でタブキーを押すと確認することができます。
# crm
crm(live/clu01)# (tabキーを押す)
cd cluster help maintenance quit resource status
cib configure history node ra script verify
cibstatus corosync ls options report site
Pacemakerクラスタの設定や操作を行うコマンドはサブコマンドも合わせると非常に多くの種類があります。
特によく利用するコマンドは、実際に設定を行って動きを確認することで、しっかり覚えて使えるようにしておきましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本 知里