Sun Cluster 2.2 のシステム管理

SPARCstorage Array ディスクの管理

標準の Sun Cluster 管理の一環として、構成状態を監視することをお勧めします。監視方法の詳細は、第 2 章「Sun Cluster の管理ツール」を参照してください。監視処理で、多重ホストディスクの障害が発見される場合があります。この節では、この障害を解決する方法について説明します。

Sun Cluster は、次の SPARCstorage Array ディスクをサポートします。

ディスクを追加するには、使用しているディスクの種類とディスク格納装置の電気的な特徴と機構上の特徴に応じて、特定のコントローラに接続されたすべてのディスク、特定のトレー内のすべてのディスク、または追加するディスクだけを用意します。たとえば、差動型 SCSI トレーが搭載された SPARCstorage Array 200 シリーズでは、SPARCstorage Array コントローラとディスク格納装置を用意する必要があります。RSM (214 RSM) が搭載された SPARCstorage Array 200 シリーズでは、新しいディスクだけを用意します。SPARCstorage Array 110 では、トレーを 1 つ用意します。

SPARCstorage Array 100 シリーズを使用している場合は、以下に説明されている手順に従ってください。差動型 SCSI トレーが搭載された SPARCstorage Array 200 シリーズを使用している場合は、新しいディスクに接続する SPARCstorage Array コントローラに接続されたすべてのディスクを停止する必要があります。つまり、新しいディスクに接続するアレイコントローラに接続されたすべてのディスク格納装置について、トレー固有の手順をすべて繰り返します。SPARCstorage Array 214 RSM を使用している場合は、個々のディスクドライブはほかのディスクに影響を与えずに設置が可能なため、トレー固有の手順を実行する必要はありません。

ディスク格納装置の詳細は、多重ホストディスク格納装置のハードウェアサービスマニュアルを参照してください。

SPARCstorage Array ディスクの追加

SPARCstorage Array (SSA) の多重ホストディスクを追加するには、ディスク格納装置に応じて、影響を受けるディスクトレーまたはディスク格納装置内のすべてのボリュームマネージャオブジェクトをオフラインにします。ディスクトレーまたはディスク格納装置は、複数のディスクグループのディスクを搭載していることもあります。この場合は、影響を受けるディスクグループをすべて単一のノードが所有する必要があります。

SPARCstorage Array ディスクを追加するには (Solstice DiskSuite)

次に、Solstice DiskSuite 構成で多重ホストディスクを追加する手順の概略を示します。

