この章では、Solaris ボリュームマネージャの一般的な記憶領域管理に関連する保守作業について説明します。
この章の内容は次のとおりです。
次の表に、Solaris ボリュームマネージャの保守に必要な作業を示します。
作業 |
説明 |
参照先 |
---|---|---|
Solaris ボリュームマネージャ構成の表示 |
Solaris ボリュームマネージャの GUI か metastat コマンドを使ってシステム構成を表示します。 | |
ボリューム名の変更 |
Solaris ボリュームマネージャの GUI か metarename コマンドを使ってボリューム名を変更します。 | |
構成ファイルの作成 |
metastat -p コマンドと metadb コマンドを使って構成ファイルを作成します。 | |
構成ファイルを使用した Solaris ボリュームマネージャの初期化 |
metainit コマンドを使って構成ファイルから Solaris ボリュームマネージャを初期化します。 | |
ファイルシステムの拡張 |
growfs コマンドを使ってファイルシステムを拡張します。 | |
コンポーネントの有効化 |
Solaris ボリュームマネージャの GUI か metareplace コマンドを使ってコンポーネントを有効にします。 | |
コンポーネントの交換 (置き換え) |
Solaris ボリュームマネージャの GUI か metareplace コマンドを使ってコンポーネントを交換します。(置き換える) |
metastat の出力はソートされていません。構成リストを編集したい場合は、metastat -p コマンドの出力を入力して sort または grep コマンドを実行してください。
次のどちらかの方法でボリューム構成を表示します。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」ノードを開きます。詳細は、オンラインヘルプを参照してください。
次の形式の metastat コマンドを使用します。
# metastat -p -i component-name |
要約形式で出力を表示することを指定します。この出力は、md.tab ファイルを作成するときに使用するのに適しています。
RAID-1 (ミラー) ボリューム、RAID-5 ボリューム、およびホットスペアにアクセスできるかどうかを確認することを指定します。
表示するボリュームの名前を指定します。ボリューム名を指定しないと、すべてのコンポーネントが表示されます。
次に、metastat コマンドの出力例を示します。
# metastat d50: RAID State: Okay Interlace: 32 blocks Size: 20985804 blocks Original device: Size: 20987680 blocks Device Start Block Dbase State Reloc Hot Spare c1t4d0s5 330 No Okay Yes c1t5d0s5 330 No Okay Yes c2t4d0s5 330 No Okay Yes c2t5d0s5 330 No Okay Yes c1t1d0s5 330 No Okay Yes c2t1d0s5 330 No Okay Yes d1: Concat/Stripe Size: 4197879 blocks Stripe 0: Device Start Block Dbase Reloc c1t2d0s3 0 No Yes d2: Concat/Stripe Size: 4197879 blocks Stripe 0: Device Start Block Dbase Reloc c2t2d0s3 0 No Yes d80: Soft Partition Device: d70 State: Okay Size: 2097152 blocks Extent Start Block Block count 0 1 2097152 d81: Soft Partition Device: d70 State: Okay Size: 2097152 blocks Extent Start Block Block count 0 2097154 2097152 d70: Mirror Submirror 0: d71 State: Okay Submirror 1: d72 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 d72: Submirror of d70 State: Okay Size: 12593637 blocks Stripe 0: Device Start Block Dbase State Reloc Hot Spare c2t3d0s3 0 No Okay Yes Stripe 1: Device Start Block Dbase State Reloc Hot Spare c2t3d0s4 0 No Okay Yes Stripe 2: Device Start Block Dbase State Reloc Hot Spare c2t3d0s5 0 No Okay Yes hsp010: is empty hsp014: 2 hot spares Device Status Length Reloc c1t2d0s1 Available 617652 blocks Yes c2t2d0s1 Available 617652 blocks Yes hsp050: 2 hot spares Device Status Length Reloc c1t2d0s5 Available 4197879 blocks Yes c2t2d0s5 Available 4197879 blocks Yes hsp070: 2 hot spares Device Status Length Reloc c1t2d0s4 Available 4197879 blocks Yes c2t2d0s4 Available 4197879 blocks Yes Device Relocation Information: Device Reloc Device ID c1t2d0 Yes id1,sd@SSEAGATE_ST39204LCSUN9.0G3BV0N1S200002103AF29 c2t2d0 Yes id1,sd@SSEAGATE_ST39204LCSUN9.0G3BV0P64Z00002105Q6J7 c1t1d0 Yes id1,sd@SSEAGATE_ST39204LCSUN9.0G3BV0N1EM00002104NP2J c2t1d0 Yes id1,sd@SSEAGATE_ST39204LCSUN9.0G3BV0N93J000071040L3S c0t0d0 Yes id1,dad@s53554e575f4154415f5f53543339313430412525415933 |
次に、マルチテラバイトの記憶ボリューム (11T バイト) に対する metastat コマンドの出力例を示します。
# metastat d0 d0: Concat/Stripe Size: 25074708480 blocks (11 TB) Stripe 0: (interlace: 32 blocks) Device Start Block Dbase Reloc c27t8d3s0 0 No Yes c4t7d0s0 12288 No Yes Stripe 1: (interlace: 32 blocks) Device Start Block Dbase Reloc c13t2d1s0 16384 No Yes c13t4d1s0 16384 No Yes c13t6d1s0 16384 No Yes c13t8d1s0 16384 No Yes c16t3d0s0 16384 No Yes c16t5d0s0 16384 No Yes c16t7d0s0 16384 No Yes c20t4d1s0 16384 No Yes c20t6d1s0 16384 No Yes c20t8d1s0 16384 No Yes c9t1d0s0 16384 No Yes c9t3d0s0 16384 No Yes c9t5d0s0 16384 No Yes c9t7d0s0 16384 No Yes Stripe 2: (interlace: 32 blocks) Device Start Block Dbase Reloc c27t8d2s0 16384 No Yes c4t7d1s0 16384 No Yes Stripe 3: (interlace: 32 blocks) Device Start Block Dbase Reloc c10t7d0s0 32768 No Yes c11t5d0s0 32768 No Yes c12t2d1s0 32768 No Yes c14t1d0s0 32768 No Yes c15t8d1s0 32768 No Yes c17t3d0s0 32768 No Yes c18t6d1s0 32768 No Yes c19t4d1s0 32768 No Yes c1t5d0s0 32768 No Yes c2t6d1s0 32768 No Yes c3t4d1s0 32768 No Yes c5t2d1s0 32768 No Yes c6t1d0s0 32768 No Yes c8t3d0s0 32768 No Yes |
詳細は、metastat(1M) のマニュアルページを参照してください。
Solaris ボリュームマネージャでは、多少の制約はありますが、ほとんどのタイプのボリューム名をいつでも変更できます。 ボリューム名の変更は、Solaris 管理コンソール内の「拡張ストレージ」かコマンド行 (metarename(1M) コマンド) から行うことができます。
ボリューム名の変更や交換は、ボリューム名を管理する上で便利な機能です。たとえば、ファイルシステムのすべてのマウントポイントをある範囲の数値内に収めることができます。あるいは、論理ボリュームの命名規則に従ってボリューム名を変更したり、トランザクションボリュームの名前にそのボリュームを構成しているボリュームと同じ名前を使用したりすることができます。
トランザクションボリュームは、Solaris ボリュームマネージャでは使用できなくなりました。トランザクションボリュームの名前を変更して置き換えることができます。
ボリューム名を変更するときは、ボリュームが使用中でないことを確認してください。ファイルシステムとして使用されている場合は、マウントされていたり、swap として使用されていないことを確認してください。データベースなど、raw デバイスを使用するその他のアプリケーションは、独自の方法でデータへのアクセスを停止できる必要があります。
ボリューム名の変更に伴う特別な考慮事項は、次のとおりです。
次のものを除く任意のボリュームの名前を変更できます。
ソフトパーティション
ソフトパーティションが直接作成されているボリューム
ログデバイスとして使用されているボリューム
ホットスペア集合
ディスクセット内のボリュームの名前は変更できます。しかし、そのボリュームを別のディスクセットに移動させることはできません。
metarename コマンドに -x オプションを指定すると、親子関係のあるボリュームの名前が交換されます。詳細は、「ボリューム名を変更するには」と metarename(1M) のマニュアルページを参照してください。既存のボリュームの名前がサブコンポーネントの 1 つと交換されます。たとえば、ミラーとそのサブミラーの 1 つで、このタイプの交換を実行できます。metarename -x コマンドを使用すると、既存のボリュームのミラー化またはミラー化解除が簡単にできます。
ボリューム名の交換には、コマンド行を使用する必要があります。この機能は、現在のところ Solaris ボリュームマネージャの GUI にはありません。ただし、ボリューム名の変更はコマンド行からでも GUI からでも行えます。
ボリューム変更するときには、次の指針を考慮してください。
使用されているボリュームの名前は変更できません。この制約は、マウントされているファイルシステム、 swap として使用されているボリューム、アプリケーションやデータベースのアクティブ記憶領域として使用されているボリュームなどに当てはまります。したがって、metarename コマンドを使用する前に、名前を変更するボリュームへのすべてのアクセスを停止する必要があります。たとえば、マウントされているファイルシステムのマウントを解除します。
障害が発生している状態のボリュームは交換できません。
ホットスペア交換を使用しているボリュームは交換できません。
交換するボリュームは、親子関係のあるものでなければなりません。
ログデバイスの交換 (または名前の変更) を行うことはできません。この問題を回避するには、ログデバイスを切り離し、適切な名前の別のログデバイスを接続します。
交換できるのはボリュームだけです。スライスやホットスペアは交換できません。
ボリューム名の要件 (「ボリューム名」) と 「ボリューム名を変更するための背景情報」を確認します。
このボリュームを使用するファイルシステムのマウントを解除します。
# umount /filesystem |
次のどちらかの方法でボリューム名を変更します。
Solaris 管理コンソール内の「拡張ストレージ」から「ボリューム (Volumes)」を開きます。名前を変更するボリュームを選択します。アイコンを右マウスクリックします。「プロパティ (Properties)」オプションを選択します。画面の指示に従います。詳細は、オンラインヘルプを参照してください。
次の形式の metarename コマンドを実行します。
# metarename old-volume-name new-volume-name |
既存ボリュームの名前を指定します。
既存のボリュームに新しい名前を指定します。
詳細については、metarename(1M) コマンドのマニュアルページを参照してください。
必要であれば、エントリが新しいボリューム名を参照するように /etc/vfstab ファイルを編集します。
ファイルシステムを再びマウントします。
# mount /filesystem |
次の例では、ボリュームの名前 d10 を d100 に変更します。
# umount /home # metarename d10 d100 d10: has been renamed to d100 (ファイルシステムが新しいボリュームを参照するように /etc/vfstab ファイルを編集する) # mount /home |
d10 にはマウントされたファイルシステムがあるので、ファイルシステムをマウント解除してからでなければ、ボリューム名を変更できません。このファイルシステムのエントリが /etc/vfstab ファイル内に存在している場合は、そのエントリが新しいボリューム名を参照するように変更します。
たとえば、/etc/vfstab ファイルにファイルシステム用の次のエントリが指定されているとします。
/dev/md/dsk/d10 /dev/md/rdsk/d10 /docs home 2 yes - |
次のようにエントリを変更します。
/dev/md/dsk/d100 /dev/md/rdsk/d100 /docs home 2 yes - |
既存のミラーやトランザクションボリュームが存在する場合、metarename -x コマンドでミラーやトランザクションボリュームを削除しても、そのボリュームを構成するボリュームのデータは保持できます。たとえば、トランザクションボリュームの場合には、マスターデバイスが ボリューム (RAID 0、RAID 1、または RAID 5 ボリュームのいずれか) である限り、そのボリュームのデータは保持されます。
Solaris ボリュームマネージャの構成ファイルには、Solaris ボリュームマネージャの基本情報の他に、構成を再設定するのに必要なほとんどのデータが含まれています。次の手順で、構成ファイルに関連する作業について説明します。
Solaris ボリュームマネージャ環境用のすべてのパラメータを適切に設定したら、metastat -p コマンドで /etc/lvm/md.tab ファイルを作成します。
# metastat -p > /etc/lvm/md.tab |
このファイルには、metainit コマンドと metahs コマンドが使用するすべてのパラメータが含まれています。このファイルは、類似した環境をいくつも用意しなければならない場合、またはシステム障害後に構成を再作成する場合に使用します。
md.tab ファイルの詳細については、「md.tab ファイルの概要」 と md.tab(4) のマニュアルページを参照してください。
Solaris ボリュームマネージャの構成がすべて失われた場合
構成がまだなくて、保存されている構成ファイルから構成を作成しなければならない場合
状態データベースで維持していた情報が失われることがあります。たとえば、状態データベースの複製をすべて削除したあとで、システムをリブートすると、この状況が生じる場合があります。状態データベースの消失後、ボリュームがまったく作成されていない場合は、md.cf ファイルまたは md.tab ファイルを使用して、Solaris ボリュームマネージャの構成を回復できます。
md.cf ファイルには、アクティブなホットスペアの情報は格納されません。そのため、Solaris ボリュームマネージャ構成が失われたときにホットスペアが使用されていると、アクティブなホットスペアを使用していたボリュームの内容は破壊されていることがあります。
これらのファイルの詳細については、md.cf(4)とmd.tab(4) のマニュアルページを参照してください。
状態データベースの複製を作成します。
詳細は、「状態データベースの複製の作成」を参照してください。
/etc/lvm/md.tab ファイルを作成するか更新します。
最後の状態でSolaris ボリュームマネージャの構成を回復する場合は、md.cf ファイルを /etc/lvm/md.tab ファイルにコピーします。
保存されている md.tab ファイルのコピーを使って新しい Solaris ボリュームマネージャ構成を作成する場合は、保存されているファイルを /etc/lvm/md.tab ファイルにコピーします。
「新しい」 /etc/lvm/md.tab ファイルを編集して、次の作業を行います。
新しい構成を作成している場合や、クラッシュの後で構成を回復している場合には、ミラーを 1 面ミラーとして構成します。たとえば、次のように指定します。
d80 -m d81 1 d81 1 1 c1t6d0s3 |
ミラーの各サブミラーのサイズが同じでない場合は、もっとも小さいサブミラーがこの 1 面ミラーに使用されるようにします。そうしないと、データが失われるおそれがあります。
既存の構成を回復している場合、Solaris ボリュームマネージャが正常に終了しているのであれば、ミラー構成を多面ミラーのままにして回復します。たとえば、次のように指定します。
d70 -m d71 d72 1 d71 1 1 c1t6d0s2 d72 1 1 c1t5d0s0 |
RAID-5 ボリュームの場合は、デバイスの再初期化を防止するために -k オプションを指定します。たとえば、次のように指定します。
d45 -r c1t3d0s5 c1t3d0s3 c1t3d0s4 -k -i 32b |
詳細は、metainit(1M) のマニュアルページを参照してください。
次の形式の metainit コマンドを使用して、変更をコミットすることなく、/etc/lvm/md.tab ファイルエントリの構文を調べます。
# metainit -n md.tab-entry |
# metainit -n -a |
metainit コマンドに -n オプションを付けて実行した場合、同じ実行中にすでに仮想的に作成されているデバイスを記憶しません。このため、md.tab 内に記述された別のボリュームに依存するボリュームを作成しようとすると、-n オプションを指定しなければ正常に実行される場合でも -n オプションを指定するとエラーになることがあります。
デバイスを実際には作成しないことを指定します。このオプションは、予期した結果が得られるかどうかを確認する場合に使用します。
初期化するコンポーネントの名前を指定します。
すべてのコンポーネントをチェックすることを指定します。
前の手順で特に問題がなければ、md.tab ファイルを使ってボリュームとホットスペア集合を作成し直します。
# metainit -a |
/etc/lvm/md.tab file のエントリをアクティブにすることを指定します。
必要であれば、metattach コマンドを使用して、1 面ミラーを多面ミラーに変更します。
# mettach mirror submirror |
ボリューム上のデータを検証し、構成が正しく再作成されたかどうかを確認します。
# metastat |
Solaris 10 リリースで、Solaris ボリュームマネージャはボリュームを動的に構成するように拡張されました。/kernel/drv/md.conf ファイルの nmd パラメータと md_nsets パラメータを編集しなくてすみます。新しいボリュームは必要に応じて作成されます。
Solaris ボリュームマネージャ構成の最大値は同じです。
サポートされるボリュームの最大数は 8192 です。
サポートされるディスクセットの最大数は 32 です。
UFS ファイルシステムが含まれているボリュームを拡張 (つまり、領域を追加) した場合は、追加した領域が認識されるように、ファイルシステムを拡張することも必要です。ファイルシステムの拡張は、growfs コマンドを使って手動で行う必要があります。growfs コマンドは、ファイルシステムがマウントされている場合でも拡張できます。ただし、growfs コマンドの実行中は、ファイルシステムに書き込みアクセスを行うことはできません。
データベースなど、raw デバイスを使用するアプリケーションは、独自の方法で追加された領域を組み込むことができなければなりません。Solaris ボリュームマネージャには、この機能はありません。
growfs コマンドはファイルシステムを拡張するとき、マウントされているファイルシステムを「書き込みロック」します。ファイルシステムが書き込みロックされている時間を短縮する必要がある場合は、ファイルシステムを段階的に拡張できます。たとえば、1G バイトのファイルシステムを 2G バイトに拡張する場合、-s オプションを使用することによって、16M バイト単位でファイルシステムを拡張できます。このオプションでは、ステージごとの新しいファイルシステムの総容量を指定します。
拡張処理の間は書き込みロックが機能するので、このファイルシステムへの書き込みは実行できません。書き込みアクセスは growfs コマンドがファイルシステムのロックを解除するまで自動的に中断され、ロックが解除されると再開されます。読み取りアクセスは影響を受けません。しかし、ロックが有効な間、アクセス時間は保証されません。
Solaris ボリュームマネージャのボリュームは拡張可能です。ただし、ボリュームを縮小することはできません。
ボリュームはファイルシステム用であるか、アプリケーション用であるか、それともデータベース用であるかに関係なく、拡張できます。RAID-0 (ストライプ方式と連結方式) ボリューム、RAID-1 (ミラー) ボリューム、RAID-5 ボリュームだけではなく、ソフトパーティションも拡張できます。
ファイルシステムが格納されているボリュームを連結できます。UFS ファイルシステムの場合、(growfs コマンドを使用して) より大きい領域を満たすように拡張できます。データに対する読み取りアクセスを妨げることなく、ファイルシステムを拡張できます。
拡張したファイルシステムは、UFS ファイルシステムの制約により縮小できません。
raw デバイスを使用するアプリケーションやデータベースは、独自の方法で領域を拡張し、それを認識できなければなりません。Solaris ボリュームマネージャには、この機能はありません。
RAID-5 ボリュームにコンポーネントを追加すると、コンポーネントはボリュームへの連結になります。新しいボリュームにはパリティー情報は格納されませんが、このコンポーネントのデータは、ボリュームに対して行われる全体的なパリティー計算によって保護されます。
コンポーネントを追加することによってログデバイスを拡張できます。リブート時に Solaris ボリュームマネージャは新しい領域を自動的に認識するため、growfs コマンドを実行する必要はありません。
ソフトパーティションを拡張するには、そのパーティションを構成するボリュームまたはスライスから領域を追加します。その他のボリュームはすべて、スライスを追加することによって拡張できます。
「Solaris ボリュームマネージャコンポーネントを作成するための前提条件」を確認します。
ファイルシステムに対応付けられたディスク領域を確認します。
# df -k |
詳細については、df(1M) のマニュアルページを参照してください。
UFS ファイルシステムを論理ボリュームで拡張します。
# growfs -M /mount-point /dev/md/rdsk/volume-name |
拡張するファイルシステムのマウントポイントを指定します。
拡張するボリュームの名前を指定します。
詳細は、次の例と growfs(1M) のマニュアルページを参照してください。
次の例では、新しいスライスがボリューム d10 にすでに追加されています。このボリュームには、マウントされているファイルシステム /home2 があります。growfs コマンドでは、-M オプションを使ってマウントポイントに /home2 を指定し、これを raw ボリューム /dev/md/rdsk/d10 上に拡張します。growfs コマンドが終了すると、このファイルシステムはボリューム全体を占めます。ファイルシステムを拡張する前後に df -k コマンドを使用すると、ディスクの総容量を確認できます。
# df -k Filesystem kbytes used avail capacity Mounted on ... /dev/md/dsk/d10 69047 65426 0 100% /home2 ... # growfs -M /home2 /dev/md/rdsk/d10 /dev/md/rdsk/d10: 295200 sectors in 240 cylinders of 15 tracks, 82 sectors 144.1MB in 15 cyl groups (16 c/g, 9.61MB/g, 4608 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 19808, 39584, 59360, 79136, 98912, 118688, 138464, 158240, 178016, 197792, 217568, 237344, 257120, 276896, # df -k Filesystem kbytes used avail capacity Mounted on ... /dev/md/dsk/d10 138703 65426 59407 53% /home2 ... |
ミラーボリュームの場合、growfs コマンドは常に、最上位のボリュームで 実行します。サブミラーまたはマスターデバイスに領域を追加する場合であっても、サブミラーまたはマスターデバイスに対してコマンドを実行してはなりません。
Solaris ボリュームマネージャは、RAID-1 (ミラー) および RAID-5 ボリューム内のコンポーネントを 交換したり、有効にしたりできます。
Solaris ボリュームマネージャでは、コンポーネントの交換は、サブミラーまたは RAID-5 ボリューム内のコンポーネントをシステム上で使用可能な他のコンポーネントと交換することを意味します。このプロセスは、コンポーネントの物理的な交換ではなく論理的な交換です。詳細については、「コンポーネントを他の使用可能なコンポーネントで置き換える」を参照してください。
コンポーネントの有効化とは、コンポーネントをアクティブにする (または、コンポーネントをそれ自身で置き換える) ことを意味します。したがって、コンポーネント名は変わりません。詳細については、「コンポーネントの有効化」を参照してください。
ディスクエラーから回復するときは、 /var/adm/messages を調べ、どのような種類のエラーが発生したかを確認してください。エラーが一時的なものであり、ディスク自体に問題がない場合は、コンポーネントを有効にしてみます。また、format コマンドを使ってディスクをテストすることもできます。
コンポーネントを有効にする必要があるのは次のような場合です。
Solaris ボリュームマネージャが物理ディスクにアクセスできない場合。この問題は、たとえば、電源が切断されていたり、ドライブケーブルが外れていることが原因で発生します。この場合、Solaris ボリュームマネージャは、コンポーネントを「保守 (Maintenance)」状態に変更します。この場合には、電源を復旧したり、ケーブルを接続し直したりしてドライブを使用可能にしてから、ボリュームのコンポーネントを有効にする必要があります。
物理ディスクに、ディスクに関連しない一時的な障害があると考えられる場合。コンポーネントが「保守 (Maintenance)」状態であれば、そのコンポーネントを有効にするだけでコンポーネントを修復できる場合があります。コンポーネントを有効にしても問題が解決しない場合は、次のどちらかの作業が必要です。
ディスクドライブを物理的に交換してコンポーネントを有効にする
コンポーネントをシステム上で使用可能な別のコンポーネントと交換する
ディスクを物理的に置き換える場合は、新しいディスクを前のものと同じようにパーティション分割し、各コンポーネント上に十分な領域を確保する必要があります。
交換対象のディスクに状態データベースの複製やホットスペアがないか必ずチェックしてください。「エラー (erred)」状態の状態データベースの複製を削除してから、ディスクを交換する必要があります。さらに、コンポーネントを有効にしてから、同じサイズで状態データベースの複製を作成し直します。ホットスペアについても同じように処理してください。
既存のコンポーネントを他の未使用のコンポーネントで置き換える (または交換する) には、metareplace コマンドを使用します。
このコマンドを使用できるのは、次のような場合です。
ディスクドライブに問題があるが、交換用ドライブがない場合で、なおかつ、システム上に使用可能なコンポーネントがある場合。
どうしても交換する必要があるが、システムを停止したくない場合には、この方法を使用します。
物理ディスク上でソフトエラーが発生した場合。
ミラー、サブミラー、または RAID-5 ボリュームの状態が、Solaris ボリュームマネージャによれば「正常 (Okay)」であるにもかかわらず、物理ディスク上でソフトエラーが報告される場合があります。問題のコンポーネントを他の使用可能なコンポーネントで置き換えると、ハードウェアエラーの発生を防止するための予防的保守を実行できます。
性能の調整を行いたい場合。
コンポーネントを評価する 1 つの方法は、Solaris 管理コンソール内の「拡張ストレージ」から性能監視機能を使用することです。たとえば、RAID-5 ボリュームの特定のコンポーネントが「正常 (Okay)」状態であっても、平均負荷が上昇しているといったことがわかります。その場合には、ボリュームの負荷を均一化するために、このコンポーネントを、これより使用率の低いディスクのコンポーネントで置き換えることができます。このような処理は、ボリュームへのサービスを中断せずにオンラインで行うことができます。
RAID-1 または RAID-5 ボリュームのコンポーネントでエラーが発生すると、Solaris ボリュームマネージャはそのコンポーネントを「保守 (Maintenance)」状態にします。これ以降、「保守 (Maintenance)」状態のコンポーネントには読み書きは実行されません。
コンポーネントは「最後にエラー (Last Erred)」状態になることもあります。RAID-1 ボリュームの場合、このエラーは通常、1 面ミラーで発生します。ボリュームにエラーが発生したとします。しかし、読み取り対象となる冗長コンポーネントはありません。RAID-5 ボリュームでは、あるコンポーネントが「保守 (Maintenance)」状態になり、かつ、別のコンポーネントで障害が発生した場合に、この状態になります。障害の発生した 2 番目のコンポーネントが、「最後にエラー (Last Erred)」状態になります。
RAID-1 ボリュームまたは RAID-5 ボリュームのどちらかに「最後にエラー (LastErred)」状態のコンポーネントがあっても、入出力は引き続き、その「最後にエラー (LastErred)」状態のコンポーネントに対して試行されます。この入出力が試行されるのは、「最後にエラー (Last Erred)」状態のコンポーネントにデータの最後の正常なコピーが含まれていると、Solaris ボリュームマネージャが判断するためです。「最後にエラー (Last Erred)」状態のコンポーネントを含むボリュームは正常なデバイス (ディスク) のように動作し、アプリケーションに入出力エラーを返します。通常、この時点では、データの一部がすでに失われています。
同じボリューム内の他のコンポーネントで次のエラーが発生した場合、そのエラーの処理方法は、ボリュームのタイプによって異なります。
RAID-1 ボリュームでは、多数のコンポーネントが「保守 (Maintenance)」状態になっても、読み取りや書き込みを継続できることがあります。コンポーネントが「保守 (Maintenance)」状態である場合、データは失われていません。コンポーネントをどのような順序で置き換え、有効にしてもかまいません。コンポーネントが「最後にエラー (Last Erred)」状態の場合は、「保守 (Maintenance)」状態のコンポーネントを置き換えてから、このコンポーネントを置き換えます。「最後にエラー (Last Erred)」状態のコンポーネントを交換したり有効にすることは、通常、一部のデータがすでに失われていることを意味します。ミラーを修復したら、必ずデータを検証してください。
RAID-5 ボリュームは、「保守 (Maintenance)」状態のコンポーネントが 1 つであれば許容できます。「保守 (Maintenance)」状態のコンポーネントが 1 つの場合、そのコンポーネントはデータを失うことなく安全に交換できます。ほかのコンポーネントに障害が発生すると、そのコンポーネントは「最後にエラー (Last Erred)」状態になります。この時点で RAID-5 ボリュームは読み取り専用になります。必要な回復処置を行なって、RAID-5 ボリュームを安定状態にし、データ損失の可能性を減らします。RAID-5 ボリュームが「最後にエラー (Last Erred)」状態の場合には、データがすでに失われている可能性が高くなります。RAID-5 ボリュームを修復したあと、必ずデータを検証してください。
必ず「保守 (Maintenance)」状態のコンポーネントを先に交換してから、「最後にエラー (Last Erred)」状態のコンポーネントを交換します。コンポーネントの交換と再同期の実行後、metastat コマンドを使用してコンポーネントの状態を確認します。さらに、データを検証します。
RAID-1 ボリュームまたは RAID-5 ボリュームのコンポーネントを交換する場合は、次の指針に従ってください。
必ず「保守 (Maintenance)」状態のコンポーネントを先に交換してから、「最後にエラー (Last Erred)」状態のコンポーネントを交換します。
コンポーネントの交換と再同期の実行後、metastat コマンドを使用してボリュームの状態を確認します。さらに、データを検証します。「最後にエラー (Last Erred)」状態のコンポーネントを交換したり有効にすることは、通常、一部のデータがすでに失われていることを意味します。ボリュームの修復後に、そのデータが正しいことを必ず確認してください。UFS の場合は、fsck コマンドを実行して、「メタデータ (ファイルシステムの構造)」を検証します。さらに、実際のユーザーデータを確認します(実際には、ユーザーが各自のファイルを確認する必要があります)。データベースなどのアプリケーションは、独自の方法で内部のデータ構造を検証できなければなりません。
コンポーネントを交換する場合は、状態データベースの複製やホットスペアが存在していないか必ずチェックします。「エラー (erred)」状態の状態データベースの複製を削除してから、物理ディスクを交換する必要があります。そして、コンポーネントを有効にする前に、この状態データベースの複製を追加してください。ホットスペアの場合も同じ処理が必要です。
RAID-5 ボリュームでは、コンポーネントの交換時に次のどちらかの方法でデータが回復されます。現在使用中のホットスペアから、またはホットスペアが使用されていない場合は RAID-5 パリティーを使用して、データが回復されます。
RAID-1 ボリュームでコンポーネントを交換した場合は、Solaris ボリュームマネージャがボリュームの他の部分に対して新しいコンポーネントの再同期を自動的に開始します。再同期が終了すると、新しいコンポーネントは読み書きが可能になります。障害の発生したコンポーネントがホットスペアのデータで置き換えられると、そのホットスペアが「使用可能 (Available)」状態になり、ほかのホットスペア交換に使用できるようになります。
新しいコンポーネントのサイズは、古いコンポーネントを置き換えられるだけの大きさでなければなりません。
「最後にエラー (Last Erred)」状態のデバイスを交換する場合は、用心のためにすべてのデータのバックアップを取ってください。