次に、Solstice DiskSuite 構成で、多重ホストディスクを交換する手順の概略を示します。この作業の手順の一部は、SPARCstorage Array 100 シリーズまたは 差動型 SCSI トレーを搭載した SPARCstorage Array 200 シリーズを使用した構成にだけ適用されます。
論理ホストをほかのクラスタノードに切り替える
交換する必要のあるディスクを確認する
交換する必要のあるディスクが含まれているトレーを確認する
(SSA と SSA 200 のみ) 影響を受けるトレーまたはディスク格納装置上のサブミラーを切り離す
(SSA 100 と SSA 200 のみ) 切り離したサブミラーで metaclear(1M) を実行する
(SSA 100 と SSA 200 のみ) 影響を受けるディスクトレー内の使用できるホットスペアを削除する
ディスクセットから障害のあるディスクを削除する
(SSA 100 と SSA 200 のみ) 影響を受けるトレー内のディスクに存在する、影響を受けるすべてのメタデバイス状態データベースの複製を削除する
(SSA 100 と SSA 200 のみ) 影響を受けるトレー内のメタデバイスの一覧を生成する
(SSA 100 と SSA 200 のみ) 影響を受けるトレー内のサブミラー、またはトレー内のホットスペアを使用するサブミラーに対して、metaoffline(1M) を実行する
(SSA 100 と SSA 200 のみ) NVRAM が有効になっている場合はフラッシュする
ディスクを停止し、トレーまたはディスク格納装置を取り外す
ディスクドライブを交換する
scdidadm -R コマンドを実行する
ディスクセットに新しいディスクを追加する
新しいディスクに対してフェイルファストの予約と有効化を行う
新しいディスクをパーティション分割する
(SSA 100 と SSA 200 のみ) metaclear(1M) コマンドで消去したデバイスを、metainit(1M) コマンドを使用して初期化する
(SSA 100 と SSA 200 のみ) metaonline(1M) コマンドを実行して、オフラインのミラーをオンラインに戻し、再同期をとる
(SSA 100 と SSA 200 のみ) 切り離したサブミラーを接続する
(SSA 100 と SSA 200 のみ) 接続したサブミラー内で使用されているホットスペアを交換する
(SSA 100 と SSA 200 のみ) 削除したホットスペアデバイスを本来のホットスペアプールに戻す
metastat(1M) コマンドを実行して、障害が修復されたことを確認する
次に、Solstice DiskSuite 構成で、障害が発生した多重ホストディスクを交換する詳しい手順を示します。
haswitch(1M) コマンドを使用して、影響を受ける論理ホストの所有権をほかのノードに切り替えます。
phys-hahost1# haswitch phys-hahost1 hahost1 hahost2 |
障害が発生したディスクが含まれている SPARCstorage Array トレーには、複数の論理ホストに含まれるディスクが搭載されている場合があります。このような場合は、このトレーを使用しているディスクを含むすべての論理ホストの所有権を、クラスタ内の別のノードに切り替えてください。
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 ... |
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 |
交換するディスク上のコンポーネントを含むサブミラーを切り離します。
障害が発生したコンポーネントを含むサブミラーを切り離す場合は、metadetach -f コマンドを使用して切り離してください。次のコマンド例は、メタミラー d40 から サブミラー d50 を切り離します。
phys-hahost1# metadetach -s hahost1 -f d40 d50 |
metaclear(1M) コマンドを実行して、手順 4 で切り離されたサブミラーを消去します。
phys-hahost1# metaclear -s hahost1 -f d50 |
複製とホットスペアを削除する前に、位置 (スライス)、複製の数、ホットスペア情報 (デバイスの名前とホットスペアプールが入ったデバイスの一覧) を記録しておきます。これは、ディスクを交換した後で逆の作業を行えるようにするためです。
障害ディスクと同じトレーに存在する 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 |
metaset(1M) コマンドを使用して、ディスクセットから障害が発生したディスクを削除します。
このコマンドの構文を次に示します。diskset には、障害が発生したディスクを含むディスクセットの名前を指定します。drive には、ディスクの DID 名を dN (Sun Cluster を新たにインストールする場合) または cNtYdZ (HA 1.3 からアップグレードする場合) の形式で指定します。
# metaset -s diskset -d drive |
この処理は、構成のサイズとディスクの数に応じて 15 分以上かかります。
サービスを受けるトレー内のディスクに存在するすべてのメタデバイス状態データベースの複製を削除します。
-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 |
影響を受けるトレー内に存在するコンポーネントを使用するサブミラーを特定します。
1 つの方法として、metastat(1M) コマンドを使用して、すべてのメタデバイスの名前が入った一時ファイルを作成できます。次に例を示します。
phys-hahost1# metastat -s hahost1 > /usr/tmp/hahost1.stat phys-hahost1# metastat -s hahost2 > /usr/tmp/hahost2.stat |
これらのコンポーネント (この例では c3t3dn と c3t2dn) の一時ファイルを検索してください。一時ファイルの内容の例を次に示します。
... 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 ... |
影響を受けるトレー内のコンポーネントを持つほかのすべてのサブミラーをオフラインにします。
手順 10 の一時ファイルの出力を参照して、影響を受けるトレー内のすべてのサブミラーに対して metaoffline(1M) を実行します。
phys-hahost1# metaoffline -s hahost1 d15 d35 phys-hahost1# metaoffline -s hahost1 d24 d54 ... |
metaoffline(1M) は、すべてのサブミラーがオンラインになるまで必要な回数実行してください。このコマンドは、Solstice DiskSuite によるサブミラーコンポーネントの使用を停止します。
コントローラ、トレー、個々のディスク、または複数のディスクで NVRAM が有効になっている場合は、NVRAM をフラッシュします。
phys-hahost1# luxadm sync_cache pathname |
NVRAM がフラッシュされたことを示す確認メッセージが表示されます。NVRAM データのフラッシュの詳細は、「NVRAM のフラッシュとパージ」を参照してください。
影響を受ける SPARCstorage Array トレー内のすべてのディスクを停止します。
luxadm stop コマンドを使用して、ディスクを停止してください。詳細は、luxadm(1M) のマニュアルページを参照してください。
phys-hahost1# luxadm stop -t 2 c3 |
Solstice DiskSuite コマンドは、トレー内のドライブ (一部またはすべて) の起動に二次的な影響を与える可能性があります。そのため、SPARCstorage Array トレーが停止している間は、Solstice DiskSuite コマンドを実行しないでください。
ディスクを交換します。
この作業の詳細は、SPARCstorage Array のハードウェアサービスマニュアルを参照してください。
新しいデバイス 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 |
影響を受ける多重ホストディスク格納装置内のすべてのディスクが起動していることを確認します。
多重ホストディスク格納装置内のディスクは通常自動的に起動しますが、2 分以内に起動しない場合は、次のコマンドを使用して強制的に起動してください。
phys-hahost1# luxadm start -t 2 c3 |
metaset(1M) コマンドを使用して、ディスクセットに新しいディスクを追加し直します。
この手順により、障害が発生したディスクから削除された数の複製が自動的に追加し直されます。コマンド構文は次のとおりです。diskset には、障害が発生したディスクを含むディスクセットの名前を指定します。drive には、ディスクの DID 名を dN (Sun Cluster を新たにインストールする場合) または cNtYdZ (HA 1.3 からアップグレードする場合) の形式で指定します。
# metaset -s diskset -a drive |
(省略可能) エラーが発生したディスクと同じトレーに存在したディスクからほかのディスクセットに属していた複製を削除した場合は、metadb(1M) コマンドを使用して複製を追加し直してください。
phys-hahost1# metadb -s hahost2 -a deleted-replicas |
同じスライスに複数の複製を追加するには、-c オプションを使用してください。
scadmin(1M) コマンドを使用して、ディスクセットに追加されたばかりのディスクに対してフェイルファストの予約と有効化を行います。
phys-hahost2# scadmin reserve c3t3d4 |
format(1M) または fmthard(1M) コマンドを使用して、新しいディスクのパーティション分割を行います。
この場合は、交換されたディスクとまったく同じように分割してください (第 1 章「Sun Cluster の管理の準備」でディスクのフォーマット情報を保存するように推奨しています)。
metainit(1M) コマンドを使用して、手順 5 で消去したディスクの初期化を再度行います。
phys-hahost1# metainit -s hahost1 d50 |
手順 11でオフラインにしたサブミラーをすべてオンラインに戻します。
phys-hahost1# metaonline -s hahost1 d15 d35 phys-hahost1# metaonline -s hahost1 d24 d54 ... |
metaonline(1M) は、すべてのサブミラーがオンラインに戻るまで必要な回数実行してください。
サブミラーがオンラインに戻ると、Solstice DiskSuite はすべてのサブミラーの同期を自動的にとり直し、すべてのデータを最新の状態にします。
この時点で metastat(1M) コマンドを実行すると、影響を受けるトレーにコンポーネントが存在するすべてのメタデバイスの同期が取り直されていることが示されます。
手順 4で切り離したサブミラーを接続します。
この手順は、metattach(1M) コマンドを使用して行なってください。詳細は、metattach(1M) のマニュアルページを参照してください。
phys-hahost1# metattach -s hahost1 d40 d50 |
手順 23で接続したサブミラーで使用されているホットスペアを交換します。
サブミラーを切り離す前にサブミラーでホットスペアへの置き換えがあった場合は、この置き換えはサブミラーが再接続された後に有効になります。この手順は、ホットスペアを Available 状態に戻します。
phys-hahost1# metareplace -s hahost1 -e d40 c3t3d4s0 |
手順 7で削除したホットスペアをすべて復元します。
metahs(1M) コマンドを実行して、ホットスペアを追加し直してください。詳細は、metahs(1M) のマニュアルページを参照してください。
phys-hahost1# metahs -s hahost1 -a hsp000 c3t2d5s0 |
必要に応じて、論理ホストをそれらのデフォルトマスターにスイッチバックします。
phys-hahost1# haswitch phys-hahost2 hahost2 |
交換によって問題が解決されたことを確認します。
phys-hahost1# metastat -s hahost1 |