Diskcheck リソースエージェント

Diskcheckは共有ディスクの健全性を確認するためのリソースエージェントです。

対象ハードウェア

Diskcheckでは以下のハードウェア環境でテストしています。

注意:ドライバのバージョンの違いなどにより正常に動作しない場合があります。事前に動作検証を行なってから利用してください。

ダウンロード

インストール

  # tar xzvf Diskcheck-1.0.tar.gz
  Diskcheck-1.0/Diskcheck

 # cd Diskcheck-1.0
 # chown root Diskcheck
 # chgrp root Diskcheck
 # chmod 755 Diskcheck

 # cp -p Diskcheck /usr/lib/ocf/resource.d/heartbeat/.

cib.xmlの設定

DiskcheckはACT/SBY構成の両ノードで動作することを前提に作成されています。両ノードで動作させるためにはcloneリソースの設定を使用します。

(略)
<resource>
  <clone id="clone0">
    <instance_attributes id="clone0_instance_attrs">
      <attributes>
        <nvpair id="clone0-clone_max" name="clone_max" value="2"/>
        <nvpair id="clone0-clone_node_max" name="clone_node_max" value="1"/>
      </attributes>
    </instance_attributes>
    <primitive class="ocf" type="Diskcheck" ←★ typeにDiskcheckを指定してください。
      provider="heartbeat" id="clone0-diskcheck"> 
      <operations> (略) </operations>
      <instance_attributes id="clone0-diskcheck_instance_attrs"> ←★ Disk種別によって設定方法が違います。次節で解説します。
        <attributes>   (略)  </attributes>
      </instance_attributes>
    </primitive>
  </clone>
</resource>
(略)

<resource>
  <clone id="clone0">
   (略)
    <instance_attributes id="clone0_instance_attrs"> (略) </instance_attributes>
    <primitive class="ocf" type="Diskcheck" provider="heartbeat" id="clone0-diskcheck">
      <operations> (略) </operations>
      <instance_attributes id="clone0-diskcheck_instance_attrs">
        <attributes> ←★ 動作環境毎に設定値が異なります。
          <nvpair id="clone0-diskcheck_attr_name" name="attr_name" value="diskcheck_status"/>
          <nvpair id="clone0-diskcheck_driver_type" name="driver_type" value="CCISS"/>
          <nvpair id="clone0-diskcheck_ctrl_serialno" name="ctrl_serialno" value="PAB360NX3TU030"/>
        </attributes>
      </instance_attributes>
    </primitive>
  </clone>
</resource>
(略)

(略)
 <constraints>
  <rsc_location id="diskcheck0:grpPostgreSQLDB" rsc="grpPostgreSQLDB">
    <rule id="diskcheck0:rule0" score="-INFINITY" boolean_op="and">
      <expression id="diskcheck0:rule0-0" attribute="diskcheck_status" operation="defined"/>
      <expression id="diskcheck0:rule0-1" attribute="diskcheck_status" operation="eq" value="ERROR"/>
    </rule>
  </rsc_location>
 </constraints> 
(略)

ログメッセージ一覧

Diskcheckが出力するログメッセージ一覧を示します。

ログ種別

ログメッセージ

意味

対処方法

info

Diskcheck start ..

Diskcheckの起動が開始した

info

Diskcheck started.

Diskcheckの起動が完了した

info

Diskcheck stopped .

Diskcheckが停止した

warn

failed to update attribute (#)

属性値の更新に失敗した。(括弧内は失敗した回数)

attrd_updaterコマンドの実行権を確認する。
heartbeatが起動していることを確認する。

warn

detected all connections are failed (#).

共有ディスクと接続している全ケーブルが断線していることを検知した(括弧内は検知した回数)

共有ディスクとのケーブル接続を確認する。
共有ディスクの電源がついていることを確認する。

warn

detected some connections are failed (#).

共有ディスクと接続しているケーブルの一部が断線していることを検知した(括弧内は検知した回数)

共有ディスクとのケーブル接続を確認する。

warn

detected all connections are failed.

共有ディスクと接続している全ケーブルが断線していることを検知した

共有ディスクとのケーブル接続を確認する。
共有ディスクの電源がついていることを確認する

warn

detected some connections are failed.

共有ディスクと接続しているケーブルの一部が断線していることを検知した

共有ディスクとのケーブル接続を確認する。

warn

Disk connection is Error.

ディスク故障を検知した

共有ディスクとのケーブル接続を確認する。
共有ディスクの電源がついていることを確認する。

err

Diskcheck failed to start.

Diskcheckの起動に失敗した

直前にDiskcheckが出力したログを確認する。

err

Can’t execute /usr/sbin/attrd_updater

/usr/sbin/attrd_updater(属性値を更新するコマンド)が実行できない

attrd_updaterコマンドの実行権を確認する。
attrd_updaterコマンドの存在を確認する。

err

Can't execute /usr/sbin/hpacucli

/usr/sbin/hpacucli(ccissドライバ使用時のディスク接続状態確認用コマンド)が実行できない

hpacucliコマンドの実行権を確認する。
hpacucliコマンドの存在を確認する

err

<mppfile_path> file doesn't exist.

パラメータ”mppfile_path”で指定したファイルが存在しない

指定したパスにドライバ情報ファイルが存在することを確認する。

err

Can't execute /usr/sbin/adapter_info

/usr/sbin/adapter_info(qlaドライバ使用時のディスク接続状態確認用コマンド)が実行できない

adapter_infoコマンドの実行権を確認する。
adapter_infoコマンドの存在を確認する。

err

Can't execute /sbin/fdisk

/sbin/fdiskコマンドが実行できない

fdiskコマンドの実行権を確認する。
fdiskコマンドの存在を確認する

err

ctrl_serialno is required.

パラメータ”driver_type”が”CCISS”であるにもかかわらずパラメータ”ctrl_serialno”が設定されていない

コントローラのシリアルナンバーを調べて、cib.xmlに定義する

err

mppfile_path is required.

パラメータ”driver_type”が”RDAC”であるにもかかわらずパラメータ”mppfile_path”が設定されていない

ドライバ情報ファイルのパスを調べてcib.xmlに定義する。

err

device_name is required.

パラメータ”driver_type”が”FDISK”であるにもかかわらずパラメータ”device_name”が設定されていない

共有ディスクのデバイス名を調べて、cib.xmlに定義する。

err

driver type is unknown.

cib.xmlで指定された、共有ディスクのドライバの種類が不正である

Diskcheckに対応したdriver_typeを指定する。{CCISS|IBM|QLA|FDISK}

err

<stateファイル名> doesn't exist.

stateファイルが存在しない

/var/run/heartbeat/rsctmp/ディレクトリ配下にDiskcheck-****.stateファイルが生成されているか確認する。

err

Can't read <stateファイル名>

stateファイルの読み込みに失敗した

stateファイルのパーミッションを確認する。

err

Can't write <stateファイル名>

stateファイルの書き出しに失敗した

stateファイルのパーミッションを確認する。

err

Diskcheck is failed.

ディスク接続状態の通知処理に失敗した

直前にDiskcheckが出力したログを確認する。

debug

get probe. (Diskcheck is not running.)

probe(start前に発信される起動確認)を受信した

debug

Disk connection is Normal.

ディスクの接続状態は正常である

debug

Diskcheck is succeeded.

ディスク接続状態の確認および通知処理が正常に終了した

リリース情報

関連情報

Heartbeat用 追加パッケージ集 (contrib)

ja/Diskcheck ja (last edited 2008-07-01 07:07:50 by TakayukiTanaka)