Solaris ボリュームマネージャでは RAID 1 ボリュームやサブミラーの状態が表示されるため、システム管理者は、どのような保守が必要であるか判断できます。次の表に、ミラーの状態を示します。
表 10-1 サブミラーの状態|
状態 |
意味 |
|---|---|
|
正常 (Okay) |
サブミラーにはエラーがなく正常に動作しています。 |
|
再同期中 (Resyncing) |
サブミラーで再同期処理が実行されている。エラーが発生したが、すでに訂正され、オンラインに戻されたか、あるいは、新しいサブミラーが接続されたところです。 |
|
保守が必要 (Needs Maintenace) |
サブミラー内のスライスに入出力エラーまたはオープンエラーが発生しました。スライスに対するすべての読み取りと書き込みはすでに停止されています。 |
また、metastat コマンドを実行すると、サブミラー内のスライスごとに、「デバイス (Device) 」(ストライプに属するスライスのデバイス名) や、「開始ブロック (Start Block) 」(スライスが始まるブロック)、「Dbase」(スライスに状態データベースの複製が含まれているかどうか)、「状態」(スライスの状態)、「ホットスペア (Hot Spare) 」(障害が発生したスライスのホットスペアとして使用されるスライス) が表示されます。
ミラーのエラーに対処する場合は、おそらく、スライスの状態がもっとも重要な情報となります。サブミラーの状態は、「正常 (Okay) 」や「保守が必要 (Needs Maintenance) 」などの一般的な状態情報を提供するだけです。サブミラーの状態が「保守が必要 (Needs Maintenance) 」の場合は、スライスの状態を参照する必要があります。スライスの状態が「保守 (Maintenance) 」の場合と「最後にエラー (Last Erred) 」の場合では、障害から回復するための処置が異なります。スライスの状態が「保守 (Maintenance) 」だけの場合は、どのような順序でスライスを修理してもかまいませんが、「保守 (Maintenance) 」と「最後にエラー (Last Erred) 」のスライスが混在している場合は、「保守 (Maintenance) 」のスライスを修復してから「最後にエラー (Last Erred) 」のスライスを修復する必要があります。詳細は、RAID 1 および RAID 5 ボリューム内のコンポーネントの交換と有効化の概要を参照してください。
次の表に、サブミラーのスライスの状態と実行可能な処置を示します。
表 10-2 サブミラーのスライスの状態|
状態 |
意味 |
処置 |
|---|---|---|
|
正常 (Okay) |
コンポーネントにエラーはなく、正常に動作しています。 |
必要ない |
|
再同期中 (Resyncing) |
コンポーネントで再同期処理が実行されています。エラーが発生したが、すでに訂正され、オンラインに戻されたか、あるいは、新しいサブミラーが接続されています。 |
必要であれば、再同期処理が終了するまでサブミラーの状態を監視します。 |
|
保守 (Maintenance) |
コンポーネントで 入出力エラーかオープンエラーが発生しました。このコンポーネントに対するすべての読み取りと書き込みはすでに停止されています。 |
障害が発生したコンポーネントを有効にするか交換します。詳細は、サブミラー内のスライスを有効にするには、または サブミラー内のスライスを交換するにはを参照してください。metastat コマンドを実行すると、metareplace コマンドを使って行うべき処置を示す invoke 回復メッセージが表示されます。 metareplace -e コマンドを使用することもできます。 |
|
最後にエラー (Last Erred) |
コンポーネントで 入出力エラーかオープンエラーが発生しました。しかし、別のスライスに障害があるため、データは他のスライスには複製されません。したがって、入出力は引き続きこのスライスに対して行われます。この入出力がエラーになると、ミラー入出力は失敗します。 |
まず、「保守 (Maintenance) 」状態のコンポーネントを有効にするか、交換します。詳細は、サブミラー内のスライスを有効にするには、または サブミラー内のスライスを交換するにはを参照してください。通常は、このエラーがあるとデータが失われるため、ミラーの修復後にミラーを検証する必要があります。ファイルシステムの場合は、fsck コマンドを実行してからデータをチェックします。アプリケーションやデータベースでは、独自の方法でデバイスを検証できなければなりません。 |
次のどちらかの方法でミラーやサブミラーの状態をチェックします。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes) 」ノードを開き、ミラーを選択し、「アクション (Action) 」、「プロパティ (Properties) 」の順に選択します。 画面の指示に従って状態を表示します。詳細は、オンラインヘルプを参照してください。
ミラーに対して metastat コマンドを実行し、各サブミラーの状態、パス番号、読み取りオプション、書き込みオプション、およびミラーの合計ブロック数を表示します。たとえば、1 面ミラー d70 の状態をチェックするには、次のようにします。
# metastat d70
d70: Mirror
Submirror 0: d71
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 12593637 blocks
d71: Submirror of d70
State: Okay
Size: 12593637 blocks
Stripe 0:
Device Start Block Dbase State Reloc Hot Spare
c1t3d0s3 0 No Okay Yes
Stripe 1:
Device Start Block Dbase State Reloc Hot Spare
c1t3d0s4 0 No Okay Yes
Stripe 2:
Device Start Block Dbase State Reloc Hot Spare
c1t3d0s5 0 No Okay Yes
|
ミラーのパス番号や、読み取りオプション、書き込みオプションを変更する手順については、RAID 1 ボリュームオプションを変更するにはを参照してください。
デバイス状態のチェックについては、metastat(1M) のマニュアルページを参照してください。
# metastat
d0: Mirror
Submirror 0: d1
State: Okay
Submirror 1: d2
State: Okay
Pass: 1
Read option: roundrobin (default)
Write option: parallel (default)
Size: 5600 blocks
d1: Submirror of d0
State: Okay
Size: 5600 blocks
Stripe 0:
Device Start Block Dbase State Hot Spare
c0t2d0s7 0 No Okay
...
|
metastat コマンドは、ミラーのサブミラーごとに、その状態、「invoke」行 (エラーがある場合)、割り当てられたホットスペア集合 (ホットスペアがある場合)、ブロック数、サブミラーの各スライスの情報を表示します。
すべてのデータの最新のバックアップを取っているか確認します。また、この操作にはルート権限が必要です。
次のどちらかの方法でミラーオプションを変更します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes) 」ノードを開き、ミラーを選択し、「アクション (Action) 」、「プロパティ (Properties) 」の順に選択します。 画面の指示に従ってオプションを変更します。詳細は、オンラインヘルプを参照してください。
metaparam コマンドを使ってミラーのオプションを表示および変更します。たとえば、読み取りポリシーについて、ミラーを「round robin」から、「first」に変更する場合は、次のコマンドを実行します。
# metaparam -r first mirror |
ミラーオプションの詳細は、RAID 1 ボリュームのオプション を参照してください。また、metaparam(1M) のマニュアルページも参照してください。
# metaparam -r geometric d30
# metaparam d30
d30: mirror current parameters are:
Pass: 1
Read option: geometric (-g)
Write option: parallel (default)
|
この例の -r オプションは、ミラーの読み取りポリシーを geometric に変更します。
# metaparam -w serial d40
# metaparam d40
d40: mirror current parameters are:
Pass: 1
Read option: roundrobin (default)
Write option: serial (-S)
|
この例の -w オプションは、ミラーの書き込みポリシーを serial に変更します。
# metaparam -p 5 d50
# metaparam d50
d50: mirror current parameters are:
Pass: 5
Read option: roundrobin (default)
Write option: parallel (default)
|
すべてのデータの最新のバックアップを取っているか確認します。また、この操作にはルート権限が必要です。
RAID 1 ボリュームの背景情報を確認します。
次のどちらかの方法でミラーを拡張します。
Solaris 管理コンソール内の「拡張ディスク」から「ボリューム (Volumes) 」ノードを開き、ミラーを選択し、「アクション (Action) 」、「プロパティ (Properties) 」の順に選択し、「サブミラー (Submirror) 」タブをクリックします。画面の指示に従ってサブミラーを拡張します。詳細は、オンラインヘルプを参照してください。
metattach コマンドを使って各サブミラーにスライスを接続します。たとえば、サブミラーにコンポーネントを接続するには、次のコマンドを実行します。
# metattach submirror component |
ミラー内のすべてのサブミラーを拡張する必要があります。詳細は、metattach(1M) のマニュアルページを参照してください。
# metastat
d8: Mirror
Submirror 0: d9
State: Okay
Submirror 1: d10
State: Okay
...
# metattach d9 c0t2d0s5
d9: component is attached
# metattach d10 c0t3d0s5
d10: component is attached
|
この例では、ミラー化したマウント済みのファイルシステムを拡張します。そのために、2 つのディスクドライブをミラーの 2 つのサブミラーに連結します。ミラー d8 は、2 つのサブミラー d9 と d10 から構成されています。
UFS の場合は、ミラーボリュームに対して growfs(1M) コマンドを実行します。詳細は、ファイルシステムを拡張するにはを参照してください。
データベースなど、raw ボリュームを使用するアプリケーションは、独自の方法で領域を拡張できなければなりません。