Solstice DiskSuite 4.2.1 ユーザーズガイド

SPARCstorage Array の操作

この節では、DiskSuite を使用して SPARCstorage Array (SSA) のトラブルシューティングを行う方法について説明します。この節には次のような作業があります。

インストレーション

SPARCstorage Array は、SPARCstorage Array CD に添付の『SPARCstorage Array Software』マニュアルに従ってインストールします。DiskSuite だけを使用する場合は、SPARCstorage Array のボリューム管理機能をインストールする必要はありません。

デバイスの命名規則

DiskSuite は、SPARCstorage Array ディスクに対して、他のディスクと同じようにアクセスしますが、重要な例外が 1 つあります。つまり、非 SPARCstorage Array ディスクの場合とはディスク名が異なります。

SPARCstorage Array 100 ディスクの命名規則を次に示します。

c[0-n]t[0-5]d[0-4]s[0-7]

この名前では、

SPARCstorage Array 200 ディスクの命名規則を次に示します。

c[0-n]t[0-5]d[0-6]s[0-7]

この名前では、


注 -

古いトレイでは 6 つまでのディスクを保持し、新しいトレイでは 7 つまで保持できます。


SSA100 と SSA200 との主な違いは、SSA100 では 1 つのトレイに 2 つのターゲットが配置されていますが、SSA200 ではターゲットごとに別のトレイが割り当てられているという点です。

SPARCstorage Array コンポーネントを交換するための予備情報

交換可能な SPARCstorage Array コンポーネントには、ディスク、ファントレイ、バッテリー、トレイ、電源装置、バックプレーン、コントローラ、光モジュール、ファイバチャネルケーブルがあります。

いくつかの SPARCstorage Array コンポーネントは、SPARCstorage Array の電源を切断することなく交換できますが、電源を切断する必要のあるコンポーネントもあります。詳細については、SPARCstorage Array のマニュアルを参照してください。

電源を切断する必要のある SPARCstorage Array コンポーネントを、サービスを中断せずに交換するには、電源を切断する前に SPARCstorage Array 内のすべてのトレイに対して、トレイの除去に必要な手順を実行します。これには、サブミラーをオフラインに設定、ホットスペアをホットスペア集合から削除、状態データベースの複製をドライブから削除、トレイの停止が含まれます。

これらの準備を行なってから、SPARCstorage Array の電源を切断し、コンポーネントを交換することができます。


注 -

SPARCstorage Array コントローラは、Solaris から特定される一意な World Wide Name を持っています。そのため、SPARCstorage Array コントローラの交換には特別な作業が適用されます。技術的な支援に関しては、ご購入先にご連絡ください。


ミラー内で障害の発生した SPARCstorage Array ディスクを交換する方法 (DiskSuite ツール)

DiskSuite 環境において SPARCstorage Array ディスクを交換する手順は、ディスク上のスライスの使用方法、およびディスクとシステムのケーブル接続方法によって大きく異なります。また、ディスクスライスがそのまま使用されるのか、DiskSuite によって使用されるのか、それともその両方なのかによっても異なります。


注 -

この作業は SPARCstorage Array 100 に適用されます。SPARCstorage Array 200 でディスクを交換するための手順もよく似ています。


この作業での手順を次に示します。


注 -

サブミラーが「保守」状態にある場合、ホットスペアによって交換された場合、またはときどきエラーが発生している場合には、この作業を使用できます。


