この節では、次に示すような DiskSuite オブジェクトに含まれるスライスを交換および有効にするための手順を説明します。
状態データベースの複製
ストライプと連結
ミラー (サブミラー)
RAID5 メタデバイス
ホットスペア
物理ディスク (SPARCstorage Array 内のディスクも含む) を修復および交換するには、第 7 章「システムのトラブルシューティング」を参照してください。
DiskSuite ツールで状態データベースの複製を有効化 (復元) する場合、2 つの処理が実行されます。DiskSuite ツールは、まず複製を除去 (削除) してから、スライスに追加して返そうと試みます。スライスにエラーが発生しているなどの障害がある場合、継続して削除が行われます。状態データベースの複製を復元するためには、スライスを修復する必要があります。
この作業は、状態データベースによって使用されているスライスをオンラインに復帰させるために実行します。エラーの発生したスライス (ディスク) を物理的に交換してから、この作業を実行してください。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) を満たし、予備情報 (「状態データベースの複製を有効にするための予備情報」) を読んだことを確認する。
オブジェクトリストの MetaDB オブジェクトをダブルクリックする。
MetaDB オブジェクトがキャンバスに表示されます。
MetaDB オブジェクトの「情報」ウィンドウを表示する。
スクロールリストからエラーの発生したスライスを選択し、「復元」をクリックする。
選択されたスライスが「正常」状態を表示しない場合にだけ、「復元」ボタンが有効になります。
ストライプや連結には複写されたデータが含まれないため、このようなメタデバイスにスライス障害が発生した場合は、スライスを交換し、ストライプや連結を再作成し、バックアップからデータを復元しなければならなりません。
ストライプを再作成する場合、エラーの発生したスライスと少なくとも同じサイズの交換用スライスを使用します。
連結を再作成する場合、障害の発生したスライスと少なくとも同じ容量の交換用スライスを使用します。
ストライプや連結に含まれる障害の発生したスライスがサブミラーである場合は、「サブミラー内のスライスを有効にする方法 (DiskSuite ツール)」、または 「サブミラー内のスライスを交換する方法 (DiskSuite ツール)」を参照してください。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) を満たし、予備情報 (「ストライプや連結を再作成するための予備情報」) を読んだことを確認する。
メタデバイスへのアクセスを停止する。
たとえば、マウントされたファイルシステムがメタデバイスに含まれる場合、そのファイルシステムをマウント解除します。
可能ならば、ストライプや連結の上で ufsdump(1M) コマンドを実行する。
# ufsdump [<オプション>...] [<引数>...] <バックアップするファイル>... |
このコマンドでは、
<オプション> |
1 文字のオプション名から成る単一の文字列。 |
<引数> |
オプションの引数であり、複数の文字列が可能です。 オプションとそれに伴う引数は、同じ順序にします。 |
<バックアップするファイル> |
バックアップするファイル名。これらのファイル名は、常に最後に記述します。 |
詳細については、ufsdump(1M) のマニュアルページを参照してください。メタデバイスにアクセスできない場合は、最新のバックアップに依存しなければなりません。
削除するストライプや連結をオブジェクトリスト上でダブルクリックする。
メタデバイスオブジェクトがキャンバスに表示されます。
オブジェクトのポップアップメニューから「削除」を選択する。
表示されるダイアログボックスで、「削除」をクリックする。
メタデバイスを再作成する。
「ストライプ方式メタデバイスの作成方法 (DiskSuite ツール)」、または 「連結の作成方法 (DiskSuite ツール)」を参照してください。
メタデバイスがストライプである場合、新しいスライスは、障害の発生したスライスと同じサイズでなければなりません。メタデバイスが連結である場合、新しいスライスは、障害の発生したスライスと少なくとも同じ容量でなければなりません。
メタデバイスがファイルシステムに使用された場合、メタデバイス上で新しいファイルシステムを作成する。
「メタデバイス上にファイルシステムを作成」を参照してください。
# ufsrestore [<オプション>...][<引数>...][<ファイル名>...] |
このコマンドでは、
<オプション> |
1 文字のオプション名から成る単一の文字列。オプション (i、r、R、t、x) の中から 1 つだけ選択します。 |
<引数> |
オプション文字列に続けて、オプションに対応する引数を記述します。オプション名とそれに伴う引数は、同じ順序にします。 |
<ファイル名> |
復元されるファイルを、-x オプションまたは -t オプションに対する引数として、最後に指定します。 |
詳細は、ufsrestore(1M) のマニュアルページを参照してください。
メタデバイス上のデータの妥当性をチェックする。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) と予備情報 (「ストライプや連結を再作成するための予備情報」) をチェックしてから、metaclear(1M) コマンドと metainit(1M) コマンドを使用して、スライスに障害が発生した後のストライプや連結を再作成します。metastat コマンドは、連結やストライプに対するスライスエラーを表示しません。しかし、システムコンソールには次のようなエラーが表示されます。
WARNING: md d35: read error on /dev/dsk/c0t0d0s6 |
詳細は、metaclear(1M) と metainit(1M) のマニュアルページを参照してください。
# umount /news # init 0 ok boot -s ... # ufsdump 0ucf /dev/rmt/0 /news DUMP: Date of this level 0 dump: Fri Mar 1 15:17:45 1996 ... DUMP: DUMP IS DONE # metaclear d35 # metainit d35 2 1 c1t0d0s2 1 c1t0d1s2 # newfs /dev/md/rdsk/d35 # mount /dev/md/dsk/d35 /news # cd /news # ufsrestore rvf /dev/rmt 0 Verify volume and initialize maps Media block size is 126 ... Check pointing the restore # rm restoresymtable # ls /news |
d35 にはマウントされたファイルシステム /news が含まれているため、これをマウント解除して、システムをブートしてシングルユーザーモードにします。ufsdump コマンドでデータをテープにダンプし、metaclear コマンドで連結を削除します。 metainit コマンドで、障害の発生したスライスと交換する新しいスライスを使用して連結を再作成します。データを ufsrestore コマンドで復元し、さらに妥当性をチェックします (たとえば、ls コマンドを使用)。
メタデバイスがストライプである場合、新しいスライスは、障害の発生したスライスと同じサイズでなければなりません。メタデバイスが連結である場合、新しいスライスには、障害の発生したスライスと少なくとも同じ容量が必要です。
DiskSuite には、ミラーや RAID5 メタデバイスの内部でスライスの交換と有効化を行う機能があります。
DiskSuite の用語では、スライスの交換とは、サブミラーや RAID5 メタデバイス内の選択されたスライスを、システム上の有効なスライスで置き換えることです。スライスの物理的な交換とは対照的に、この方式を「メタ交換」と呼ぶことができます。スライスを有効化するとは、スライスをアクティブにしたり、スライスをそれ自身で置き換える (つまり、スライス名は同じ) ことです。
使用できる 2 つの方法とその使用タイミングを次に説明します。
ディスクエラーから回復する場合、/var/adm/messages を走査して、発生したエラーの種類を調べます。エラーが一時的な性質のものであり、ディスク自身には障害がない場合、エラーの発生したスライスの有効化を試みます。format(1M) コマンドを使用しても、ディスクをテストできます。
次のような場合、スライスの有効化が適切です。
ソフトエラーの可能性が高い場合は、現在エラーの発生しているスライスを有効にすることによって回復を試みます。
障害の発生したディスクドライブを新しいディスクドライブと物理的に交換し、元のドライブと同じようにパーティションに再分割し、エラーの発生したスライスをメタデバイス内部で有効にします。
次のような場合、スライスを有効化できます。
DiskSuite が物理ドライブにアクセスできないとき。
たとえば、この原因としては、電源断やドライブケーブルが抜けかかっている場合が挙げられます。この場合、DiskSuite はスライスを「保守状態」にします。ドライブにアクセス可能であることを確認 (電源の復旧、ケーブルの再接続など) してから、メタデバイス内のスライスを有効にします。
物理ドライブに、ディスクに関連しない一時的な障害があると思われるとき。
「保守状態」にあるスライスを、単に有効にするだけで修復できることもあります。これで障害を修復できない場合には、ディスクドライブを物理的に交換してスライスを有効にするか、そのスライスをシステム上の他の使用可能なスライスで「メタ交換」する必要があります。
ドライブを物理的に交換する場合は、古いドライブと同じようにパーティション分割します。なお、ドライブが物理的に交換されて古いドライブと同じようにパーティション分割されたら、エラーの発生したスライスを有効にするための作業は、前述の最初の条件の場合と同じです。
交換されるドライブ上のホットスペアと状態データベースの複製を必ずチェックしてください。エラーとして示される状態データベースの複製は、ディスクを交換する前に削除し、スライスを有効にする前に追加 (サイズが同じであることを確認) してください。ホットスペアも同様に処置してください。
既存のスライスを、システム上で使用可能な未使用の別のスライスと置き換えたり交換したりする場合、DiskSuite の「メタ交換」スライス機能を使用します。
次のような場合にこの方法を使用できます。
ディスクドライブに障害があり、交換用のドライブはないが、システム上の別の場所に使用可能なスライスがある場合 (交換が絶対的に必要であっても、システムをシャットダウンしたくない場合に、こうすることができます)。
ソフトエラーが発生している場合。
DiskSuite は、ミラー / サブミラーや RAID5 メタデバイスが「正常」状態にあるのに物理ディスクよりソフトエラーが通知されることがあります。問題のスライスを他の使用可能なスライスと交換すると、予防的保守を実行することになり、ハードエラーの発生を防げることがあります。
パフォーマンスチューニングを行いたい場合。
たとえば、DiskSuite ツールの統計情報表示機能を使用すれば、RAID5 メタデバイスが 「OKay」 状態であっても、ある特定のスライスに負荷が集中している状態を見ることができます。メタデバイス上の負荷を均一に分散させるため、そのスライスを使用率の少ないディスクのスライスと交換することができます。この種の交換は、メタデバイスへのサービスを中断することなく、オンラインで実行できます。
必要ならば、DiskSuite ツールを使用して、サブミラー全体を交換できます。そのためには、新しいサブミラー (連結方式オブジェクト) を作成し、交換するサブミラーの先頭にドラッグします。この作業については、「サブミラーの交換方法 (DiskSuite ツール)」を参照してください。
ミラーや RAID5 メタデバイス内のスライスにエラーが発生した場合、DiskSuite はそのスライスを「Maintenance (保守状態)」にします。「Maintenance」のスライスには、それ以降の読み書きは実行されません。その後、同じメタデバイス内で他のスライスにエラーが発生しても、その取り扱いはメタデバイスの種類に応じて異なります。ミラーは、多数のスライスが「Maintenance」にあっても動作可能であり、まだ読み書きを行うことができます。RAID5 メタデバイスは、定義により、「Maintenance」にあるスライスを 1 つだけ許容できます。ミラーまたは RAID5 メタデバイスに「Last Erred (最後にエラーが発生した状態)」のスライスがある場合、「Last Erred」とマークされたスライスにはまだ入出力が試みられます。その理由は、「Last Erred」のスライスには、DiskSuite から見て現時点で最新の正しいデータコピーに近いものが含まれているためです。「Last Erred」のスライスをもつメタデバイスは、正常なデバイス (ディスク) のように振る舞い、アプリケーションに入出力エラーを返します。通常、この時点で一部のデータは消失していることがあります。
必ず「Maintenance」のスライスを最初に交換してから、「Last Erred」のスライスを交換します。スライスが交換されて再同期されたら、metastat(1M) コマンドを使用してその状態を確認し、データの妥当性をチェックして、その内容が正しいことを確認します。
ミラー : スライスが「Maintenance」にある場合、データは失われていません。スライスは任意の順序で交換したり有効にすることができます。スライスが「Last Erred」にある場合、まず「Maintenance」にある他のすべてのミラー化スライスを交換してから、このスライスを交換できます。通常、「Last Erred」にあるスライスを交換したり有効にするということは、一部のデータが消失した状態であることを意味します。ミラーを修復してから、ミラー上のデータの妥当性をチェックしてください。
RAID5 メタデバイス : RAID5 メタデバイスは、単一のスライス障害に耐性を持ちます。「Maintenance」にあるスライスは、データを失うことなく、安全に交換できます。他のスライスにエラーが発生した場合、そのスライスは「Last Erred」となります。この時点で、RAID5 メタデバイスは読み取り専用デバイスとなります。何らかのエラー回復処置を実行して、RAID5 メタデバイスの状態を非エラー状態とし、データ損失の可能性を低下させる必要があります。RAID5 メタデバイスが「Last Erred」になった場合、データが失われた可能性が高いと言えます。RAID5 メタデバイスを修復したら、そこにあるデータの妥当性をチェックしてください。
ミラーや RAID5 メタデバイス内のスライスを交換する場合、次のガイドラインに従ってください。
必ず「Maintenance (保守状態)」のスライスを先に交換してから、「Last Erred (最後にエラーが発生した状態)」のスライスを交換してください。
スライスの交換と再同期が終了したら、metastat(1M) コマンドを使用してメタデバイスの状態を確認し、データの妥当性をチェックして正しいことを確認してください。通常、「Last Erred」にあるスライスを交換したり有効にするということは、一部のデータが消失した状態であることを意味します。メタデバイスを修復してから、メタデバイス上のデータの妥当性をチェックします。UFS の場合、fsck(1M) コマンドを実行してメタデータ (ファイルシステムの構造) の妥当性をチェックしてから、実際のユーザーのデータをチェックします (実際には、 ユーザーは自分のファイルを調査する必要があります)。データベースやその他のアプリケーションは、独自の方法でその内部データ構造の妥当性をチェックしなければなりません。
スライスを交換する場合、状態データベースの複製とホットスペアを必ずチェックしてください。
エラーとして示される状態データベースの複製は、物理ディスクを交換する前に削除し、スライスを有効にする前に追加します。同じことがホットスペアにも適用されます。
RAID5 メタデバイス:スライスの交換中、データは、現在使用中のホットスペアから復元されるか、使用中のホットスペアがなければ RAID レベル 5 パリティを使用して復元されます。
ミラー:スライスを交換するとき、DiskSuite は、新しいスライスとミラーの残りの部分との再同期を自動的に開始します。再同期が終了すると、交換されたスライスは読み書きが可能となります。障害の発生したスライスがホットスペアからのデータで交換された場合、ホットスペアは「使用可能」状態となり、他のホットスペア交換にも使用できます。
新しいスライスには、古いスライスを置き換えるだけの大きさが必要です。
予防対策として、「Last Erred」状態のデバイスを交換する前に、すべてのデータをバックアップしておいてください。
サブミラーや RAID5 メタデバイスは、エラーの発生したスライスの代わりにホットスペアを使用できます。この節で述べた作業を使用して、そのエラーの発生したスライスが有効にされるか交換されると、ホットスペアにはホットスペア集合内で「Available (使用可能)」のマークが付けられ、使用する準備ができます。
この作業は、「エラー状態」にあるサブミラー内のスライスを有効にするために使用します。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) を満たし、概要 (「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」) と予備情報 (「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」) を読んだことを確認する。
オブジェクトリストから、エラーの発生したミラーオブジェクトをダブルクリックする。
オブジェクトがキャンバスに表示されます。サブミラーはエラー状態を表示します。
状態が「重大な障害」となっているサブミラーのストライプ矩形の内部をクリックする。さらにオブジェクトのポップアップメニューを表示し、「情報」を選択する。
「ストライプ情報」ウィンドウが表示されます。
「ストライプ情報」ウィンドウで「重大な障害」状態のスライスを選択し、「有効」をクリックしてから、「閉じる」をクリックする。
スライス状態は、「重大な障害」から「有効」に変化します。サブミラーの状態は、「重大な障害 (エラー状態)」から「重大な障害 (未確定)」に変化します。
ミラーオブジェクトの内部をクリックしてから、「確定」をクリックする。
ミラーの再同期が始まります。サブミラーの状態は「コンポーネント再同期」に変化します。
再同期が終了したら、ミラーの状態が「正常」であることを確認する。
データの妥当性をチェックする。
スライスを有効化した後でも DiskSuite が「エラー状態」のスライスを通知する場合は、「サブミラー内のスライスを交換する方法 (DiskSuite ツール)」を参照してください。
「DiskSuite オブジェクトを保守するための前提条件」の前提条件、「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」の概要、「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」の予備情報をチェックしてから、 metareplace(1M) コマンドを使用して、サブミラーに含まれるエラーの発生したスライスを有効にします。metareplace(1M) では、自動的に再同期を開始して、新しいスライスをミラーの残りの部分と同期させます。
# metareplace -e d11 c1t4d0s7 d11: device c1t4d0s7 is enabled |
ミラー d11 には、ソフトエラーの発生したスライス c1t4d0s7 を含むサブミラーがあります。-e オプション付きの metareplace コマンドを使用すれば、エラーの発生したスライスを有効にできます。
物理ディスクに欠陥がある場合、「サブミラー内のスライスを交換する方法 (コマンド行)」の説明に従って、そのディスクをシステム上で使用可能な他のディスク (およびそのスライス) と交換できます。あるいは、ディスクを修復 / 交換し、フォーマットし、この例に示すように -e オプション付きの metareplace を実行することができます。
この作業は、サブミラー内のスライスを新しいスライスと交換するために使用します。DiskSuite によって使用されるディスクのパーティション分割情報は、エラーが発生する前に安全な場所に保存してください。
この作業を行う前に、交換用のスライスが正しくパーティション分割されたことを確認してください。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) を満たし、概要 (「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」) と予備情報 (「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」) を読んだことを確認する。
オブジェクトリストから、エラーの発生したミラーオブジェクトをダブルクリックする。
ミラーがキャンバスに表示されます。サブミラーはエラー状態を表示します。
サブミラーオブジェクト (連結方式オブジェクト) の内部からポップアップメニューを表示して「情報」を選択する。
スライスのサイズと状況を調べます。
スライスをクリックして、「スライスブラウザ」ウィンドウを開く。
交換の必要なスライスのサイズ以上のサイズをもつ、使用可能なスライスを探します。
交換するスライスが収められているサブミラーオブジェクトのストライプ矩形に、「スライスブラウザ」ウィンドウから交換用のスライスをドラッグする。
ミラーオブジェクトの先頭の矩形をクリックしてから「確定」をクリックする。
DiskSuite は、交換されたサブミラーの再同期を始めます。
コンフィグレーションログを表示して、ミラーが確定されたことを確認する。
データの妥当性をチェックする。
交換用のスライスをオブジェクトにドラッグするとき、連結方式オブジェクト内の他の矩形ではなく、エラーの発生したスライスのドライブ番号が収められている矩形内のカーソルをポインタで指します。
「DiskSuite オブジェクトを保守するための前提条件」の前提条件、「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」の概要、「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」の予備情報をチェックしてから、metareplace(1M) コマンドを使用して、サブミラー内のスライスを交換する。
# metastat d6 d6: Mirror Submirror 0: d16 State: Okay Submirror 1: d26 State: Needs maintenance ... d26: Submirror of d6 State: Needs maintenance Invoke: metareplace d6 c0t2d0s2 <new device> ... # metareplace d6 c0t2d0s2 c0t2d2s2 d6: device c0t2d0s2 is replaced with c0t2d2s2 |
metastat コマンドは、ミラー d6 にはサブミラー d26 があり、スライスが「Needs Maintenance」状態であることを確認します。metareplace コマンドは、metastat 出力の「Invoke」行で指定されたスライスを、システム上で使用可能な他のスライスと交換します。システムは、スライスが交換されたことを確認し、サブミラーの再同期を開始します。
サブミラー全体を交換するには、まず、交換対象のサブミラーのサイズ以上のサイズをもつ新しいストライプか連結を構築します。交換用サブミラーに使用されるスライスは、他のサブミラーとは異なるコントローラに置いてください。ストライプや連結の作成方法については、第 2 章「DiskSuite オブジェクトの作成」を参照してください。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) を満たし、概要 (「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」) と予備情報 (「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」) を読んだことを確認する。
オブジェクトリストから、エラーの発生したミラーオブジェクトをダブルクリックする。
ミラーがキャンバスに表示されます。
サブミラーを交換するオブジェクトリストから、連結方式オブジェクトをダブルクリックする。
オブジェクトがキャンバスに表示されます。
交換されるサブミラーの先頭に連結方式オブジェクトをドラッグする。
新しい連結方式オブジェクトがエラーの発生したオブジェクトと置き換えられます。
ミラーオブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
新しいサブミラーの再同期が開始されます。
コンフィグレーションログを表示して、ミラーが確定されたことを確認する。
データの妥当性をチェックする。
[オプション] 交換された連結方式オブジェクトを削除する。
「DiskSuite オブジェクトを保守するための前提条件」の前提条件、「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」の概要、「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」の予備情報をチェックしてから、 metadetach(1M)、metaclear(1M)、metatinit(1M)、metattach(1M) の各コマンドを使用して、サブミラー全体を交換します。
# metastat d20 d20: Mirror Submirror 0: d21 State: Okay Submirror 1: d22 State: Needs maintenance ... # metadetach -f d20 d22 d20: submirror d22 is detached # metaclear d22 d22: Concat/Stripe is cleared # metainit d22 2 1 c1t0d0s2 1 c1t0d1s2 d22: Concat/Stripe is setup # metattach d20 d22 d20: components are attached |
metastat コマンドは、2 面ミラー d20 に、「Needs Maintenance」状態のサブミラー d22 があることを確認します。この場合、サブミラー全体がクリアされてから、再作成されます。metadetach コマンドは、-f オプション (強制的に切断する) を使用して、エラーの発生したサブミラーをミラーから切断します。metaclear コマンドは、サブミラーをクリアします。metainit コマンドは、サブミラー d22 を新しいスライスで再作成します。metattach コマンドは、再構築されたサブミラーを接続するため、ミラーの再同期が自動的に開始されます。
ミラーが 1 面のミラーとなっている間、データの冗長性を実現する機能は一時的に失われます。
この作業は、「保守状態」にある RAID5 メタデバイス内のスライスを有効にするために行います。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) を満たし、概要 (「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」) と予備情報 (「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」) を読んだことを確認する。
オブジェクトリストから、エラーの発生した RAID5 オブジェクトをダブルクリックする。
RAID5 オブジェクトがキャンバスに表示されます。
RAID5 オブジェクトのポップアップメニューを表示し、「情報」を選択する。
「RAID 情報」ウィンドウが表示されます。
「保守状態」のスライスを選択し、「有効」をクリックしてから、「閉じる」をクリックする。
スライスの状態が「有効」に変化し、RAID5 の状態が「緊急 (未確定)」に変化します。
RAID5 オブジェクトを選択してから「確定」をクリックする。
RAID の状態が「緊急 - 再同期中」に変化し、スライスの状態が「再同期中」に変化します。
再同期が終了したら、RAID5 オブジェクトの状態が「正常」であることを確認する。
データの妥当性をチェックする。
スライスを有効化しても、まだ DiskSuite が「保守状態」のスライスを通知する場合は、「RAID5 スライスの交換方法 (DiskSuite ツール)」を参照してください。
「DiskSuite オブジェクトを保守するための前提条件」の前提条件、「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」の概要、「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」の予備情報をチェックしてから、 metareplace(1M) コマンドを使用して、RAID5 メタデバイス内のエラーの発生したスライスを有効にします。metareplace(1M) は、自動的に再同期を開始して、新しいスライスを RAID5 メタデバイス内の残りのスライスと同期させます。
# metareplace -e d20 c2t0d0s2 |
RAID5 メタデバイス d20 には、ソフトエラーの発生したスライス c2t0d0s2 があります。-e オプション付きの metareplace コマンドは、スライスを有効にします。
ディスクドライブに欠陥がある場合、「RAID5 スライスの交換方法 (コマンド行)」の説明に従って、そのディスクをシステム上で使用可能な他のディスク (およびそのスライス) と交換することができます。あるいは、ディスクを修復もしくは交換し、フォーマットし、-e オプション付きの metareplace を実行することができます。
この作業は、1 つのスライスにだけエラーの発生した RAID5 メタデバイス内で、エラーの発生したスライスを交換するために使用します。
複数のスライスにエラーが発生している場合、エラーになったスライスを交換すると、正確でないデータが生成される可能性があります。この場合、データの整合性には疑問があります。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) を満たし、概要 (「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」) と予備情報 (「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」) を読んだことを確認する。
オブジェクトリストから、エラーの発生した RAID5 メタデバイスをダブルクリックする。
オブジェクトがキャンバスに表示されます。
スライスをクリックして、「スライスブラウザ」ウィンドウを開く。
エラーの発生したスライスと交換するための使用可能なスライスを選択し、RAID5 メタデバイスオブジェクトの矩形内のスライスにドラッグする。
そのスライスは、少なくともデバイス内で最小のスライスと同じ大きさでなければなりません。
RAID5 メタデバイスオブジェクトの先頭の矩形をクリックして、「確定」をクリックする。
交換中には、メタデバイスと新しいスライスの状態は「再同期中」となります。メタデバイスがこの状態にある間、メタデバイスを使用し続けることができます。
再同期が終了したら、RAID5 オブジェクトの状態が「正常」であることを確認する。
状態を更新するためには、「ファイル」メニューから「構成の再走査」を選択することが必要な場合もあります。
データの妥当性をチェックする。
この作業は、1 つのスライスにだけエラーの発生した RAID5 メタデバイス内で、エラーの発生したスライスを交換するために使用します。
複数のスライスにエラーが発生している場合、エラーになったスライスを交換すると、正確でないデータが生成される可能性があります。この場合、データの整合性には疑問があります。
「DiskSuite オブジェクトを保守するための前提条件」の前提条件、「ミラーと RAID5 メタデバイスにおけるスライスの交換と有効化の概要」の概要、「ミラーと RAID5 メタデバイス内のスライスを交換および有効にするための予備情報」の予備情報をチェックしてから、この例に従って RAID5 メタデバイス内のエラーの発生したスライスを交換します。詳細については、metareplace(1M) のマニュアルページを参照してください。
# metastat d1 d1: RAID State: Needs Maintenance Invoke: metareplace d1 c0t14d0s6 <new device> Interlace: 32 blocks Size: 8087040 blocks Original device: Size: 8087520 blocks Device Start Block Dbase State Hot Spare c0t9d0s6 330 No Okay c0t13d0s6 330 No Okay c0t10d0s6 330 No Okay c0t11d0s6 330 No Okay c0t12d0s6 330 No Okay c0t14d0s6 330 No Maintenance # metareplace d1 c0t14d0s6 c0t4d0s6 d1: device c0t14d0s6 is replaced with c0t4d0s6 # metatstat d1 d1: RAID State: Resyncing Resync in progress: 98% done Interlace: 32 blocks Size: 8087040 blocks Original device: Size: 8087520 blocks Device Start Block Dbase State Hot Spare c0t9d0s6 330 No Okay c0t13d0s6 330 No Okay c0t10d0s6 330 No Okay c0t11d0s6 330 No Okay c0t12d0s6 330 No Okay c0t4d0s6 330 No Resyncing |
metastat コマンドは、RAID5 メタデバイス d1 内でエラーの発生したスライスから回復するために実行する操作内容を表示します。使用可能なスライスを探してから、metareplace コマンドを実行します。その際、最初にエラーの発生したスライスを指定し、次に交換用のスライスを指定します (他のスライスが使用できない場合、-e オプション付きの metareplace(1M) コマンドを実行し、エラーの発生したデバイスを再同期することによって、予想されるソフトエラーからの回復を試みます)。複数のエラーが存在する場合、「Maintenance (保守)」状態にあるスライスを最初に交換または有効にする必要があります。そうすれば「Last Erred (最後にエラーが発生した状態)」のスライスを修復できます。metareplace の後、metastat が再同期の進捗状況を監視します。交換中には、メタデバイスと新しいスライスの状態は「Resycing (再同期中)」となります。この状態の間は、メタデバイスを使用し続けることができます。
エラーの発生していないデバイス上で metareplace(1M) コマンドを使用して、ディスク (スライス) を変更することができます。この方法は、RAID5 メタデバイスのパフォーマンスをチューニングするときに便利です。
ホットスペアは、関連付けられていたすべてのホットスペア集合内で交換できます。しかし、「In Use (使用中)」状態のホットスペアは、他のホットスペアと交換できません。
交換時に、ホットスペア集合内のホットスペアの順序は変更されません。
入出力エラーが発生したら、ホットスペアは「Broken (故障)」状態に置かれます。この状態を修復するには、まず壊れたホットスペアスライスを修復または交換します。次に、DiskSuite ツールを使用するか、-e オプション付きの metahs(1M) コマンドを使用して、スライスを「Available (使用可能)」状態に戻します。
サブミラーや RAID5 メタデバイスは、エラーの発生したスライスの代わりに、ホットスペアを使用していることがあります。エラーの発生したそのスライスが有効にされるか交換されると、ホットスペアにはホットスペア集合内で「Available (使用可能)」のマークが付けられ、使用する準備が整います。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) を満たし、予備情報 (「ホットスペア集合を交換するための予備情報」) を読んだことを確認する。
オブジェクトリストから、ホットスペア集合オブジェクトをダブルクリックする。
オブジェクトがキャンバスに表示されます。
スライスをクリックして、「スライスブラウザ」ウィンドウを開く。
交換の必要なスライスと同じサイズのスライスを探す。交換するスライスが収められているホットスペア集合オブジェクトの矩形にスライスをドラッグする。
ホットスペア集合オブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
コンフィグレーションログを表示して、ホットスペア集合が確定されたことを確認する。
「DiskSuite オブジェクトを保守するための前提条件」の前提条件と 「ホットスペア集合を交換するための予備情報」の予備情報をチェックしてから、metahs(1M) を使用してホットスペアを交換します。詳細については、metahs(1M) のマニュアルページを参照してください。
# metastat hsp003 hsp003: 1 hot spare c0t2d0s2 Broken 5600 blocks # metahs -r hsp003 c0t2d0s2 c3t1d0s2 hsp003: Hotspare c0t2d0s2 is replaced with c3t1d0s2 |
metastat コマンドは、ホットスペアが使用中でないことを確認します。metahs -r コマンドは、ホットスペア /dev/dsk/c0t2d0s2 を、ホットスペア集合 hsp003 内の /dev/dsk/c3t1d0s2 で置き換えます。
# metahs -r all c1t0d0s2 c3t1d0s2 hsp001: Hotspare c1t0d0s2 is replaced with c3t1d0s2 hsp002: Hotspare c1t0d0s2 is replaced with c3t1d0s2 hsp003: Hotspare c1t0d0s2 is replaced with c3t1d0s2 |
キーワード all は、ホットスペア /dev/dsk/c1t0d0s2 を、その関連付けられたすべてのホットスペア集合内の /dev/dsk/c3t1d0s2 で置き換えます。
この作業は、ホットスペアが修復された後で、ホットスペアを有効にする (使用可能にする) ために使用します。
前提条件 (「DiskSuite オブジェクトを保守するための前提条件」) を満たし、予備情報 (「ホットスペア集合を交換するための予備情報」) を読んだことを確認する。
オブジェクトリストから、ホットスペア集合オブジェクトをダブルクリックする。
オブジェクトがキャンバスに表示されます。
ホットスペア集合オブジェクトのポップアップメニューを表示し、「情報」を選択する。
修復されたスライスをスライスリストから選択して、「有効」をクリックする。
「閉じる」をクリックして、「ホットスペア情報」ウィンドウを閉じる。
ホットスペア集合オブジェクトの先頭の矩形をクリックし、「確定」をクリックする。
ホットスペア集合オブジェクトの状態が「正常」に変化していることを確認する。
「DiskSuite オブジェクトを保守するための前提条件」の前提条件と 「ホットスペア集合を交換するための予備情報」の予備情報をチェックしてから、metahs(1M) コマンドを使用して、ホットスペアを「Available (使用可能)」状態に戻します。詳細は、metahs(1M) のマニュアルページを参照してください。
# metahs -e c0t0d0s2 |
この例では、ホットスペア /dev/dsk/c0t0d0s2 は修復された後で使用可能な状態になります。ホットスペア集合を指定する必要はありません。