Solaris ボリュームマネージャの管理

不良ディスクを交換するには

  1. /var/adm/messages ファイルと metastat コマンドの出力を調べて、交換する不良ディスクを特定します。

  2. 不良ディスクに状態データベースの複製がないかチェックします。

    metadb コマンドを使って複製を表示します。

    metadb コマンドの出力を見ると、不良ディスクの状態データベースの複製にエラーが表示されていることがわかります。この例では、c0t1d0 のデバイスに問題があります。


    # metadb
       flags       first blk        block count
      a m     u        16               1034            /dev/dsk/c0t0d0s4
      a       u        1050             1034            /dev/dsk/c0t0d0s4
      a       u        2084             1034            /dev/dsk/c0t0d0s4
      W   pc luo       16               1034            /dev/dsk/c0t1d0s4
      W   pc luo       1050             1034            /dev/dsk/c0t1d0s4
      W   pc luo       2084             1034            /dev/dsk/c0t1d0s4

    この出力には、ローカルディスク c0t0d0c0t1d0 のスライス 4 にそれぞれ 3 つの状態データベースの複製があることがわかります。c0t1d0s4 スライスのフラグフィールドの W は、このデバイスに書き込みエラーがあることを示しています。c0t0d0s4 スライスの 3 つの複製は正常です。

  3. 状態データベースの複製があるスライス名とその複製の数を書き留めておき、状態データベースの複製を削除します。

    状態データベースの複製の数は、手順 2metadb コマンド出力に同じスライス名が表示される行数と同じです。この例では、c0t1d0s4 にある 3 つの状態データベースの複製を削除します。


    # metadb -d c0t1d0s4
    

    注意 - 注意 -

    不良の状態データベースの複製を削除すると、複製の数が 3 以下になることがあります。その場合は、状態データベースの複製を追加してから先に進みます。これによって、前と同じ構成情報が保たれます。


  4. 不良ディスク上のスライスを使用するサブミラーがある場合は、それらのサブミラーを切断します。

    metastat コマンドを実行すると、関連しているミラーが表示されます。この例では、1 つのサブミラー d10c0t1d0s4 を使用しています。 ミラーは d20 です。


    # metadetach d20 d10
    d20: submirror d10 is detached
  5. 不良ディスクにホットスペアがある場合は、それらを削除します。


    # metahs -d hsp000 c0t1d0s6
    hsp000: Hotspare is deleted
  6. システムを停止し、シングルユーザーモードで起動します。


    # halt
    ...
    ok boot -s
    ...
  7. 不良ディスクを物理的に交換します。

  8. 新しいディスクのパーティションを再分割します。

    formatfmthard コマンドを使い、不良ディスクと同じスライス情報に基づいてディスクをパーティション分割します。不良ディスクに対する prtvtoc の出力がある場合は、fmthard -s /tmp/failed-disk-prtvtoc-output で新しいディスクをフォーマットできます。

  9. 手順 3 で状態データベースの複製を削除した場合は、同じ数の複製を適切なスライスに追加します。

    この例では、/dev/dsk/c0t1d0s4 を使用します。


    # metadb -a c 3 c0t1d0s4
    
  10. この後の作業は、このディスクがどのように使用されていたかによって異なります。次の表から判断してください。

    表 24-1 ディスク交換のための決定表

    デバイスタイプ 

    作業 

    スライス 

    通常のデータ回復手順を使用します。 

    ミラー化解除された RAID 0 ボリュームまたはソフトパーティション 

    このボリュームをファイルシステムに使用する場合は、newfs コマンドを実行し、ファイルシステムをマウントし、バックアップからデータを復元します。RAID 0 ボリュームを、raw デバイスを使用するアプリケーションに使用する場合は、そのアプリケーション独自の方法で回復手順を行う必要があります。

    RAID 1 ボリューム (サブミラー) 

    metattach コマンドを実行して、切断されたサブミラーを再び接続します。これによって、再同期が開始されます。

    RAID 5 ボリューム 

    metareplace コマンドを実行してスライスを有効にします。これによって、再同期が開始されます。

    トランザクションボリューム 

    トランザクションボリュームを構成するボリュームタイプによって異なります。たとえば、トランザクションボリュームが RAID 5 ボリューム上にある場合は、この表の該当する回復手順を使用します。 

  11. 削除されたホットスペアを置き換え、それを 1 つまたは複数の適切なホットスペア集合に追加します。


    # metahs -a hsp000 c0t0d0s6
    hsp000: Hotspare is added
  12. データを検証します。

    すべてのボリュームのユーザーデータやアプリケーションデータをチェックします。必要であれば、アプリケーションレベルの整合性チェックプログラムなどのツールを使ってデータをチェックします。