Sun Cluster 2.2 のシステム管理

電力損失からの回復

Sun StorEdge MultiPack または Sun StorEdge D1000 が停電すると、I/O オペレーションはボリューム管理ソフトウェアによって検出されるエラーを生成します。これらのエラーは、ディスクに対して I/O トランザクションが行われるまでは報告されません。

これらのイベントについては、構成の監視が必要です。構成の監視については、第 2 章「Sun Cluster の管理ツール」を参照してください。

電力損失から回復させるには (Solstice DiskSuite)

次に、Solstice DiskSuite 構成でディスク格納装置に電力損失が発生した場合の回復手順の概略を示します。

次に、Solstice DiskSuite 構成でディスク格納装置に電力損失が発生した場合の詳しい回復手順を示します。

  1. 電力が戻った後で、metadb(1M) コマンドを実行してエラーが発生した複製を特定します。

    # metadb -s diskset
    
  2. 複製を稼動状態に戻します。

    停電後、影響を受けたディスク格納装置のシャーシ上のすべてのメタデバイス状態データベースの複製がエラー状態になります。メタデバイス状態データベースの複製は自動回復しないため、ディスク格納装置がサービスに戻った直後に回復させるのが最も安全です。回復が遅れると障害がさらに発生し、複製のほとんどがサービス不能になり、カーネルの障害を引き起こす場合があります。これは、Solstice DiskSuite 構成で使用できる複製が少なすぎる場合によく起きる現象です。

    エラーが発生したこれらの複製は次のテイクオーバー (haswitch(1M) または reboot(1M)) で修復されますが、これらを削除して追加し直すことにより手動で稼動状態に戻すこともできます。


    注 -

    各スライスで削除した複製と同じ数の複製を追加してください。複製は、metadb(1M) コマンドを 1 回実行することでまとめて削除できます。1 つのスライスに複製のコピーを複数格納する必要がある場合は、-c フラグを指定した metadb(1M) を 1 度呼び出し、まとめて追加します。


  3. metstat(1M) コマンドを実行して、エラーが発生したメタデバイスを特定します。

    # metastat -s diskset
    
  4. metareplace(1M) コマンドを使用して、エラーが発生したメタデバイスを稼動状態に戻します。これにより、ディスクの同期がとり直されます。

    # metareplace -s diskset -e mirror component
    

    -e オプションは、コンポーネント (スライス) を Available 状態に変え、同期を取り直します。

    ホットスペアに置き換えられているコンポーネントは、metareplace(1M) コマンドを使用して最後に交換してください。ホットスペアを最初に交換すると、ホットスペアが使用できる状態になったとたんに、エラーが発生したほかのサブミラーが交換される可能性があります。

    一度に同期を取り直すことができるのは、サブミラー (メタデバイス) の 1 つのコンポーネントだけです。サブミラーのすべてのコンポーネントが停電の影響を受けた場合は、各コンポーネントを個々に交換する必要があります。1.05G バイトディスクの同期をとり直すには約 10 分かかります。

    停電で複数のディスクセットが影響を受けた場合は、各ディスクセットの影響を受けたサブミラーの同期を同時にとり直すことができます。各ホストに個別にログインし、metareplace(1M) コマンドを各ホストで実行してホストのディスクセットを回復させてください。


    注 -

    サブミラーの数とサブミラー内のコンポーネントの数によっては、再同期に相当な時間がかかる場合があります。たとえば、コンポーネントが 5 つしかない管理が容易なサブミラーは、50 分ほどで完了する場合がありますが、1.05G バイトのドライブが 30 個あるようなサブミラーの場合は、完了までに約 5 時間かかる可能性があります。


電力損失から回復させるには (SSVM、CVM)

停電が起きると、ディスクドライブが切り離されると同時に、プレックスが切り離されて使用できなくなります。ミラー化されていると、ボリューム内のほかのプレックスはそのまま使用できるため、ボリュームはアクティブに保たれます。クラスタ内のノードを停止せずにディスクドライブを再接続してこの状況を回復させることができます。

次に、SSVM 構成でディスク格納装置を電力損失から回復させる手順の概略を示します。

次に、SSVM 構成でディスク格納装置を電力損失から回復させる詳しい手順を示します。

  1. vxprint コマンドを実行して、エラーが発生したプレックスを表示します。

    必要に応じて、-g diskgroup オプションを使用してディスクグループを指定してください。

  2. vxdisk コマンドを実行して、エラーが発生したディスクを確認します。

    # vxdisk list
     DEVICE       TYPE      DISK         GROUP        STATUS
     ..
     -            -         c1t5d0       toi          failed was:c1t5d0s2
     ...
  3. 障害が発生したすべてのディスクに電力が戻るように、障害の原因を修復します。

    修復を行う前に、ディスクが起動していることを確認してください。

  4. クラスタ内のすべてのノードで、次のコマンドを入力します。

    場合によっては、ノード別にドライブを確認し直す必要があります。

    # drvconfig
    # disks
    
  5. クラスタ内のすべてのノードで、次のコマンドを入力します。

    SSVM または CVM によって、現在のディスク構成の走査が再度行われます。

    # vxdctl enable
    # vxdisk -a online
    
  6. クラスタ内のすべてのノードで、次のコマンドを入力します。


    注 -

    CVM では、まずマスターノードでこのコマンドを入力し、その後にスレーブノードで入力してください。


    このコマンドにより、一時的な障害が発生していたディスクが接続し直されます。

    # vxreattach -r
    
  7. vxdisk コマンドの出力を検証し、ほかにエラーがないかどうかを確認します。

    # vxdisk list
    
  8. メディアを交換した場合は、切り離されたディスクごとにマスターノードから次のコマンドを入力します。

    このコマンドにより、物理ディスクとそのディスクのボリュームマネージャのアクセス名が再結合されます。

    # vxdg -g diskgroup -k adddisk medianame=accessname
    

    medianameaccessname の値が、vxdisk list コマンド出力の最後に表示されます。

    次に例を示します。


    # vxdg -g toi -k adddisk c1t5d0=c1t5d0s2
    # vxdg -g toi -k adddisk c1t5d1=c1t5d1s2
    # vxdg -g toi -k adddisk c1t5d2=c1t5d2s2
    # vxdg -g toi -k adddisk c1t5d3=c1t5d3s2
    # vxdg -g toi -k adddisk c1t5d4=c1t5d4s2
    

    ディスクの再接続には、vxdiskadm コマンドまたは GUI も使用できます。

  9. ノードからボリュームの回復を開始します。

    # vxrecover -bv [-g diskgroup]
    

    共有ディスクグループがある場合は、vxrecover -svc を使用します。

  10. (省略可能) vxprint -g コマンドを実行して、変更を表示します。