Hitachi

高信頼化システム監視機能 HAモニタ Linux(R)(x86)編


7.5.7 共有ディスクのデバイス障害に対処する(実行サーバ稼働中)(共有ディスクのSCSIリザーブをする場合)

実行サーバの稼働中に,サーバ対応の環境設定のscsi_deviceオペランド,またはdmmp_deviceオペランドに指定したデバイスでI/Oエラーが発生した場合は,メッセージKAMN725-W,およびKAMN726-Eが出力されます。マルチパスソフトウェアによる冗長化構成では,同じ共有ディスクのすべてのパスに障害が発生したときにだけ,メッセージKAMN726-Eが出力されます。

ここでは,復旧手順について説明します。

なお,ホストバスアダプタ(HBA)の交換・追加,共有ディスク(LU)の追加などによってデバイスファイル名(/dev/sdx)が追加される場合は,実行サーバを停止しないと復旧できません。

  1. デバイス障害の原因を調査する。

    メッセージKAMN725-WKAMN726-E,およびカーネルが出力するメッセージを参照したり,ハードウェアの管理ツールを使用したりして,障害の原因を調査してください。

  2. 待機サーバを,待機サーバ停止コマンド(monsbystpコマンド)(リソースサーバの場合は待機中のリソースサーバ停止コマンド(monressbystpコマンド))で停止する。

    必ず待機サーバを停止してから復旧作業をしてください。復旧作業直後は共有ディスクのリザーブが確保されていません。このため,復旧作業後にリザーブを確保するまでの間にaliveメッセージが途絶して系切り替えが発生すると,共有ディスクの保護ができないおそれがあります。

  3. デバイス障害の原因を取り除く。

    原因となった機器を交換するなどし,デバイス障害の原因を取り除いてください。

    マルチパスソフトウェアによる冗長化構成の場合は,この時点ではまだ障害となったパスをオンライン状態に回復(フェイルバック)しないでください。

  4. ディスクのリザーブ状態を確認する。

    確認方法を次に示します。

    # /usr/bin/sg_persist --in --no-inquiry --read-reservation --device=デバイス名
    (凡例)

    デバイス名:メッセージKAMN725-Wに出力される値です。シングルパス構成,またはVMware ESXiでの仮想化環境(DMMP未使用時)の場合はシンボリックリンク,マルチパスソフトウェアによる冗長化構成の場合は論理デバイスです。また,メッセージKAMN725-Wが出力したデバイス名の後ろにパス名が出力されている場合は,パス名です。

    デバイス名に,/dev/disk/by-id/scsi-360060e8010462fe004f2b6ae00000065/を指定する場合の例を次に示します。

    実行例
    # /usr/bin/sg_persist --in --no-inquiry --read-reservation --device=/dev/disk/by-id/scsi-360060e8010462fe004f2b6ae00000065/
    実行結果1

    次のように表示された場合は,「0x1」が,メッセージKAMN725-Wに出力されたキーと一致していることを確認してください。

    PR generation=0xnn, Reservation follows:
      Key=0x1
      scope: LU_SCOPE,  type: Write Exclusive, registrants only

    メッセージKAMN725-Wに出力されたキーと一致している場合は,リザーブされています。シングルパス構成,VMware ESXiでの仮想化環境(DMMP未使用時),またはHFC-PCM環境の場合は,手順9.に進んでください。マルチパスソフトウェアによる冗長化構成の場合は,リザーブされている場合でも,障害から復旧するパスではリザーブされていないことがあるため,手順5.に進んでください。

    メッセージKAMN725-Wに出力されたキーと異なる場合は,すでに他系で系切り替えが行われているか,または障害前に他系が確保したリザーブが残っている可能性があります。自系で実行中のサーバは,しばらくするとメッセージKAMN726-Eを出力して強制停止します。この場合は手順5.以降の作業はしないで,「(1) デバイスがリザーブされている場合の対処」を実施してください。

    実行結果2

    次のように出力された場合は,リザーブが確保されていません。手順5.に進んでください。

    PR generation=0xnn, there is NO reservation held
  5. リザーブの準備をする。

    準備方法を次に示します。

    # /usr/bin/sg_persist --out --no-inquiry --register-ignore --param-sark=キー  --device=デバイス名
    (凡例)

    キーデバイス名:メッセージKAMN725-Wに出力される値です。デバイス名は,シングルパス構成,またはVMware ESXiでの仮想化環境(DMMP未使用時)の場合はシンボリックリンク,マルチパスソフトウェアによる冗長化構成の場合は論理デバイスです。また,メッセージKAMN725-Wが出力したデバイス名の後ろにパス名が出力されている場合は,パス名です。

    デバイス名に,/dev/disk/by-id/scsi-360060e8010462fe004f2b6ae00000065を指定する場合の例を次に示します。

    実行例
    # /usr/bin/sg_persist --out --no-inquiry --register-ignore --param-sark=0x1 --prout-type=5 --verbose --device=/dev/disk/by-id/scsi-360060e8010462fe004f2b6ae00000065

    実行し,何も表示されなければ準備は完了です。手順6.に進んでください。

    マルチパスソフトウェアによる冗長化構成の場合で,手順4.ですでにリザーブされていたときは,手順8.に進んでください。

    なお,次のように出力される場合がありますが,この場合も準備は完了しているため手順6.に進んでください。マルチパスソフトウェアによる冗長化構成で,手順4.ですでにリザーブされていた場合は,手順7.に進んでください。

    persistent reserve out: scsi status: Reservation Conflict
    PR out: command failed
  6. リザーブを確保する。

    確保方法を次に示します。なお,「--prout-type」には必ず「5」を指定してください。

    # /usr/bin/sg_persist --out --reserve --param-rk=キー --prout-type=5 --device=デバイス名
    (凡例)

    キーデバイス名:メッセージKAMN725-Wに出力される値です。デバイス名は,シングルパス構成,またはVMware ESXiでの仮想化環境(DMMP未使用時)の場合はシンボリックリンク,マルチパスソフトウェアによる冗長化構成の場合は論理デバイスです。また,メッセージKAMN725-Wが出力したデバイス名の後ろにパス名が出力されている場合は,パス名です。

    デバイス名に,/dev/disk/by-id/scsi-360060e8010462fe004f2b6ae00000065を指定する場合の例を次に示します。

    実行例
    # /usr/bin/sg_persist --out --reserve --param-rk=0x1 --prout-type=5 --device=/dev/disk/by-id/scsi-360060e8010462fe004f2b6ae00000065

    実行し,何も表示されなければリザーブの確保に成功しました。何らかの表示がされた場合は,キー,およびデバイス名の指定に誤りがないか確認して再度実行してください。

  7. リザーブが確保できたか確認する。

    確認方法を次に示します。

    # /usr/bin/sg_persist --in --no-inquiry --read-reservation --device=デバイス名
    (凡例)

    デバイス名:メッセージKAMN725-Wに出力される値です。シングルパス構成,またはVMware ESXiでの仮想化環境(DMMP未使用時)の場合はシンボリックリンク,マルチパスソフトウェアによる冗長化構成の場合は論理デバイスです。また,メッセージKAMN725-Wが出力したデバイス名の後ろにパス名が出力されている場合は,パス名です。

    デバイス名に,/dev/disk/by-id/scsi-360060e8010462fe004f2b6ae00000065を指定する場合の例を次に示します。

    実行例
    # /usr/bin/sg_persist --in --no-inquiry --read-reservation --device=/dev/disk/by-id/scsi-360060e8010462fe004f2b6ae00000065

    実行し,何も表示されなければリザーブの確保に成功しました。何らかの表示がされた場合は,手順5.および手順6.を見直して再度実行してください。

    なお,次のように表示される場合がありますが,この場合もリザーブは確保できています。シングルパス構成,VMware ESXiでの仮想化環境(DMMP未使用時),またはHFC-PCM環境の場合は手順9.に進み,マルチパスソフトウェアによる冗長化構成の場合は手順8.に進んでください。

    PR generation=0xnn, Reservation follows:
      Key=0x1
      scope: LU_SCOPE,  type: Write Exclusive, registrants only
  8. マルチパスソフトウェアによる冗長化構成の場合は,障害から復旧したパスをオンライン状態に回復(フェイルバック)する。

    マルチパスソフトウェア(HDLM,DMMP,またはHFC-PCM)のコマンドを使用して,復旧したパスをオンライン状態に回復(フェイルバック)します。パスをオンライン状態に回復する方法については,マニュアルHitachi Dynamic Link Manager Software ユーザーズガイド(Linux(R)用),DMMPまたはHFC-PCMのマニュアルを参照してください。

    シングルパス構成,またはVMware ESXiでの仮想化環境(DMMP未使用時)の場合はこの手順は不要です。

  9. 手順2.で停止した待機サーバを再起動する。