この章では、RAID 5 ボリュームに関連する Solaris ボリュームマネージャの作業について説明します。これらの作業に伴う概念については、第 13 章「RAID 5 ボリューム (概要)」を参照してください。
次の表に、Solaris ボリュームマネージャの RAID 5 ボリュームを管理するのに必要な作業を示します。
作業 |
説明 |
参照先 |
---|---|---|
RAID 5 ボリュームの作成 |
Solaris ボリュームマネージャの GUI か metainit コマンドを使って RAID 5 ボリュームを作成します。 | RAID 5 ボリュームを作成するには |
RAID 5 ボリュームの状態チェック |
Solaris ボリュームマネージャの GUI か metastat コマンドを使って、RAID 5 ボリュームの状態をチェックします。 | |
RAID 5 ボリュームの拡張 |
Solaris ボリュームマネージャの GUI か metattach コマンドを使って RAID 5 ボリュームを拡張します。 | RAID 5 ボリュームを拡張するには |
RAID 5 ボリュームのスライスの有効化 |
Solaris ボリュームマネージャの GUI か metareplace コマンドを使って、RAID 5 ボリュームのスライスを有効にします。 | |
RAID 5 ボリュームのスライスの交換 |
Solaris ボリュームマネージャの GUI か metareplace コマンドを使って、RAID 5 ボリュームのスライスを置き換えます。 |
Solaris ボリュームマネージャ要素を作成するための前提条件と RAID 5 ボリュームを作成するための背景情報を確認します。
次のどちらかの方法で RAID 5 ボリュームを作成します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、「アクション (Action)」、「ボリュームの作成 (Create Volume)」の順に選択し、ウィザードの指示に従ってボリュームを作成します。詳細は、オンラインヘルプを参照してください。
次の形式の metainit コマンドを使用します。
metainit name -r component component component |
name は、作成するボリュームの名前です。
r は、RAID 5 ボリュームを作成することを意味します。
component には、RAID 5 ボリュームに含めるスライスまたはソフトパーティションを指定します。
飛び越し値を指定する場合は、-i interlace-value オプションも指定します。詳細は、metainit(1M) のマニュアルページを参照してください。
# metainit d45 -r c2t3d0s2 c3t0d0s2 c4t0d0s2 d45: RAID is setup |
この例では、-r オプションを使って 3 つのスライスから成る RAID 5 ボリューム d45 を作成します。d45 の飛び越し値には、デフォルトの 16K バイトを使用します。RAID 5 ボリュームが設定されて、ボリュームの初期化が開始されたことを示すメッセージが表示されます。
ボリュームの初期化が終わるまで RAID 5 ボリュームを使用することはできません。
新たに作成した RAID 5 ボリュームにファイルシステムを作成する場合は、『Solaris のシステム管理 (基本編)』の「ファイルシステムの作成 (手順)」を参照してください。データベースなど、raw ボリュームを使用するアプリケーションは、独自の方法でこのボリュームを認識できなければなりません。
ホットスペアプールと RAID 5 ボリュームを関連付ける手順については、ホットスペア集合とボリュームを対応付けるにはを参照してください。
次のどちらかの方法で RAID 5 ボリュームの状態をチェックします。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes)」ノードを開き、ボリュームの状態を表示します。次に、ボリュームを選択し、「アクション (Action)」、「プロパティ (Properties)」の順に選択して、さらに詳しい情報を表示します。詳細は、オンラインヘルプを参照してください。
metastat コマンドを使用します。
metastat コマンドは、RAID 5 ボリュームのスライスごとに次の情報を表示します。
「デバイス」(ストライプ内のスライスのデバイス名)
「開始ブロック」(スライスの開始ブロック)
「Dbase」(スライスに状態データベースの複製が含まれているかどうか)
「状態」(スライスの状態)
「ホットスペア」(障害のあるスライスのホットスペアとして使用されるスライス)
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 ボリュームのエラーに対処する場合は、おそらくスライスの状態がもっとも重要な情報となります。RAID 5 の状態は、「正常」や「保守が必要」などの一般的な状態情報を提供するだけです。RAID 5 の状態が「保守が必要」の場合は、スライスの状態を参照する必要があります。スライスの状態が「保守」の場合と「最後にエラー」の場合では、障害から回復するための処置が異なります。「保守」状態のスライスが 1 つだけ存在する場合は、データを失うことなくスライスを修理できます。「保守」状態のスライスと「最後にエラー」状態のスライスが 1 つずつある場合は、おそらくデータは破壊されています。この場合には、「保守」状態のスライスを修理してから「最後にエラー」状態のスライスを修理する必要があります。詳細は、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 ボリュームに他のコンポーネントを追加します。
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 ボリュームに追加するコンポーネントの名前です。
一般に、コンポーネントの追加は、領域が不足している RAID 5 ボリュームに対する一時的な解決策です。性能上の理由から、「純粋な」RAID 5 ボリュームの使用をお勧めします。
# metattach d2 c2t1d0s2 d2: column is attached |
この例では、既存の RAID 5 ボリューム d2 にスライス c2t1d0s2 を追加します。
UFS の場合は、RAID5 ボリュームに対して growfs コマンドを実行します。詳細は、ボリュームとディスク領域の拡張を参照してください。
データベースなど、raw ボリュームを使用するアプリケーションは、独自の方法で領域を拡張できなければなりません。
すべてのデータの最新のバックアップを取っているか確認します。また、この操作にはルート権限が必要です。
次のどちらかの方法で、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 オプションを指定して、このスライスを有効にします。
ディスクドライブに障害が発生した場合は、そのスライスの代わりにシステムの他のディスク (およびスライス) を使用することができます (RAID 5 ボリューム内のコンポーネントを置き換えるにはを参照)。あるいは、そのディスクを修理または交換し、ディスクにラベルを付け、 metareplace コマンドに -e オプションを指定して実行します。
この作業では、1 つのスライスに障害が発生した RAID 5 ボリュームでそのスライスを交換します。
複数のスライスでエラーが発生している状態で、障害のあるスライスを 1 つだけ交換すると、不正なデータが生成されることがあります。その場合のデータの完全性は保証されません。
すべてのデータの最新のバックアップを取っているか確認します。また、この操作にはルート権限が必要です。
次のどちらかの方法で 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)」状態となります。この状態の間は、ボリュームを使い続けることができます。
metareplace コマンドを障害が発生していないデバイス上で実行すれば、ディスクスライスなどのコンポーネントを交換できます。この方法は、RAID 5 ボリュームの性能を調整するときなどに便利です。