次のどちらかの方法で RAID 5 ボリュームの状態をチェックします。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、ボリュームの状態を表示します。 次に、ボリュームを選択し、「アクション (Action)」、「プロパティ (Properties)」の順に選択して、さらに詳しい情報を表示します。 詳細は、オンラインヘルプを参照してください。
metastat コマンドを使用します。
metastat コマンドは、RAID 5 ボリュームのスライスごとに次の情報を表示します。
「デバイス (Device)」(ストライプ内のスライスのデバイス名)
「開始ブロック (Start Block)」(スライスの開始ブロック)
「Dbase」(スライスに状態データベースの複製が含まれているかどうか)
「状態 (State)」(スライスの状態)
「ホットスペア (Hot Spare)」(障害のあるスライスのホットスペアとして使用されるスライス)
metastat コマンドで出力された、RAID 5 ボリュームの状態を以下に示します。
# metastat d10: RAID State: Okay Interlace: 32 blocks Size: 10080 blocks Original device: Size: 10496 blocks Device Start Block Dbase State Hot Spare c0t0d0s1 330 No Okay c1t2d0s1 330 No Okay c2t3d0s1 330 No Okay |
metastat コマンドの出力には、ボリュームが RAID 5 ボリュームであることが示されています。 また、RAID 5 ボリュームのスライスごとに、ストライプ内のスライスの名前、スライスの開始ブロック、スライスに状態データベースの複製が含まれていないこと、スライスが「正常」状態であること、障害のあるスライスのホットスペアとして使用されるスライスが存在しないことが示されています。
次の表に、RAID 5 ボリュームの状態を示します。
表 14–1 RAID 5 の状態
状態 |
意味 |
---|---|
初期化中 (Initializing) |
スライスは、ディスクブロックをゼロで初期化しています。 この処理は、データとパリティを飛び越し方式でストライプ化する RAID 5 ボリュームの特性上、必要になるものです。 状態が「正常」になったら、初期化が完了しており、デバイスを開くことができます。 この状態になるまで、アプリケーションはエラーメッセージを受け取ります。 |
正常 (Okay) |
デバイスにはエラーはなく、使用可能な状態です。 |
保守 (Maintenance) |
読み取りまたは書き込み操作で入出力エラーかオープンエラーが発生したため、1 つのスライスがエラー状態になっています。 |
RAID 5 ボリュームのエラーに対処する場合は、おそらくスライスの状態がもっとも重要な情報となります。 RAID5 の状態は、「正常 (Okay)」や「保守が必要 (Needs Maintenance)」などの一般的な状態情報を提供するだけです。RAID 5 の状態が「保守が必要 (Needs Maintenance)」の場合は、スライスの状態を参照する必要があります。 スライスの状態が「保守 (Maintenance)」の場合と「最後にエラー (Last Erred)」の場合では、障害から回復するための処置が異なります。 「保守 (Maintenance)」状態のスライスが 1 つだけ存在する場合は、データを失うことなくスライスを修理できます。 「保守 (Maintenance)」状態のスライスと「最後にエラー (Last Erred)」状態のスライスが 1 つずつある場合は、おそらくデータは破壊されています。 この場合には、「保守 (Maintenance)」状態のスライスを修理してから「最後にエラー (Last Erred)」状態のスライスを修理する必要があります。 詳細は、RAID 1 および RAID 5 ボリューム内のコンポーネントの交換と有効化の概要を参照してください。
次の表に、RAID 5 ボリュームのスライス状態と実行可能な処置を示します。
表 14–2 RAID 5 のスライスの状態
状態 |
意味 |
処置 |
---|---|---|
初期化中 (Initializing) |
スライスは、ディスクブロックをゼロで初期化しています。 この処理は、データとパリティを飛び越し方式でストライプ化する RAID 5 ボリュームの特性上、必要になるものです。 |
通常は必要ありません。 この間に入出力エラーが発生すると、デバイスの状態は「保守」に変わります。 初期化に失敗すると、このボリュームの状態は「初期化失敗」に、スライスの状態は「保守」になります。 この場合には、ボリュームを削除してから作成し直す必要があります。 |
正常 (Okay) |
デバイスにはエラーはなく、使用可能な状態です。 |
必要ありません。 必要に応じて、スライスを追加および交換に使用できます。 |
再同期中 (Resyncing) |
スライスの再同期処理が進行しています。 エラーが発生したが、すでに訂正され、スライスが有効になっているか、あるいは、新しいスライスが追加された後です。 |
必要であれば、再同期が終了するまで RAID 5 ボリュームの状態を監視します。 |
保守 (Maintenance) |
読み取りまたは書き込み操作で入出力エラーかオープンエラーが発生したため、1 つのスライスがエラー状態となっています。 |
障害が発生したスライスを有効にするか、交換します。 詳細は、RAID 5 ボリューム内のコンポーネントを有効にするにはまたは RAID 5 ボリューム内のコンポーネントを置き換えるにはを参照してください。 metastat コマンドを実行すると、metareplace コマンドを使って行うべき処置を示す invoke 回復メッセージが表示されます。 |
保守/最後にエラー (Maintenance/ Last Erred) |
複数のスライスでエラーが発生しました。 エラーが発生したスライスの状態は「保守」か「最後にエラー」です。この状態の場合、「保守」状態のスライスには入出力は実行されません が、「最後にエラー」状態のスライスには実行されます。この結果、入出力要求の状態は、全体的に「最後にエラー」となります。 |
障害が発生したスライスを有効にするか、交換します。 詳細は、RAID 5 ボリューム内のコンポーネントを有効にするにはまたは RAID 5 ボリューム内のコンポーネントを置き換えるにはを参照してください。 metastat コマンドを実行すると、(-f フラグを指定した) metareplace コマンドを使って行うべき処置を示す invoke 回復メッセージが表示されます。 この状態は、複数のスライスに障害が発生したため、不正なデータが生成された可能性があることを示しています。 |
RAID 5 ボリュームの初期化や再同期化を中断することはできません。
一般に、コンポーネントの追加は、領域が不足している RAID 5 ボリュームに対する一時的な解決策です。 性能上の理由から、「純粋な」RAID 5 ボリュームの使用をお勧めします。 記憶領域を増やすために既存の RAID 5 ボリュームを拡張する必要がある場合は、この手順を使用してください。
32 ビットカーネルの Solaris オペレーティング環境、または Solaris 9 4/03 より前のバージョンの Solaris オペレーティング環境を実行する予定がある場合 は、1T バイトを超えるボリュームを作成しないでください。Solaris ボリュームマネージャでの大容量ボリュームのサポートについては、Solaris ボリュームマネージャの大容量ボリュームのサポートについての概要を参照してください。
すべてのデータの最新のバックアップを取っているか確認します。また、この操作にはルート権限が必要です。
RAID 5 ボリュームを作成するための背景情報を確認します。
次のどちらかの方法で RAID 5 ボリュームに他のコンポーネントを追加します。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、次に RAID 5 ボリュームを開きます。 「コンポーネント (Components)」ペインを選択し、次に「コンポーネントを割り当て (Attach Component)」を選択して、指示に従います。 詳細は、オンラインヘルプを参照してください。
次の形式の metattach コマンドを実行します。
metattach volume-name name-of-component-to-add |
volume-name は、拡張するボリュームの名前です。
name-of-component-to-add は、RAID 5 ボリュームに追加するコンポーネントの名前です。
# metattach d2 c2t1d0s2 d2: column is attached |
この例では、既存の RAID 5 ボリューム d2 にスライス c2t1d0s2 を追加します。
UFS の場合は、RAID5 ボリュームに対して growfs コマンドを実行します。 詳細は、ボリュームとディスク領域の拡張 を参照してください。
データベースなど、raw ボリュームを使用するアプリケーションは、独自の方法で領域を拡張できなければなりません。
ディスクドライブに障害が発生した場合は、そのスライスの代わりにシステムの他のディスク (およびスライス) を使用することができます (RAID 5 ボリューム内のコンポーネントを置き換えるにはを参照)。 あるいは、そのディスクを修理または交換し、ディスクにラベルを付け、 metareplace コマンドに -e オプションを指定して実行します。
すべてのデータの最新のバックアップを取っているか確認します。また、この操作にはルート権限が必要です。
次のどちらかの方法で、RAID 5 ボリューム内の、障害が発生したコンポーネントを有効にします。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、次に RAID 5 ボリュームを開きます。 「コンポーネント (Components)」ペインを選択し、障害のあるコンポーネントを選択します。 「コンポーネントを有効にする (Enable Component)」をクリックし、指示に従います。 詳細は、オンラインヘルプを参照してください。
次の形式の metareplace コマンドを実行します。
metareplace -e volume-name component-name |
-e は、同じ場所で障害が発生したコンポーネントを新しいコンポーネントで置き換える (おそらく、ディスクを物理的に交換した後で) ことを意味します。
volume-name は、障害が発生したコンポーネントを含むボリュームの名前です。
component-name は、置き換えられるコンポーネントの名前です。
metareplace は、新しいコンポーネントと RAID 5 ボリュームの残りのコンポーネントとの再同期を自動的に開始します。
# metareplace -e d20 c2t0d0s2 |
この例では、RAID 5 ボリューム d20 を構成するスライス c2t0d0s2 にソフトエラーが発生したものとします。 metareplace コマンドに -e オプションを指定して、このスライスを置き換えます。
この作業では、1 つのスライスに障害が発生した RAID 5 ボリュームでそのスライスを交換します。
複数のスライスでエラーが発生している状態で、障害のあるスライスを 1 つだけ交換すると、不正なデータが生成されることがあります。 その場合のデータの完全性は保証されません。
metareplace コマンドを障害が発生していないデバイス上で実行すれば、ディスクスライスなどのコンポーネントを交換できます。 この方法は、RAID 5 ボリュームの性能を調整するときなどに便利です。
すべてのデータの最新のバックアップを取っているか確認します。また、この操作にはルート権限が必要です。
次のどちらかの方法で RAID 5 ボリュームのどのスライスを交換するか判断します。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、次に RAID 5 ボリュームを開きます。 「コンポーネント (Components)」ペインを選択して、個々のコンポーネントの状態を調べます。 詳細は、オンラインヘルプを参照してください。
metastat コマンドを使用します。
「保守」というキーワードを探して、障害のあるスライスを特定します。
次のどちらかの方法で、障害のあるスライスを別のスライスで置き換えます。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開き、次に RAID 5 ボリュームを開きます。 「コンポーネント (Components)」ペインを選択し、障害のあるコンポーネントを選択します。 「コンポーネントを置換 (Replace Component)」をクリックし、指示に従います。 詳細は、オンラインヘルプを参照してください。
次の形式の metareplace コマンドを実行します。
metareplace volume-name failed-component new-component |
volume-name は、障害が発生したコンポーネントを含むボリュームの名前です。
failed-component は、置き換えられるコンポーネントの名前です。
new-component は、障害のあるコンポーネントの代わりにボリュームに追加するコンポーネントの名前です。
詳細は、metareplace(1M) のマニュアルページを参照してください。
手順 2 のどちらかの方法で、新しいスライスの状態を確認します。
スライスは、「再同期中 (Resyncing)」状態か「正常 (Okay)」状態になるはずです。
# 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 # metastat 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 コマンドを実行すると、RAID 5 ボリューム d1 内の不良スライスを修復するための処置が表示されます。 交換用として使用可能なスライスを特定してから metareplace コマンドを実行します。このコマンドには、まず障害が発生したスライスを指定し、次に交換用のスライスを指定します。 (使用可能なスライスがない場合は、 metareplace コマンドに -e オプションを付けて実行し、障害のあるデバイスを再同期することによって、予想されるソフトエラーからの回復を試みます。) 複数のエラーがある場合は、まず「保守(Maintenance)」状態のスライスを交換するか有効にする必要があります。 そのあとで、「最後にエラー (Last Erred)」状態のスライスを修理します。 metareplace コマンドの次に metastat コマンドを実行し、再同期の進捗状況を監視します。 交換中は、ボリュームの状態と新しいスライスは「再同期中 (Resyncing)」状態となります。この状態の間は、ボリュームを使い続けることが できます。