LinuCレベル3 304試験の例題と解説

334.3フェイルオーバークラスタ

LinuCレベル3 304試験の試験範囲から「334.3 フェイルオーバークラスタ」についての例題を解いてみます。
Pacemakerクラスタを操作するコマンドについて確認しておきましょう。

Linucレベル3 304試験 出題範囲


例題

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つ選択してください。

  1. crm_resource cleanup apache clu01
  2. crm resource cleanup apache clu01
  3. crm_mon cleanup apache clu01
  4. 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研究室 橋本 知里

ページトップへ