ディスクを探索して交換するには、次の手順を実行します。

  1. DiskSuite ツールを使用してオブジェクトの「状態」フィールドを調べるか、または metastat/var/adm/messages の出力を調査することによって、交換するディスクを特定する。


    # metastat
    ...
     d50:Submirror of d40
          State: Needs Maintenance
    ...
    # tail -f /var/adm/messages
    ...
    Jun 1 16:15:26 host1 unix: WARNING: /io-
    unit@f,e1200000/sbi@0.0/SUNW,pln@a0000000,741022/ssd@3,4(ssd49):  
    Jun 1 16:15:26 host1 unix: Error for command `write(I))' Err
    Jun 1 16:15:27 host1 unix: or Level: Fatal
    Jun 1 16:15:27 host1 unix: Requested Block 144004, Error Block: 715559
    Jun 1 16:15:27 host1 unix: Sense Key: Media Error
    Jun 1 16:15:27 host1 unix: Vendor `CONNER':
    Jun 1 16:15:27 host1 unix: ASC=0x10(ID CRC or ECC error),ASCQ=0x0,FRU=0x15
    ...

    metastat コマンドは、サブミラーが「Needs Maintenance」状態にあることを明らかにします。/var/adm/messages ファイルは、エラーのあるディスクドライブを通知します。ディスクドライブを探索するには、次のように ls コマンドを使用して、シンボリックリンクの名前と /var/adm/messages の出力からの名前を照合します。


    # ls -l /dev/rdsk/*
    ...
    lrwxrwxrwx   1 root     root          90 Mar  4 13:26 /dev/rdsk/c3t3d4s0 -
    > ../../devices/io-
    unit@f,e1200000/sbi@0.0/SUNW,pln@a0000000,741022/ssd@3,4(ssd49)
    ...

    上の情報と metastat の出力にもとづいて、ドライブ c3t3d4 を交換しなければならないことが決まります。

  2. DiskSuite ツールを使用して、影響を受けるトレイを判定する。

    障害の発生したディスクが存在する SPARCstorage Array トレイを見つけるには、「ディスク表示」ウィンドウを使用します。

    1. 「ディスク表示」をクリックして、「ディスク表示」ウィンドウを表示する。

    2. 障害の発生したメタデバイス (この例は、ミラー) を、オブジェクトリストから「ディスク表示」ウィンドウにドラッグする。

      「ディスク表示」ウィンドウでは、メタデバイスを構成する物理スライスに色を割り当てることによって、論理デバイスから物理デバイスへのマップを表示します。障害の発生したディスクを含むトレイは、一目で判断できます。

    3. ssaadm(1M) コマンドを使用する。


      host1# ssaadm display c3
               SPARCstorage Array Configuration
      Controller path: /devices/io-
      unit@f,e1200000/sbi@0.0/SUNW,soc@0,0/SUNW,pln@a0000000,741022:ctlr
               DEVICE STATUS
               TRAY1          TRAY2          TRAY3
      Slot
      1        Drive:0,0      Drive:2,0      Drive:4,0
      2        Drive:0,1      Drive:2,1      Drive:4,1
      3        Drive:0,2      Drive:2,2      Drive:4,2
      4        Drive:0,3      Drive:2,3      Drive:4,3
      5        Drive:0,4      Drive:2,4      Drive:4,4
      6        Drive:1,0      Drive:3,0      Drive:5,0
      7        Drive:1,1      Drive:3,1      Drive:5,1
      8        Drive:1,2      Drive:3,2      Drive:5,2
      9        Drive:1,3      Drive:3,3      Drive:5,3
      10       Drive:1,4      Drive:3,4      Drive:5,4
       
               CONTROLLER STATUS
      Vendor:    SUNW
      Product ID:  SSA100
      Product Rev: 1.0
      Firmware Rev: 2.3
      Serial Num: 000000741022
      Accumulate performance Statistics: Enabled

      コントローラ (c3) に対する ssaadm の出力によって、中央トレイを取り出すとき、Drive 3,4 (c3t3d4) が一番近い位置にあることがわかります。

  3. [オプション] ディスクセットがある場合、影響を受けるドライブを含むディスクセットを探索する。

    次のコマンドでは、ドライブ c3t3d4 を探索します。logicalhost2 でコマンドを実行したときには何の出力も表示されませんでしたが、logicalhost1 の場合は、名前が存在することが通知されたことに注目します。通知された出力の yes フィールドは、ディスクに状態データベースの複製が収められていることを示します。


    host1# metaset -s logicalhost2 | grep c3t3d4
    host1# metaset -s logicalhost1 | grep c3t3d4
    c3t3d4 yes

    注 -

    Solstice HA サーバーを使用している場合、2 つの論理ホストの所有権を 1 つの Solstice HA サーバーに切り替える必要があります。詳細については、Solstice HA のマニュアルを参照してください。


  4. 影響を受けるトレイ上の他の DiskSuite オブジェクトを判定する。

    ディスクを交換するにはトレイを取り出す必要があるため、このプロセスにおいて影響を受ける他のオブジェクトを確認します。

    1. DiskSuite ツールで「ディスク表示」ウィンドウを表示する。トレイを選択し、「オブジェクト」メニューから「デバイスマップ」を選択する。

      「物理デバイスから論理デバイスへのマッピング」ウィンドウが表示されます。

    2. ウィンドウに表示されるホットスペア、メタデバイス、状態データベースの複製など、影響を受けるオブジェクトをすべて記録する。

  5. 影響を受けるトレイに他の DiskSuite オブジェクトを作成することによって、ディスク交換の準備を行う。

    1. 状態が「使用可能」であり、しかも障害の発生したディスクと同じトレイにあるホットスペアをすべて削除する。

      交換作業が終了したらホットスペアをホットスペア集合に追加して戻せるよう、ホットスペアについての情報をすべて記録します。

    2. 取り出すべきトレイ内のディスク上にある状態データベースの複製を削除する。

      これらの複製は手順 14 で交換しなければならないため、この情報を記録しておいてください。同じディスク上に複数の複製がある場合もあります。各スライスから削除された複製の数を記録しておきます。

    3. トレイ内に存在するスライスを使用しているサブミラーを探索する。

    4. 交換中のディスク上のスライスをもつサブミラーをすべて切断する。

    5. トレイ内にスライスをもつ他のサブミラーをすべてオフラインにする。

      これにより、DiskSuite はトレイ内のサブミラースライスの使用を停止するため、ドライブを停止できます。

      オブジェクトを除去するには、第 5 章「DiskSuite オブジェクトの除去」を参照してください。サブミラーを切断してオフラインにするには、「ミラーの操作」を参照してください。

  6. SPARCstorage Array トレイ内のディスクをすべて停止する。

    「ディスクの停止方法 (DiskSuite ツール)」を参照してください。


    注 -

    トレイ上の LED が点灯している間は、SPARCstorage Array トレイの除去を行うべきではありません。また、トレイが停止している間は、DiskSuite コマンドを実行しないでください。これを実行した場合、その副作用により、トレイ内のドライブの一部または全部が起動する可能性があります。


  7. トレイを取り出し、不良ディスクを交換する。

    ハードウェアの作業については、『SPARCstorage Array Model 100 Series Service Manual』および『SPARCcluster High Availability Server Service Manual』を参照してください。

  8. SPARCstorage Array のトレイ内のディスクがすべて起動したことを確認する。

    SPARCstorage Array トレイ内のディスクは、ハードウェアの交換作業に続いて、自動的に起動します。トレイが 2 分以内の自動起動に失敗した場合は、次のコマンドを使用してアクションを強制します。


      # ssaadm start -t 2 c3
    
  9. format(1M)、fmthard(1M)、またはストレージマネージャを使用して、新しいディスクをパーティションに再分割する。新しいディスクのパーティション分割は、交換されたディスクとまったく同じにする。

    障害が発生する前に、ディスクフォーマット情報を保存することが望ましいです。

  10. オフラインにされていたすべてのサブミラーを、オンラインに戻す。

    「ミラーの操作」を参照してください。

    サブミラーがオンラインに復帰すると、DiskSuite はすべてのサブミラーを自動的に再同期し、データを最新の状態にします。

  11. 切断されていたサブミラーを接続する。

    「ミラーの操作」を参照してください。

  12. 手順 11 で接続されたサブミラー内で使用中のホットスペアを交換する。

    サブミラーを切断前に、使用中のホットスペアを交換されたサブミラーがあった場合、このホットスペア交換は、サブミラーが再接続されてから有効となります。この手順によって、ホットスペアは「使用可能」状態に戻ります。

  13. 削除されたホットスペアをすべて追加する。

  14. トレイ上のディスクから削除された状態データベースの複製をすべて追加する。

    状態データベースの複製を交換するには、以前に保存した情報を使用します。

  15. [オプション] Solstice HA サーバーを使用する場合、各論理ホストをそのデフォルトマスターに切り替える。

    Solstice HA のマニュアルを参照してください。

  16. データの妥当性をチェックする。

    すべてのメタデバイスで、ユーザーデータとアプリケーションデータをチェックします。アプリケーションレベルの整合性チェック機能を実行したり、その他の方法でデータをチェックする必要があります。

