この章では、Sun StorEdge A5000 ディスクの管理方法について説明します。
Sun Cluster 構成で ディスクハードウェアを交換または修復する場合は、Sun StorEdge A5000 ディスクのサービスマニュアルとボリューム管理ソフトウェアのマニュアルを参照してください。
Sun StorEdge A5000 の 1 台が停電すると、入出力オペレーションはボリューム管理ソフトウェアによって検出されるエラーを生成します。これらのエラーは、そのディスクに対して入出力トランザクションが行われるまでは報告されません。
これらのイベントについては、第 2 章「Sun Cluster の管理ツール」で説明しているコマンドを使用して構成を監視する必要があります。
次に、Solstice DiskSuite 環境でディスク格納装置に電力損失が発生した場合の回復手順の概略を示します。
エラーが発生した複製を確認 (特定) する
エラーが発生した複製を稼動状態に戻す
エラーが発生したデバイスを確認する
エラーが発生したデバイスを稼動状態に戻す
ディスクの同期をとり直す
次に、Solstice DiskSuite 環境でディスク格納装置に電力損失が発生した場合の詳しい回復手順を示します。
電力が戻った時点で、metadb(1M) コマンドを実行してエラーが発生した複製を確認します。
# metadb -s diskset |
複製を稼動状態に戻します。
停電後、影響を受けたディスク格納装置上のすべてのメタデバイス状態データベース複製がエラー状態になります。メタデバイス状態データベースの複製は自動回復しないため、ディスク格納装置が稼働状態に戻った直後に回復させるのが最も安全です。回復が遅れると障害がさらに発生し、複製のほとんどが動作不能になり、カーネルパニックを引き起こす場合があります。これは、Solstice DiskSuite 構成で使用できる複製が少なすぎる場合によく起きる現象です。
エラーが発生したこれらの複製は次のテイクオーバー (haswitch(1M) または reboot(1M)) で修復されますが、まずこれらを削除して追加し直すことにより手動で稼働状態に戻すこともできます。
各スライスで削除した複製と同じ数の複製を追加し直すように注意してください。複製は、metadb(1M) コマンドを一度発行してまとめて削除できます。1 つのスライスに複製のコピーを複数格納する必要がある場合は、-c フラグを指定した metadb(1M) を 1 度呼び出し、まとめて追加します。
metastat(1M) コマンドを実行して、エラーが発生したメタデバイスを確認します。
# metastat -s diskset |
metareplace(1M) コマンドを使用してエラーが発生したメタデバイスを稼動状態に戻し、ディスクの同期をとり直します。
# metareplace -s diskset -e mirror component |
-e オプションは、コンポーネント (スライス) を Available 状態に変え、同期をとり直します。
ホットスペアに置き換えられているコンポーネントは、metareplace(1M) コマンドを使用して最後に交換してください。ホットスペアが最初に交換されると、ホットスペアは使用できる状態になったとたんに、エラーが発生したほかのサブミラーを交換する可能性があります。
一度に同期をとり直すことができるのは、サブミラー (メタデバイス) の 1 つのコンポーネントだけです。サブミラーのすべてのコンポーネントが停電の影響を受けた場合は、各コンポーネントを個々に交換する必要があります。1.05G バイトディスクの同期をとり直すには約 10 分かかります。
対称構成内の両方のディスクセットが停電の影響を受けた場合は、各ディスクセットの影響を受けたサブミラーの同期を同時にとり直すことができます。各ホストに個別にログインし、metareplace(1M) コマンドを各ホストで実行してホストのディスクセットを回復させてください。
サブミラーの数とサブミラー内のコンポーネントの数によっては、再同期に相当な時間がかかる場合があります。たとえば、コンポーネントが 5 つしかない管理が容易なサブミラーは、50 分ほどで完了する場合がありますが、1.05G バイトのドライブが 30 個あるようなサブミラーの場合、完了までに約 5 時間かかる可能性があります。
停電が起きると、ディスクドライブが切り離されると同時に、プレックスが切り離されて使用できなくなります。ミラー化されたボリューム内のほかのプレックスはそのまま使用できるため、ボリュームはアクティブに保たれます。ディスクドライブを再接続してこの状況を回復させるには、クラスタ内のノードを停止せずに行えます。
次に、VxVM 構成でディスク格納装置を電力損失から回復させる手順の概略を示します。
vxprint と vxdisk コマンドを使用して、エラーが発生したプレックスを確認する
電力損失を引き起こした障害を修復する
drvconfig と disks コマンドを実行して、/devices と /dev エントリを作成する
現在のディスク構成を検査する
一時的な障害が発生したディスクを再接続する
障害がほかにないことを確認する
(省略可能) 共有ディスクグループでは、停電したディスクごとに vxdg コマンドを実行する
ボリューム回復を開始する
次に、VxVM 構成でディスク格納装置を電力損失から回復させる詳しい手順を示します。
vxprint コマンドを実行して、エラーが発生したプレックスを表示します。
必要に応じて、-g diskgroup オプションを使用してディスクグループを指定してください。
vxdisk コマンドを実行して、エラーが発生したディスクを確認します。
# vxdisk list DEVICE TYPE DISK GROUP STATUS .. - - c1t5d0 toi failed was:c1t5d0s2 ... |
障害が発生したすべてのディスクに電力が戻るように、障害の原因を修復します。
修復を行う前に、ディスクが起動していることを確認してください。
クラスタ内のすべてのノードで、次のコマンドを入力します。
場合によっては、ノード別にドライブを確認し直す必要があります。
# drvconfig # disks |
クラスタ内のすべてのノードで、次のコマンドを入力します。
ボリュームマネージャによって、現在のディスク構成の検査が再度行われます。
# vxdctl enable # vxdisk -a online |
次のコマンドをまずマスターノードで入力し、その後でクラスタ内のほかのノードで入力します。
このコマンドは、一時的な障害が発生したディスクを再接続します。
# vxreattach |
vxdisk コマンドの出力を検証し、ほかにエラーがないか確認します。
# vxdisk list |
メディアが交換された場合は、切断されたディスクごとにマスターノードから次のコマンドを入力します。
このコマンドにより、物理ディスクとそのディスクのボリュームマネージャアクセス名が再結合されます。
# vxdg -g diskgroup -k adddisk medianame=accessname |
medianame と accessname の値が、vxdisk list コマンド出力の最後に表示されます。
次に例を示します。
# vxdg -g toi -k adddisk c1t5d0=c1t5d0s2 # vxdg -g toi -k adddisk c1t5d1=c1t5d1s2 # vxdg -g toi -k adddisk c1t5d2=c1t5d2s2 # vxdg -g toi -k adddisk c1t5d3=c1t5d3s2 # vxdg -g toi -k adddisk c1t5d4=c1t5d4s2 |
ディスクの再接続には、vxdiskadm コマンドまたは GUI も使用できます。
ノードから、ボリューム回復を開始します。
共有ディスクグループがある場合は、vxrecover コマンドに -svc オプションを指定してください。
# vxrecover -bv [-g diskgroup] |
(省略可能) vxprint -g コマンドを実行して、変更を表示します。
この節では、Sun StorEdge A5000 のコンポーネントを管理する方法について説明します。障害が発生したコンポーネントを確認するには、サーバーのハードウェアマニュアルに示された方法を使用してください。
ディスク格納装置からクラスタノードの 1 つに対する接続が失敗する場合、通常、SCSI-2 ケーブルまたは SBus カードに欠陥があります。
どのようなイベントにおいても、障害が発生したノードは、障害が発見される時点でエラーを生成し始めます。そのディスク格納装置に対してその後アクセスがあると、さらにエラーが生成されます。ノードは、ディスク格納装置が停電したかのように動作します。この種の障害は、クラスタ内のほかのノードからの I/O オペレーションには影響を与えません。
障害を診断するには、Sun Cluster ノードのサービスマニュアルに示されたカードモジュールのテスト作業を行い、障害が発生したコンポーネントを確認してください。ハードウェアデバッグを行うには、ノードの 1 つとダウンしていると思われるディスク格納装置を解放してください。
コンポーネントの交換ができるように Sun Cluster システムの準備を行います。
切断の原因にもとづいて、次に示す作業の 1 つを行なって Sun Cluster ノードの準備を行います。
障害が発生したコンポーネントが SBus FC-100 ホストアダプタの場合、第 7 章「サーバーコンポーネントの管理」を参照して Sun Cluster ノードの電源を切断できるように準備します。
問題が FC-100 光ファイバケーブルの欠陥にある場合は、ボリューム管理ソフトウェアがすでにその問題を検出し、ケーブルが交換できるようにシステムの準備を行なっています。
障害が発生したコンポーネントを交換します。
FC-100 光ファイバケーブルまたは SBus FC-100 ホストアダプタに障害が発生する場合は、『Sun StorEdge A5000 Installation and Service Manual』でそれらの詳しい交換方法を確認してください。
ボリューム管理ソフトウェアのエラーから回復させます。
「電力損失からの回復」に示された作業を行なってください。
以上で、切断を修復する作業が終わります。
この節では、Sun Cluster 構成で Sun StorEdge A5000 ディスクの追加と交換を行う方法について説明します。
Sun StorEdge A5000 ディスクの追加または交換を行う場合は、必ずシステムに付属のマニュアルで詳細を参照してください。
障害が発生した A5000 ディスクを VxVM の制御下で交換する場合、単純にディスクを取り外して新しいものに交換することはできません。これは、各ディスクに固有の World Wide Name (WWN) があるためです。WWN の詳細は、「SPARCstorage Array コントローラの交換と WWN の変更」を参照してください。
luxadm コマンドを使用して、新しいディスクを挿入します。
プロンプトが表示されたら、ディスク (1 つ以上) を設置します。アレイに物理的に接続しているノードごとに繰り返してください。
# luxadm insert enclosure.slot |
新しいディスクドライブを挿入し、Return キーを入力します。
必要に応じて、format を使用してディスクラベルの作成とパーティションの再分割を行います。
scdidadm(1M) コマンドを使用して新しいディスクを見つけ、その DID インスタンスを作成します。
このコマンドは、ノード 1 から実行してください。詳細は、scdidadm(1M) のマニュアルページを参照してください。
# scdidadm -r -H node2,node3... |
以上で、ディスクの追加作業が終了します。
luxadm コマンドを使用して、新しいデバイスのループの準備を行います。
プロンプトが表示されたら、新しいディスク (1 つ以上) を設置します。
# luxadm insert |
VxVM に新しいディスクを通知します。
# vxdctl enable |
vxdiskadm コマンドを使用して、新しいディスクを VxVM の制御下に置きます。
1 (1 つ以上のディスクを追加または初期化する) を入力します。
以上で、ディスクの追加作業が終了します。
障害のあるディスクを使用しているメタデバイスまたはアプリケーションをすべて確認します。
メタデバイスがミラー化されているか RAID5 の場合、メタデバイスを停止せずにディスクを交換できます。この条件に当てはまらない場合は、適切なコマンドを使用してディスクの I/O をすべて停止する必要があります。たとえば、ストライプまたは連結上のファイルシステムのマウントを解除するには、umount(1M) コマンドを使用します。
必要に応じ、ディスクラベルを保存します。
次に例を示します。
# prvtoc /dev/rdsk/c1t3d0s2 > /tmp/c1t3d0.vtoc |
(省略可能) ディスクがホットスペア化されていない場合は、metareplace を使用してディスクスライスを交換します。
次に例を示します。
# metareplace d1 c1t3d0s2 c1t2d0s2 d1: device c1t3d0s2 is replaced with c1t2d0s2 |
luxadm -F を使用して、ディスクを削除します。
Solstice DiskSuite はディスクをオフラインにしないため、-F は必須です。
ディスクが多重ホスト構成されている場合は、すべてのホストに対してこのコマンドを実行する必要があります。次に例を示します。
# luxadm remove -F /dev/rdsk/c1t3d0s2 WARNING!!! Please ensure that no filesystems are mounted on these device(s). All data on these devices should have been backed up. The list of devices which will be removed is: 1: Box Name "macs1" rear slot 1 Please enter `q' to Quit or <Return> to Continue: stopping: Drive in "macs1" rear slot 1....Done offlining: Drive in "macs1" rear slot 1....Done Hit <Return> after removing the device(s). |
削除されるディスクドライブを示す FPM アイコンと、ディスクドライブの下の琥珀色の LED が点滅していることを確認してください。
ディスクドライブを除去し、Return キーを押します。
次に出力例を示します。
Hit <Return> after removing the device(s). Drive in Box Name "macs1" rear slot 1 Removing Logical Nodes: Removing c1t3d0s0 Removing c1t3d0s1 Removing c1t3d0s2 Removing c1t3d0s3 Removing c1t3d0s4 Removing c1t3d0s5 Removing c1t3d0s6 Removing c1t3d0s7 Removing c2t3d0s0 Removing c2t3d0s1 Removing c2t3d0s2 Removing c2t3d0s3 Removing c2t3d0s4 Removing c2t3d0s5 Removing c2t3d0s6 Removing c2t3d0s7# |
SPARCstorage Array がマルチホスト構成の場合は、すべてのノードについて 手順 4を繰り返します。
luxadm insert コマンドを使用して、新しいディスクを挿入します。
すべてのノードについて繰り返します。次に出力例を示します。
# luxadm insert macs1,r1 The list of devices which will be inserted is: 1: Box Name "macs1" rear slot 1 Please enter `q' to Quit or <Return> to Continue: Hit <Return> after inserting the device(s). |
ディスクドライブを挿入し、Return キーを入力します。
次に出力例を示します。
Hit <Return> after inserting the device(s). Drive in Box Name "macs1" rear slot 1 Logical Nodes under /dev/dsk and /dev/rdsk : c1t3d0s0 c1t3d0s1 c1t3d0s2 c1t3d0s3 c1t3d0s4 c1t3d0s5 c1t3d0s6 c1t3d0s7 c2t3d0s0 c2t3d0s1 c2t3d0s2 c2t3d0s3 c2t3d0s4 c2t3d0s5 c2t3d0s6 c2t3d0s7# |
交換したディスクドライブの FPM アイコンと、ディスクドライブの下の緑色の LED が点滅していることを確認してください。
scdidadm(1M) を使用して、DID 疑似デバイス情報を更新します。
ディスクに接続されたすべてのノードで、次のコマンドを実行して新しいディスク ID 情報を更新してください。
# scdidadm -R DID_instance |
DID_instance には、交換されたディスクのインスタンス名を指定します。詳細は、scdidadm(1M) のマニュアルページを参照してください。
新しいディスクに接続されたすべてのノードを再起動します。
ダウンタイムを避けるため、haswitch(1M) コマンドを使用して、ノードが制御できるすべての論理ホストの所有権を再起動されるノードに切り替えます。次に例を示します。
# haswitch phys-hahost2 hahost1 hahost2 |
必要に応じて、ディスクに名前を付けます。
次に例を示します。
# cat /tmp/c1t3d0.vtoc | fmthard -s - /dev/rdsk/c1t3d0s2 fmthard: New volume table of contents now in place. |
必要に応じて、metadb を繰り返します。
次に例を示します。
# metadb -d c1t3d0s0; metadb -a c1t3d0s0 |
metareplace -e を使用して、新しいディスクスライスを有効にします。
次に例を示します。
# metareplace -e d0 c1t3d0s0 d0: device c1t3d0s0 is enabled |
以上で、ディスクの交換作業が終了します。
障害のあるディスクを使用しているボリュームまたはアプリケーションをすべて確認します。
ボリュームがミラー化されているか RAID5 の場合、ボリュームを停止せずにディスクを交換できます。この条件に当てはまらない場合は、適切なコマンドを使用してディスクの I/O をすべて停止する必要があります。たとえば、ストライプまたは連結上のファイルシステムのマウントを解除するには、umount(1M) コマンドを使用します。
vxdiskadm コマンドを使用し、ディスクデバイスを交換してオフラインにします。
VxVM の場合、ディスクグループを所有している論理ホストを制御しているマシンでこのコマンドを実行してください。
4 (交換のためにディスクを削除する) を入力し、続いて 11 (ディスクデバイスを無効 <オフライン> にする) を入力します。
GUI を使用することもできます。
luxadm コマンドを使用して、デバイスとデバイスノードを削除します。
対話型のこのコマンドは、ディスクを実際に除去する指示を表示します。SPARCstorage Array に接続されているノードごとにコマンドを実行します。次に例を示します。
# luxadm remove_device -F /dev/rdsk/c2t20d0s2 |
実際のディスクを交換し、luxadm コマンドを使用して新しいディスクを挿入します。
これにより、新しいデバイスとデバイスノードが作成されます。SPARCstorage Array に接続されたノードごとにこのコマンドを繰り返します。次に例を示します。
# luxadm insert_device ratbert,r4 |
ボリュームマネージャに新しいディスクを通知します。
# vxdctl enable |
vxdiskadm コマンドを使用して、新しいディスクを VxVM の制御下に置きます。
5 (障害が発生したディスクまたは削除されたディスクを交換する) を入力してください。
(省略可能) 必要に応じ、ボリュームを復元します。
以上で、ディスクの交換作業が終了します。