次に、Solstice DiskSuite 構成に新しい多重ホストディスクを追加する詳しい手順を示します。

  1. 新しいディスクを含む予定の論理ホストの所有権を、クラスタ内のほかのノードに切り替えます。

    取り外すトレー内のディスクを含む論理ホストをすべてスイッチオーバーしてください。

    phys-hahost1# haswitch phys-hahost1 hahost1 hahost2
    
  2. ディスクの追加先であるトレーのコントローラ番号を確認します。

    SPARCstorage Array には、WWN が割り当てられています。SPARCstorage Array の LCD 画面に表示される WWN は、コントローラ番号が入った /dev エントリにポインタによってリンクされている /devices エントリの一部としても表示されます。次に例を示します。

    phys-hahost1# ls -l /dev/rdsk | grep -i WWN | tail -1
    

    SPARCstorage Array の LCD 画面に表示される WWN が 36cc の場合は、次の出力が表示されます。コントローラ番号は c2 です。

    phys-hahost1# ls -l /dev/rdsk | grep -i 36cc | tail -1
    lrwxrwxrwx  1 root   root       94 Jun 25 22:39 c2t5d2s7 ->
     ../../devices/io-
     unit@f,e1200000/sbi@0,0/SUNW,soc@3,0/SUNW,pln@a0000800,201836cc/
     ssd@5,2:h,raw
  3. display オプションを指定して luxadm(1M) コマンドを実行し、空のスロットを確認します。

    phys-hahost1# luxadm display c2
     
                          SPARCstorage Array Configuration
     ...
                               DEVICE STATUS
           TRAY 1                 TRAY 2                 TRAY 3
     slot
     1     Drive: 0,0             Drive: 2,0             Drive: 4,0
     2     Drive: 0,1             Drive: 2,1             Drive: 4,1
     3     NO SELECT              NO SELECT              NO SELECT
     4     NO SELECT              NO SELECT              NO SELECT
     5     NO SELECT              NO SELECT              NO SELECT
     6     Drive: 1,0             Drive: 3,0             Drive: 5,0
     7     Drive: 1,1             NO SELECT              NO SELECT
     8     NO SELECT              NO SELECT              NO SELECT
     9     NO SELECT              NO SELECT              NO SELECT
     10    NO SELECT              NO SELECT              NO SELECT
     ...

    空のスロットは、状態が NO SELECT で示されます。この出力例は、SPARCstorage Array 110 のものです。別のシリーズの SPARCstorage Array を使用している場合は、表示が多少異なります。

    新しいディスクを追加するトレーを決定してください。SPARCstorage Array 214 RSM のようにほかのドライブに影響を与えずにディスクを追加できる場合は、手順 11 に進んでください。

    これ以降の手順では、トレー 2 が例として使用されています。新しいディスク用に選択されるスロットは、トレー 2 のスロット 7 です。新しいディスクは、c2t3d1 として認識されます。

  4. ディスクの追加によって影響を受けるホットスペアをすべて見つけます。

    すべてのホットスペアの状態と位置を確認するには、各論理ホストで -i オプションを指定して metahs(1M) コマンドを実行します。

    phys-hahost1# metahs -s hahost1 -i
    ...
     phys-hahost1# metahs -s hahost2 -i
    ...

    注 -

    ホットスペアの一覧を保存してください。この一覧は、後でこの保守作業で使用します。ホットスペアデバイスとそれらのホットスペアプールは必ず書き留めてください。


  5. -d オプションを指定して metahs(1M) コマンドを実行し、影響を受けるホットスペアを削除します。

    metahs(1M) コマンドの詳細は、マニュアルページを参照してください。

    phys-hahost1# metahs -s hahost1 -d hot-spare-pool components
     phys-hahost1# metahs -s hahost2 -d hot-spare-pool components
    
  6. 影響を受けるディスク上に存在するメタデバイス状態データベースの複製をすべて見つけます。

    各論理ホストで metadb(1M) コマンドを実行してすべてのメタデバイス状態データベースを見つけ、出力を一時ファイルに保存してください。

    phys-hahost1# metadb -s hahost1 > /usr/tmp/mddb1
    phys-hahost1# metadb -s hahost2 > /usr/tmp/mddb2
    

    metadb(1M) の出力は、ディスク格納装置内のメタデバイス状態データベースの複製の位置を示します。複製を復元する手順で使用できるように、この情報を保存しておいてください。

  7. 影響を受けるディスク上に存在するメタデバイス状態データベースの複製を削除します。

    後の手順で複製を復元する必要があるため、削除する複製の数とロケールを記録しておいてください。

    phys-hahost1# metadb -s hahost1 -d replicas
    phys-hahost1# metadb -s hahost2 -d replicas
    
  8. metastat(1M) コマンドを実行し、影響を受けるディスク上のすべてのメタデバイスコンポーネントを確認します。

    メタデバイスの削除と再追加を行う場合に情報を使用できるように、metastat(1M) の出力を一時ファイルに保存しておいてください。

    phys-hahost1# metastat -s hahost1 > /usr/tmp/replicalog1
    phys-hahost1# metastat -s hahost2 > /usr/tmp/replicalog2
    
  9. 影響を受けるディスクを含むすべてのサブミラーをオフラインにします。

    ディスク格納装置内の影響を受けるすべてのサブミラーをオフラインにするため、一時ファイルを使用してスクリプトを作成してください。わずかなサブミラーしか存在しない場合は、metaoffline(1M) コマンドを実行し、個々にオフラインにしてください。次にスクリプト例を示します。

    #!/bin/sh
     # metaoffline -s <diskset> <mirror> <submirror>
     
     metaoffline -s hahost1 d15 d35
     metaoffline -s hahost2 d15 d35
     ...
  10. 影響を受けるディスクを停止します。

    luxadm(1M) コマンドを使用して、トレー内の SPARCstorage Array ディスクを停止してください。

    phys-hahost1# luxadm stop -t 2 c2
    
  11. 新しいディスクを追加します。

    多重ホストディスク格納装置のサービスマニュアルに示された方法で、ディスクを追加するためのハードウェア上の作業を行なってください。ディスクを追加した後、次のどちらかを選択してください。

    • ディスク格納装置が SPARCstorage Array 214 RSM の場合は、手順 16に進んでください (このディスクはほかのドライブに影響を与えずに追加が可能です)。

    • 214 RSM 以外の SPARCstorage Array の場合は、手順 12に進んでください。

  12. トレー内のすべてのディスクが起動していることを確認します。

    SPARCstorage Array トレー内のディスクは通常自動的に起動しますが、2 分以内に起動しない場合は、次のコマンドを使用して強制的に起動してください。

    phys-hahost1# luxadm start -t 2 c2
    
  13. サブミラーをオンラインに戻します。

    手順 9 で作成したスクリプトを変更し、サブミラーをオンラインに戻してください。

    #!/bin/sh
     # metaonline -s <diskset> <mirror> <submirror>
     
     metaonline -s hahost1 d15 d35
     metaonline -s hahost2 d15 d35
     ...
  14. 手順 5で削除したホットスペアを復元します。

    phys-hahost1# metahs -s hahost1 -a hot-spare-pool components
    phys-hahost1# metahs -s hahost2 -a hot-spare-pool components
    
  15. 本来の数のメタデバイス状態データベースの複製を、トレー内のデバイスに復元します。

    複製は、手順 7 で削除されています。

    phys-hahost1# metadb -s hahost1 -a replicas
    phys-hahost1# metadb -s hahost2 -a replicas
    
  16. drvconfig(1M)disks(1M) コマンドを実行し、すべての新しいディスクの /devices/dev/dsk/dev/rdsk に新しいエントリを作成します。

    phys-hahost1# drvconfig
    phys-hahost1# disks 
    
  17. このディスクの追加先である論理ホストの所有権を、SPARCstorage Array に接続されているほかのノードに切り替えます。

    これは、各ディスクが 2 つのノードに接続されるトポロジを想定しています。

    phys-hahost1# haswitch phys-hahost2 hahost2
    
  18. このディスクの追加先であるディスクセットを現在所有しているクラスタノードで、drvconfig(1M)disks(1M) コマンドを実行します。

    phys-hahost2# drvconfig
    phys-hahost2# disks 
    
  19. scdidadm(1M) コマンドを実行し、新しいディスクが DID 疑似ドライバによって使用されるように初期化します。

    scdidadm(1M) コマンドは、クラスタのノード 0 で実行する必要があります。DID 疑似ドライバの詳細は、『Sun Cluster 2.2 ソフトウェアのインストール』を参照してください。

    phys-hahost2# scdidadm -r
    
  20. ディスクをディスクセットに追加します。

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

    # metaset -s diskset -a drive
    

    注意 - 注意 -

    metaset(1M) コマンドは、ディスクを自動的に再分割することがあります。詳細は、Solstice DiskSuite のマニュアルを参照してください。


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

    phys-hahost2# scadmin reserve cNtXdYsZ
    
  22. 新しいディスクに対し、通常の管理作業を行います。

    続いて、新しいドライブをサービスに加えるための通常の管理手順 (ディスクをパーティション分割する、ディスクをホットスペアとして構成に追加する、ディスクをメタデバイスとして構成するなど) を実行できます。これらの作業の詳細は、Solstice DiskSuite のマニュアルを参照してください。

  23. 必要に応じて、論理ホストをそのデフォルトマスターにスイッチバックします。

