Sun Cluster 2.2 のシステム管理

SPARCstorage Array ディスクを交換するには (Solstice DiskSuite)

次に、Solstice DiskSuite 構成で、多重ホストディスクを交換する手順の概略を示します。この作業の手順の一部は、SPARCstorage Array 100 シリーズまたは 差動型 SCSI トレーを搭載した SPARCstorage Array 200 シリーズを使用した構成にだけ適用されます。

次に、Solstice DiskSuite 構成で、障害が発生した多重ホストディスクを交換する詳しい手順を示します。

  1. haswitch(1M) コマンドを使用して、影響を受ける論理ホストの所有権をほかのノードに切り替えます。

    phys-hahost1# haswitch phys-hahost1 hahost1 hahost2
    

    障害が発生したディスクが含まれている SPARCstorage Array トレーには、複数の論理ホストに含まれるディスクが搭載されている場合があります。このような場合は、このトレーを使用しているディスクを含むすべての論理ホストの所有権を、クラスタ内の別のノードに切り替えてください。

  2. metastat(1M)/var/adm/messages の出力を調べて、交換が必要なディスクを確認します。

    デバイスが保守状態 (Needs Maintenance) にあるか、コンポーネントの一部がホットスペアに置き換わっていることが metastat(1M) によって報告された場合は、そのデバイスを見つけ、交換する必要があります。次に、metastat(1M) の出力例を示します。この例では、デバイス c3t3d4s0 がメンテナンス状態です。


    phys-hahost1# metastat -s hahost1
    ...
      d50:Submirror of hahost1/d40
           State: Needs Maintenance
           Stripe 0:
               Device       Start Block      Dbase      State          Hot Spare
               c3t3d4s0     0                No         Okay           c3t5d4s0
     ...

    /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
    ...
  3. luxadm(1M) コマンドを実行して、障害のあるディスクの位置を確認します。

    luxadm(1M) コマンドは、トレーとトレーに対応するドライブの一覧を表示します。この出力は、SPARCstorage Array シリーズごとに異なります。次の例は、SPARCstorage Array 100 シリーズの出力です。この例では故障したドライブを、強調表示しています。

    phys-hahost1# luxadm display c3
             SPARCstorage Array Configuration
     Controller path:
     /devices/iommu@f,e0000000/sbus@f,e0001000/SUNW,soc@0,0/SUNW,pln@
     a0000000,779a16: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:    SUN
     Product ID:  SSA110
     Product Rev: 1.0
     Firmware Rev: 3.9
     Serial Num: 000000741022
     Accumulate performance Statistics: Enabled
  4. 交換するディスク上のコンポーネントを含むサブミラーを切り離します。

    障害が発生したコンポーネントを含むサブミラーを切り離す場合は、metadetach -f コマンドを使用して切り離してください。次のコマンド例は、メタミラー d40 から サブミラー d50 を切り離します。

    phys-hahost1# metadetach -s hahost1 -f d40 d50
    
  5. metaclear(1M) コマンドを実行して、手順 4 で切り離されたサブミラーを消去します。

    phys-hahost1# metaclear -s hahost1 -f d50
    
  6. 複製とホットスペアを削除する前に、位置 (スライス)、複製の数、ホットスペア情報 (デバイスの名前とホットスペアプールが入ったデバイスの一覧) を記録しておきます。これは、ディスクを交換した後で逆の作業を行えるようにするためです。

  7. 障害ディスクと同じトレーに存在する Available 状態のホットスペアをすべて削除します。

    論理ホストの割り当てにかかわらず、すべてのホットスペアを削除してください。次の例では、metahs(1M) コマンドは hahost1 上のホットスペアを報告し、hahost2 にはホットスペアが存在しないことを示しています。

    phys-hahost1# metahs -s hahost1 -i
     hahost1:hsp000 2 hot spares
             c1t4d0s0                Available       2026080 blocks
             c3t2d5s0                Available       2026080 blocks
     phys-hahost1# metahs -s hahost1 -d hsp000 c3t2d4s0
     hahost1:hsp000:
             Hotspare is deleted
     phys-hahost1# metahs -s hahost2 -i
     phys-hahost1#
     hahost1:hsp000 1 hot spare
     			c3t2d5s0                Available       2026080 blocks
  8. metaset(1M) コマンドを使用して、ディスクセットから障害が発生したディスクを削除します。

    このコマンドの構文を次に示します。diskset には、障害が発生したディスクを含むディスクセットの名前を指定します。drive には、ディスクの DID 名を dN (Sun Cluster を新たにインストールする場合) または cNtYdZ (HA 1.3 からアップグレードする場合) の形式で指定します。

    # metaset -s diskset -d drive
    

    この処理は、構成のサイズとディスクの数に応じて 15 分以上かかります。

  9. サービスを受けるトレー内のディスクに存在するすべてのメタデバイス状態データベースの複製を削除します。

    -s オプションを指定して metadb(1M) コマンドを実行すると、指定されたディスクセット内の複製が表示されます。

    phys-hahost1# metadb -s hahost1
    phys-hahost1# metadb -s hahost2
    phys-hahost1# metadb -s hahost1 -d replicas-in-tray
    phys-hahost1# metadb -s hahost2 -d replicas-in-tray
    
  10. 影響を受けるトレー内に存在するコンポーネントを使用するサブミラーを特定します。

    1 つの方法として、metastat(1M) コマンドを使用して、すべてのメタデバイスの名前が入った一時ファイルを作成できます。次に例を示します。

    phys-hahost1# metastat -s hahost1 > /usr/tmp/hahost1.stat
    phys-hahost1# metastat -s hahost2 > /usr/tmp/hahost2.stat
    

    これらのコンポーネント (この例では c3t3dnc3t2dn) の一時ファイルを検索してください。一時ファイルの内容の例を次に示します。

    ...
     hahost1/d35: Submirror of hahost1/d15
        State: Okay
        Hot Spare pool: hahost1/hsp100
        Size: 2026080 blocks
        Stripe 0:
           Device      Start Block     Dbase     State      Hot Spare
           c3t3d3s0    0               No        Okay      
     hahost1/d54: Submirror of hahost1/d24
        State: Okay
        Hot Spare pool: hahost1/hsp106
        Size: 21168 blocks
        Stripe 0:
           Device      Start Block     Dbase     State      Hot Spare
           c3t3d3s6    0               No        Okay      
     ...
  11. 影響を受けるトレー内のコンポーネントを持つほかのすべてのサブミラーをオフラインにします。

    手順 10 の一時ファイルの出力を参照して、影響を受けるトレー内のすべてのサブミラーに対して metaoffline(1M) を実行します。

    phys-hahost1# metaoffline -s hahost1 d15 d35
    phys-hahost1# metaoffline -s hahost1 d24 d54
    ...

    metaoffline(1M) は、すべてのサブミラーがオンラインになるまで必要な回数実行してください。このコマンドは、Solstice DiskSuite によるサブミラーコンポーネントの使用を停止します。

  12. コントローラ、トレー、個々のディスク、または複数のディスクで NVRAM が有効になっている場合は、NVRAM をフラッシュします。

    phys-hahost1# luxadm sync_cache pathname
    

    NVRAM がフラッシュされたことを示す確認メッセージが表示されます。NVRAM データのフラッシュの詳細は、「NVRAM のフラッシュとパージ」を参照してください。

  13. 影響を受ける SPARCstorage Array トレー内のすべてのディスクを停止します。

    luxadm stop コマンドを使用して、ディスクを停止してください。詳細は、luxadm(1M) のマニュアルページを参照してください。

    phys-hahost1# luxadm stop -t 2 c3
    

    注意 - 注意 -

    Solstice DiskSuite コマンドは、トレー内のドライブ (一部またはすべて) の起動に二次的な影響を与える可能性があります。そのため、SPARCstorage Array トレーが停止している間は、Solstice DiskSuite コマンドを実行しないでください。


  14. ディスクを交換します。

    この作業の詳細は、SPARCstorage Array のハードウェアサービスマニュアルを参照してください。

  15. 新しいデバイス ID を使用して、DID ドライバのデータベースを更新します。

    -l フラグを指定して scdidadm(1M) を実行し、交換するドライブの低レベルデバイス名の DID 名を確認してください。次に、-R フラグを指定して scdidadm(1M) を実行し、DID ドライブデータベースを更新してください。DID 疑似ドライバの詳細は、『Sun Cluster 2.2 ソフトウェアのインストール』を参照してください。


    phys-hahost1# scdidadm -o name -l /dev/rdsk/c3t3d4
    6	phys-hahost1:/dev/rdsk/c3t3d4	/dev/did/rdsk/d6
     phys-hahost1# scdidadm -R d6
    
  16. 影響を受ける多重ホストディスク格納装置内のすべてのディスクが起動していることを確認します。

    多重ホストディスク格納装置内のディスクは通常自動的に起動しますが、2 分以内に起動しない場合は、次のコマンドを使用して強制的に起動してください。

    phys-hahost1# luxadm start -t 2 c3
    
  17. metaset(1M) コマンドを使用して、ディスクセットに新しいディスクを追加し直します。

    この手順により、障害が発生したディスクから削除された数の複製が自動的に追加し直されます。コマンド構文は次のとおりです。diskset には、障害が発生したディスクを含むディスクセットの名前を指定します。drive には、ディスクの DID 名を dN (Sun Cluster を新たにインストールする場合) または cNtYdZ (HA 1.3 からアップグレードする場合) の形式で指定します。

    # metaset -s diskset -a drive
    
  18. (省略可能) エラーが発生したディスクと同じトレーに存在したディスクからほかのディスクセットに属していた複製を削除した場合は、metadb(1M) コマンドを使用して複製を追加し直してください。

    phys-hahost1# metadb -s hahost2 -a deleted-replicas
    

    同じスライスに複数の複製を追加するには、-c オプションを使用してください。

  19. scadmin(1M) コマンドを使用して、ディスクセットに追加されたばかりのディスクに対してフェイルファストの予約と有効化を行います。

    phys-hahost2# scadmin reserve c3t3d4
    
  20. format(1M) または fmthard(1M) コマンドを使用して、新しいディスクのパーティション分割を行います。

    この場合は、交換されたディスクとまったく同じように分割してください (第 1 章「Sun Cluster の管理の準備」でディスクのフォーマット情報を保存するように推奨しています)。

  21. metainit(1M) コマンドを使用して、手順 5 で消去したディスクの初期化を再度行います。

    phys-hahost1# metainit -s hahost1 d50
    
  22. 手順 11でオフラインにしたサブミラーをすべてオンラインに戻します。

    phys-hahost1# metaonline -s hahost1 d15 d35
    phys-hahost1# metaonline -s hahost1 d24 d54
    ...

    metaonline(1M) は、すべてのサブミラーがオンラインに戻るまで必要な回数実行してください。

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


    注 -

    この時点で metastat(1M) コマンドを実行すると、影響を受けるトレーにコンポーネントが存在するすべてのメタデバイスの同期が取り直されていることが示されます。


  23. 手順 4で切り離したサブミラーを接続します。

    この手順は、metattach(1M) コマンドを使用して行なってください。詳細は、metattach(1M) のマニュアルページを参照してください。

    phys-hahost1# metattach -s hahost1 d40 d50
    
  24. 手順 23で接続したサブミラーで使用されているホットスペアを交換します。

    サブミラーを切り離す前にサブミラーでホットスペアへの置き換えがあった場合は、この置き換えはサブミラーが再接続された後に有効になります。この手順は、ホットスペアを Available 状態に戻します。

    phys-hahost1# metareplace -s hahost1 -e d40 c3t3d4s0
    
  25. 手順 7で削除したホットスペアをすべて復元します。

    metahs(1M) コマンドを実行して、ホットスペアを追加し直してください。詳細は、metahs(1M) のマニュアルページを参照してください。

    phys-hahost1# metahs -s hahost1 -a hsp000 c3t2d5s0
    
  26. 必要に応じて、論理ホストをそれらのデフォルトマスターにスイッチバックします。

    phys-hahost1# haswitch phys-hahost2 hahost2
    
  27. 交換によって問題が解決されたことを確認します。

    phys-hahost1# metastat -s hahost1