RAID5 メタデバイス内で障害の発生した SPARCstorage Array ディスクを交換する方法 (DiskSuite ツール)

RAID5 メタデバイスをオンライン修復用に設定する場合、3 つの最小幅の RAID5 のスライスを使用する必要があります。これは RAID5 にとって最適の構成ではありませんが、冗長データのオーバヘッドという観点からは、ミラー化よりも若干負担の少ない方法です。各 RAID5 メタデバイスの 3 つのスライスは、それぞれ別のトレイに置いてください。SPARCstorage Array 内のすべてのディスクがこの方法で (または上述のミラーと組み合わせて) 構成された場合、どのデータに対するアクセスも失うことなく、障害の発生したディスクを含むトレイを除去できます。


注意 - 注意 -

障害の発生したドライブを含むトレイ内の非複製ディスクを使用するアプリケーションは、最初に中断または終了してください。


  1. 「ミラー内で障害の発生した SPARCstorage Array ディスクを交換する方法 (DiskSuite ツール)」手順 1手順 9 を参照する。

    これから障害の発生したディスクとトレイを探索し、影響を受ける他の DiskSuite オブジェクトを探索し、ディスクの交換準備を行なって、交換し、ドライブをパーティションに再分割します。

  2. metareplace -e コマンドを使用して、トレイ内の新しいドライブを有効にする。

  3. 「ミラー内で障害の発生した SPARCstorage Array ディスクを交換する方法 (DiskSuite ツール)」手順 12手順 16 を参照する。