SPARCstorage Array ディスクを追加するには (SSVM、CVM)

次に、SSVM または CVM 構成で多重ホストディスクを追加する手順の概略を示します。

次に、SSVM 構成に新しい多重ホストディスクを追加する詳しい手順を示します。

  1. 新しいディスクを含む予定の論理ホストの所有権を、クラスタ内のほかのノードに切り替えます。

    取り外すトレー内のディスクを含む論理ホストをスイッチオーバーしてください。

    phys-hahost1# haswitch phys-hahost1 hahost1 hahost2
    

    注 -

    ミラー化された構成では、ノードが停止されていないかぎり論理ホストを切り替える必要はありません。


  2. ディスクの追加先であるトレーのコントローラ番号を確認します。

    SPARCstorage Array には、WWN が割り当てられています。SPARCstorage Array の LCD 画面に表示される WWN は、コントローラ番号が入った /dev エントリにポインタによってリンクされている /devices エントリの一部としても表示されます。次に例を示します。

    phys-hahost1# ls -l /dev/rdsk | grep -i WWN | tail -1
    

    SPARCstorage Array の LCD 画面に表示される WWN が 36cc の場合は、次の出力が表示されます。コントローラ番号は c2 です。

    phys-hahost1# ls -l /dev/rdsk | grep -i 36cc | tail -1
    lrwxrwxrwx  1 root   root       94 Jun 25 22:39 c2t5d2s7 ->
     ../../devices/io-
     unit@f,e1200000/sbi@0,0/SUNW,soc@3,0/SUNW,pln@a0000800,201836cc/
     ssd@5,2:h,raw
     phys-hahost1#
  3. display オプションを指定して luxadm(1M) コマンドを実行し、空のスロットを確認します。

    ほかのドライブに影響を与えずにディスクを追加できる場合は、手順 11に進んでください。

    phys-hahost1# luxadm display c2
     
                          SPARCstorage Array Configuration
     ...
                               DEVICE STATUS
           TRAY 1                 TRAY 2                 TRAY 3
     slot
     1     Drive: 0,0             Drive: 2,0             Drive: 4,0
     2     Drive: 0,1             Drive: 2,1             Drive: 4,1
     3     NO SELECT              NO SELECT              NO SELECT
     4     NO SELECT              NO SELECT              NO SELECT
     5     NO SELECT              NO SELECT              NO SELECT
     6     Drive: 1,0             Drive: 3,0             Drive: 5,0
     7     Drive: 1,1             NO SELECT              NO SELECT
     8     NO SELECT              NO SELECT              NO SELECT
     9     NO SELECT              NO SELECT              NO SELECT
     10    NO SELECT              NO SELECT              NO SELECT
     ...

    空のスロットは、状態が NO SELECT で示されます。この出力例は、SPARCstorage Array 110 のものです。別のシリーズの SPARCstorage Array を使用している場合は、表示が多少異なります。

    新しいディスクを追加するトレーを決定してください。

    これ以降の手順では、トレー 2 が例として使用されています。新しいディスク用に選択されるスロットは、トレー 2 のスロット 7 です。新しいディスクは、c2t3d1 として認識されます。

  4. 新しいディスクが含まれるトレー内のディスクのすべてのボリュームおよび対応するプレックスを確認します。

    1. 物理デバイスアドレス cNtNdN から、コントローラ番号とターゲット番号を取得します。

      この例では、コントローラ番号は 2 で、ターゲット番号は 3 です。

    2. vxdisk list の出力から、デバイスを確認します。

      次に、vxdisk を使用して情報を取得する例を示します。

      # vxdisk -g diskgroup -q list | nawk '/^c2/ {print $3}'
      

      コマンドの出力から、ディスクのボリュームメディア名を記録しておきます。

    3. 次のコマンドの該当するバージョン (cshksh、または Bourne シェル) を使用して、上記のデバイス上のすべてのプレックスを確認します。

      PLLIST=`vxprint -ptq -g diskgroup -e '(aslist.sd_dm_name in ("c2t3d0")) &&
       (pl_kstate=ENABLED)' | nawk '{print $2}'`
      

      csh では、構文は set PLLIST .... となります。ksh では、構文は export PLLIST= .... となります。Bourne シェルでは、変数が設定された後でコマンド export PLLIST が必要になります。

  5. 変数を設定した後、トレー上にコンポーネント (サブディスク) を持つボリュームの I/O を停止します。

    トレーに対応したすべてのボリュームが切り離されたか (ミラー構成または RAID5 構成)、あるいは停止された (シンプルプレックス) ことを確認します。ミラー化プレックスを切り離すには、次のコマンドを発行します。

    # vxplex -g diskgroup det ${PLLIST}
    

    トレー内の各プレックスを切り離すには、次のコマンドも使用できます。

    # vxplex -g diskgroup -v volume det plex
    

    シンプルプレックスの I/O を停止するには、ファイルシステムのマウントを解除するか、あるいはデータベースアクセスを停止します。


    注 -

    ミラーのもう一方がまだ使用可能なため、ミラー化ボリュームはまだアクティブなままです。


  6. 新しいディスクを追加します。

    多重ホストディスク格納装置のサービスマニュアルに示された方法で、ディスクを追加するためのハードウェア上の作業を行なってください。

  7. トレー内のすべてのディスクが起動していることを確認します。

    SPARCstorage Array トレー内のディスクは通常自動的に起動しますが、2 分以内に起動しない場合は、次のコマンドを使用して強制的に起動してください。

    phys-hahost1# luxadm start -t 2 c2
    
  8. drvconfig(1M)disks(1M) コマンドを実行し、すべての新しいディスクの /devices/dev/dsk/dev/rdsk に新しいエントリを作成します。

    phys-hahost1# drvconfig
    phys-hahost1# disks
    
  9. SSVM の vxconfigd ドライバによって、新しいディスクの走査を行います。

    phys-hahost1# vxdctl enable
    
  10. vxdiskadd コマンドを使用して、新しいディスクをボリュームマネージャの制御下に加えます。

  11. 新しいディスクに対し、通常の管理作業を行います。

    新しいドライブをサービスに加える通常の管理手順 (ディスクをパーティション分割する、ディスクをホットスペアとして構成に追加する、ディスクをメタデバイスとして構成するなど) を実行できます。

    以上で、既存の SPARCstorage Array に多重ホストディスクを追加する作業は終了です。

