「ボリューム」とは、物理的には複数のスライスの集合であるが、論理的には単一の論理デバイスとしてシステムに認識される概念の名前です。 実際には、ボリュームは標準 UNIX の擬似または仮想デバイスと同義です。
これまで、Solstice DiskSuiteTM 製品ではこのような論理デバイスを「メタデバイス」と呼んでいましたが、 このマニュアルでは、簡潔性と標準化のために「ボリューム」と呼びます。
ボリュームには、RAID 0 (連結方式およびストライプ方式) ボリューム、RAID 1 (ミラー) ボリューム、RAID 5 ボリューム、ソフトパーティション、トランザクションロギングボリュームがあります。
ボリュームの作成や管理には、Solaris 管理コンソール内の「拡張ストレージ」かコマンド行ユーティリティを使用します。
表 32 ボリュームクラス
ボリューム |
説明 |
---|---|
そのまま使用することもでき、また、ミラーおよびトランザクションデバイスの基本的な構築ブロックとして使用することもできます。 RAID 0 ボリューム自体にはデータの冗長性はありません。 |
|
複数のコピーを保持することによってデータを複製します。 RAID 1 ボリュームは、サブミラーと呼ばれる 1 つまたは複数の RAID 0 ボリュームから構成されます。 |
|
パリティ情報を使ってデータを複製します。 ディスクに障害が発生すると、利用可能なデータとパリティ情報から失われたデータが復元されます。 RAID 5 ボリュームは、通常、複数のスライスで構成されています。 1 スライスに相当する領域がパリティ情報に割り当てられますが、パリティは RAID 5 ボリュームのすべてのスライスに分散されます。 |
|
UFS ファイルシステムのログとして使用されます (ただし、この目的のためには UFS ロギングを推奨します)。 トランザクションボリュームは、マスターデバイスとロギングデバイスから構成されています。 これらのデバイスには、スライス、RAID 0 ボリューム、RAID 1 ボリューム、または RAID 5 ボリュームを使用できます。 マスターデバイスには、UFS ファイルシステムが含まれています。 |
|
ソフトパーティション |
スライスまたは論理ボリュームをより小さい 1 つまたは複数の拡張可能ボリュームに分割します。 |
ボリュームを使用すると、記憶領域を拡張したり、性能やデータの可用性を高めたりできます。 状況によっては、ボリュームを使用すると、入出力性能が向上することもあります。 機能的には、ボリュームとスライスは同じように動作します。 エンドユーザーや、アプリケーション、ファイルシステムからは、ボリュームとスライスは同じように見えます。 物理デバイスと同じように、ボリュームはブロックまたは raw デバイス名を使ってアクセスされます。 ボリューム名は、ブロックデバイスを使用するか raw デバイスを使用するかによって異なります。 ボリューム名の詳細については、「ボリューム名」を参照してください。
ボリューム上では、mkfs、mount、 umount、ufsdump、ufsrestore など、ファイルシステムのほとんどのコマンドを使用できます。 ただし、format コマンドは使用できません。 ボリューム上にマウント済みのファイルシステムが存在すれば、ボリュームとの間でファイルの読み取り、書き込み、コピーを行うことができます。
図 32 に、Disk A の 1 つのスライスと Disk B の 1 つのスライスから構成されるボリュームを示します。アプリケーションや UFS は、このボリュームを 1 つの物理ディスクとして扱います。 ボリュームにさらに多くのスライスを追加すれば、容量を増やすことができます。
Solaris ボリュームマネージャでは、ボリュームにスライスを追加することによってボリュームを拡張できます。 既存のボリュームにスライスを追加するには、Solaris 管理コンソール内の「拡張ストレージ」かコマンド行インタフェースを使用します。
ボリュームに含まれているUFS ファイルシステムは、マウントされているかどうかに関係なく、システムを停止したりバックアップをとらなくても拡張できます。 ただし、どのような場合でも、データのバックアップを取ることを推奨します。 ボリュームを拡張したあとは、growfs コマンドを使用してファイルシステムを拡張します。
いったん拡張したファイルシステムを縮小することはできません。 これは UFS の制約です。 同じように、いったん拡張した Solaris ボリュームマネージャのパーティションを縮小することはできません。
raw ボリュームを使用するアプリケーションやデータベースは、独自の方法で領域を拡張し、それを認識できなければなりません。 Solaris ボリュームマネージャには、この機能はありません。
ボリュームのディスク領域を拡張するには、次の方法を利用できます。
RAID 0 ボリュームに 1 つまたは複数のスライスを追加する
RAID 1 ボリュームのすべてのサブミラーに 1 つまたは複数のスライスを追加する
growfs コマンドは、サービスの中断やデータを失うことなく、UFS ファイルシステムを拡張します。 ただし、growfs コマンドが実行している間は、ボリュームへの書き込みアクセスはできません。 ファイルシステムは、それを格納しているスライスまたはボリュームのサイズまで拡張できます。
追加ディスク領域の一部だけを使ってファイルシステムを拡張する場合は、growfs コマンドに -s size オプションを指定します。
ミラーを拡張すると、ミラーを構成しているすべてのサブミラーに領域が追加されます。 同じように、トランザクションボリュームを拡張すると、マスターデバイスに領域が追加されます。 その後で RAID 1 ボリュームまたはトランザクションボリュームに対してgrowfs コマンドを実行します。 一般的な規則としては、ボリュームを構成するデバイスに領域を追加してから、トップレベルのデバイスに対して growfs コマンドを実行します。
ボリュームに名前を付けるときは、次の規則に従います。
ボリューム名は d で始まり、その後に 1 つの数が続きます (たとえば、d0)。
meta* コマンドでは、/dev/md/dsk/d1 のように完全なボリューム名を指定する代わりに、d1 のように省略形のボリューム名を指定できます。
物理スライスと同じように、ボリュームにも、ファイルシステムで使用される論理名があります。 論理ボリューム名は、/dev/md/dsk ディレクトリ (ブロックデバイスの場合) または /dev/md/rdsk ディレクトリ (raw デバイスの場合) に作成されます。
名前を変更しようとするボリュームが現在使用されておらず、かつ、新しい名前がほかのボリュームで使用されていなければ、ボリューム名はいつでも変更できます。 詳細については、「ボリューム名の交換 」を参照してください。
Solaris ボリュームマネージャでは、0 から 127 までの 128 個のデフォルトボリューム名を使用できます。次の表に、ボリューム名の例を示します。
/dev/md/dsk/d0 |
ブロック型ボリューム d0 |
/dev/md/dsk/d1 |
ブロック型ボリューム d1 |
/dev/md/rdsk/d126 |
raw ボリューム d126 |
/dev/md/rdsk/d127 |
raw ボリューム d127 |
ボリューム名を標準化すると、管理が容易になるだけでなく、ボリュームタイプが一目でわかるようになります。 次の推奨事項を考慮してください。
特定のボリュームタイプごとに範囲を指定します。 たとえば、RAID 1 ボリュームには 0 から 20、RAID 0 ボリュームには 21 から 40 を割り当てます。
ミラーの名前を相互に関連付けます。 たとえば、ミラーの名前を 0 で終わる数字にし、サブミラーの名前を 1 や 2 で終わる数字にします。 これに従えば、 最初のミラーは d10 、そのサブミラーは d11 と d12 になります。さらに、次のミラーは d20、そのサブミラーは d21 と d22 になります。
スライス番号とディスク番号がボリューム番号に対応するような命名方法を使用します。