SPARCstorage Array トレイの除去方法 (コマンド行)

SPARCstorage Array トレイを除去する前に、すべての入出力を停止し、トレイ内のすべてのドライブを停止します。入出力要求が行われると、ドライブは自動的に起動します。したがって、ドライブを停止する前に、すべての入出力を停止することが必要です。

  1. DiskSuite の入出力処理を停止する。

    サブミラーをオフラインにする、metaoffline(1M) コマンドを参照します。トレイ上のサブミラーがオフラインにされると、ミラーは 3 面ミラーの場合を除いて、1 面ミラーだけで稼働します (つまり、データの冗長性が失われます)。サブミラーがオンラインに復帰すると、自動的に再同期が開始されます。


    注 -

    サブミラーを含むドライブを交換する場合、metadetach(1M) コマンドを使用して、サブミラーを切断します。


  2. metastat(1M) コマンドを使用して、除去されるトレイ上のスライスを含むサブミラーをすべて特定する。また、metadb(1M) コマンドを使用して、トレイ上の複製を特定する。metahs(1M) コマンドを使用して、使用可能なホットスペアデバイスと対応するサブミラーも特定する必要がある。

    影響を受けるサブミラーをすべてオフラインにした状態で、トレイへの入出力が停止されます。

  3. 「ディスクの停止方法 (DiskSuite ツール)」を参照する。

    DiskSuite ツールか ssaadm コマンドを使用して、トレイを停止します。トレイのロックランプが消灯すると、そのトレイを除去して必要な作業を実行できます。

SPARCstorage Array トレイの交換方法

SPARCstorage Array トレイに関する作業が終了したら、シャーシ内のトレイを交換します。ディスクは自動的に起動します。

しかし、ディスクが起動に失敗した場合は、DiskSuite ツール (または ssaadm コマンド) を使用して、トレイ全体を手作業で起動することができます。SPARCstorage Array 内の起動ドライブ間には、若干の遅延 (数秒) があります。

ディスクが起動したら、オフラインに設定されていたサブミラーをすべてオンラインにする必要があります。サブミラーをオンラインにすると、最適化された再同期動作によって、サブミラーは自動的に最新の状態となります。最適化された再同期では、サブミラーがオフラインであったときに変更されたディスク領域だけがコピーされます。これは一般に、サブミラー容量全体のごく一部にすぎません。状態データベースの複製もすべて交換して、ホットスペアに追加することが必要です。


注 -

metaoffline ではなく、metadetach(1M) を使用してサブミラーを切断した場合、サブミラー全体を再同期しなければなりません。この場合、一般的にデータ 1G バイトあたりおよそ 10 分かかります。


SPARCstorage Array の電源断からの回復方法 (コマンド行)

1 つの SPARCstorage Array で電源断が発生した場合、次の現象が起こります。

「DiskSuite オブジェクトの状態チェック」で説明したように、metastat(1M) コマンドを使用して、これらのイベントの構成を監視しなければなりません。