SPARCstorage Array ディスクの交換

この節では、ボリュームマネージャによって次のような問題が報告された場合に、Sun Cluster サービスを中断することなく SPARCstorage Array (SSA) の多重ホストディスクを交換する方法 (オンライン交換) について説明します。

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
    

SPARCstorage Array ディスクを交換するには (SSVM、CVM)

SSVM または CVM 構成では、構成がミラー化されていれば、システムを停止せずに SPARCstorage Array ディスクを交換できます。


注 -

起動が可能な SPARCstorage Array 内のディスクを交換する必要がある場合は、ホストの起動ディスクが入った SSA トレーを取り外さないでください。この場合は、起動ディスクがそのトレー上に存在するホストを停止し、障害のあるディスクのサービスが始まる前にフェイルオーバーが有効になるように、残ったノードをクラスタソフトウェアによって再構成してください。詳細は、『SPARCstorage Array ユーザーマニュアル』を参照してください。


次に、SPARCstorage Array 100 シリーズを使用した SSVM 環境で多重ホストディスクを交換する手順の概略を示します。

次に、SPARCstorage Array 100 シリーズディスクを使用した SSVM 環境で多重ホストディスクを交換する詳しい手順を示します。

  1. 交換するディスクが定足数デバイスの場合は、scconf -q コマンドを使用して定足数デバイスをほかのディスクに変更します。

  2. 障害のあるディスクが含まれているトレー内のディスクのすべてのボリュームおよび対応するプレックスを確認します。

    1. 物理デバイスアドレス cNtNdN から、コントローラ番号とターゲット番号を取得します。

      たとえば、デバイスアドレスが c3t2d0 の場合、コントローラ番号は 3、ターゲット番号は 2 です。

    2. vxdisk list の出力から、デバイスを確認します。

      ターゲット番号が 0 または 1 の場合、cNt0 と cNt1 から始まる物理アドレスを持つデバイスをすべて確認します (N はコントローラ番号)。ターゲット番号が 2 または 3 の場合、cNt2 と cNt3 から始まる物理アドレスを持つデバイスをすべて確認します。ターゲット番号が 4 または 5 の場合、cNt4 と cNt5 から始まる物理アドレスを持つデバイスをすべて確認します。次に、vxdisk を使用して情報を取得する例を示します。

      # vxdisk -g diskgroup-q list | egrep c3t2¥|c3t3 | nawk '{print $3}'
      
    3. コマンドの出力から、障害のあるディスクのボリュームメディア名を記録しておきます。

      この名前は、手順 10 で必要になります。

    4. 次のコマンドの該当するバージョン (cshksh、または Bourne シェル) を使用して、上記のデバイス上のすべてのプレックスを確認します。

      PLLIST=`vxprint -ptq -g diskgroup -e '(aslist.sd_dm_name in
       ("c3t2d0","c3t3d0","c3t3d1")) && (pl_kstate=ENABLED)' |  nawk '{print $2}'`
      

      csh では、構文は set PLLIST .... となります。ksh では、構文は export PLLIST= .... となります。Bourne シェルでは、変数が設定された後でコマンド export PLLIST が必要になります。

  3. 変数を設定した後、トレー上にコンポーネント (サブディスク) を持つボリュームの I/O を停止します。

    トレーに対応したすべてのボリュームが切り離されたか (ミラー構成または RAID5 構成)、停止された (シンプルプレックス) ことを確認します。ミラー化プレックスを切り離すには、次のコマンドを発行します。

    # vxplex det ${PLLIST}
    

    トレー内の各プレックスを切り離すには、次のコマンドも使用できます。

    # vxplex -g diskgroup -v volume det plex
    

    シンプルプレックスの I/O を停止するには、ファイルシステムのマウントを解除するか、あるいはデータベースアクセスを停止します。


    注 -

    ミラーのもう一方がまだ使用可能なため、ミラー化ボリュームはまだアクティブなままです。


  4. ディスクグループからディスクを削除します。

    # vxdg -g diskgroup rmdisk diskname
    
  5. トレー内のディスクを停止します。

    # luxadm stop -t tray controller
    
  6. 障害のあるディスクを交換します。

  7. ドライブを起動します。

    # luxadm start -t tray controller
    
  8. 新しいディスクを初期化します。

    # vxdisksetup -i devicename
    
  9. 現在のディスク構成をもう一度走査します。

    クラスタ内のすべてのノードで、次のコマンドを入力してください。


    # vxdctl enable
    # vxdisk -a online
    
  10. ディスクグループに新しいディスクを追加します。

    device-media-name には、手順 2で記録したボリュームメディア名を指定します。

    # vxdg -g diskgroup -k adddisk device-media-name=devicename
    
  11. ボリュームの同期をとり直します。

    # vxrecover -g diskgroup -b -o