電源が回復したら、次の操作を実行する必要があります。

  1. 電源が回復したら、metastat コマンドを使用して、エラーの発生したデバイスを特定する。


    # metastat
    ...
    d10: Trans
        State: Okay
        Size: 11423440 blocks
        Master Device: d20
        Logging Device: d15
     
    d20: Mirror
        Submirror 0: d30
          State: Needs maintenance
        Submirror 1: d40
          State: Okay
    ...
    d30: Submirror of d20
        State: Needs maintenance
    ...
  2. metareplace コマンドを使用して、エラーの発生したデバイスをサービスに復帰させる。


    # metareplace -e <メタデバイス> <スライス>
    

    -e オプションは、スライスの状態を「使用可能」状態に移行し、障害の発生したスライスを再同期します。


    注 -

    ホットスペアによって交換されたスライスは、metareplace コマンドを使用して一番最後に交換するデバイスにしてください。ホットスペアを最初に交換すると、これが使用可能になるとすぐに、サブミラー内の他のエラーの発生したスライスと交換されてしまうことがあります。


    再同期は、一度にサブミラー (メタデバイス) の 1 つのスライスでしか実行できません。サブミラーのすべてのスライスが電源断による影響を受けた場合、各スライスを別個に交換しなければなりません。1.05G バイトのディスクでは、再同期の実行におよそ 10 分かかります。

    サブミラーの数、およびこれらのサブミラーに含まれるスライスの数にもよりますが、再同期には相当な時間が必要なことがあります。1.05G バイトのドライブ 30 個で構成される 1 つのサブミラーでは、終了するのにおよそ 5 時間を要することがあります。5 つのスライスのサブミラーから構成されるような、通常使用される構成の場合は、終了するのにたった 50 分ですむ場合もあります。

  3. 電源断の後、影響を受けた SPARCstorage Array シャーシ上の状態データベースの複製は、すべてエラー状態となります。これらの複製は次のリブート時点で再生されますが、削除してから追加して戻せば、手動でサービスに復帰させることができます。


      # metadb -d <スライス>
      # metadb -a <スライス>
    

    注 -

    各スライス上で削除された状態データベースの複製の数と同じ数だけ追加することが必要です。1 つの metadb コマンドで、複数の状態データベースの複製を削除できます。1 つの metadb -d で削除された複製を追加して戻すには、metadb -a を何回か呼び出さなければならないこともあります。その理由は、1 つのスライス上に複製のコピーが複数個必要な場合、-c フラグを使用する metadbを 1 回呼び出して追加しなければならないためです。詳細は、metadb(1M) のマニュアルページを参照してください。


    状態データベースの複製の障害回復は自動的に実行されないため、SPARCstorage Array がサービスに復帰した直後に、障害回復を手動で実行するのが最も安全です。さもなければ、新しい障害が引き起こされて状態データベースの複製の大半がサービスを提供できなくなり、カーネルのパニックを引き起こすことがあります。使用できる状態データベースの複製の数が少なすぎる場合、このように DiskSuite が動作することがあります。

ホスト間で SPARCstorage Array ディスクを移動する方法 (コマンド行)

この作業では、DiskSuite オブジェクトを含むディスクを、ある SPARCstorage Array から別の SPARCstorage Array に移動する方法について説明します。

  1. エラー状態のデバイス、または移動すべきディスク上のホットスペアによって交換されたデバイスを修復する。

  2. metadb コマンドと metastat -p コマンドからの出力を使用して、移動すべきディスク上のホットスペア、メタデバイス、状態データベースの複製を特定する。

  3. ディスクを新しいホストに物理的に移動する。その際、デバイス名が同じになるように、類似の方法で接続するよう注意する。

  4. 状態データベースの複製を再作成する。


    # metadb -a [-f] <スライス> ...
    

    手順 2 で特定された状態データベースの複製を含むスライス名と同じ名前を使用してください。-f オプションを使用して、状態データベースの複製を強制的に作成する場合もあります。

  5. 手順 2metastat -p コマンドからの出力を md.tab ファイルにコピーする。

  6. md.tab ファイルを編集して、次の変更を行う。

    • 移動しなかったメタデバイスを削除する。

    • 古いメタデバイス名を新しい名前に変更する。

    • 当分の間、任意のミラーを 1 面のミラーにし、最も小さなサブミラーを選択する (適切ならば)。

  7. md.tab ファイルの構文をチェックする。


    # metainit -a -n
    
  8. 移動したメタデバイスとホットスペア集合を再作成する。


    # metainit -a
    
  9. 必要に応じて metattach(1M) コマンドを使用して、1 面ミラーを多面ミラーにする。

  10. ブート時に自動的にマウントされるファイルシステムの /etc/vfstab ファイルを編集する。その後、必要に応じて、新しいメタデバイス上にファイルシステムを再マウントする。