5.4.14. 論理ボリュームの拡張
論理ボリュームのサイズを拡張するには、
lvextend コマンドを使用します。
論理ボリュームを拡張する場合、そのボリュームの追加容量もしくは拡張後のサイズを指定することができます。
以下のコマンドは、論理ボリューム
/dev/myvg/homevol を 12 ギガバイトに拡張します。
lvextend -L12G /dev/myvg/homevol
# lvextend -L12G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 12 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
以下のコマンドは、論理ボリューム
/dev/myvg/homevol にさらに 1 ギガバイトを追加します。
lvextend -L+1G /dev/myvg/homevol
# lvextend -L+1G /dev/myvg/homevol
lvextend -- extending logical volume "/dev/myvg/homevol" to 13 GB
lvextend -- doing automatic backup of volume group "myvg"
lvextend -- logical volume "/dev/myvg/homevol" successfully extended
lvcreate コマンドと同様に、lvextend コマンドで -l 引数を使用すると、論理ボリュームの拡張サイズをエクステント数で指定することができます。また、この引数を使用してボリュームグループのパーセンテージ、またはボリュームグループ内の残りの空き領域をパーセンテージで指定することもできます。以下のコマンドは、testlv と言う論理ボリュームを拡張して、ボリュームグループ myvg 内の未割り当て領域をすべて満たすようにします。
lvextend -l +100%FREE /dev/myvg/testlv
# lvextend -l +100%FREE /dev/myvg/testlv
Extending logical volume testlv to 68.59 GB
Logical volume testlv successfully resized
論理ボリュームを拡張した後は、それに適合するようにファイルシステムのサイズも拡張する必要があります。
デフォルトでは、ほとんどのファイルシステムサイズ変更ツールは、ファイルシステムのサイズを配下の論理ボリュームのサイズに拡大するので、2 つのコマンドそれぞれで同じサイズを指定する必要はありません。
5.4.14.1. ストライプ化ボリュームの拡張 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ストライプ化論理ボリュームのサイズを拡大するには、ボリュームグループを構成している配下の物理ボリュームに、ストライプをサポートするための十分な空き領域がなければなりません。例えば、ボリュームグループ全域を使用してしまう 2 方向ストライプがある場合、ボリュームグループに 1 つの物理ボリュームを追加しただけでは、ストライプの拡張ができるようにはなりません。そのためには、少なくとも 2 つの物理ボリュームをボリュームグループに追加する必要があります。
例えば、以下の
vgs コマンドで表示された、2 つの配下の物理ボリュームで構成されるボリュームグループ vg について考えてみましょう。
vgs
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 0 0 wz--n- 271.31G 271.31G
ボリュームグループのすべての領域を使用してストライプを作成することができます。
ボリュームグループには、空き領域がなくなったことに注意してください。
vgs
# vgs
VG #PV #LV #SN Attr VSize VFree
vg 2 1 0 wz--n- 271.31G 0
以下のコマンドにより、ボリュームグループにもう1つの物理ボリュームが追加されて、135G の追加領域が提供されます。
この時点では、ストライプ化論理ボリュームをボリュームグループの最大サイズまで拡大することはできません。データをストライプ化するのには配下のデバイスが 2 つ必要です。
ストライプ化論理ボリュームを拡張するには、もう 1 つの物理ボリュームを追加してから、論理ボリュームを拡張します。この例では、ボリュームグループに 2 つの物理ボリュームを追加することにより、論理ボリュームをボリュームグループの最大サイズまで拡張できるようになっています。
ストライプ化論理ボリュームを拡張するのに十分な配下の物理デバイスがない場合でも、その拡張部分がストライプ化されなくても問題がないならば、ボリュームの拡張は可能です。ただし、これによってパフォーマンスにむらがでる可能性があります。論理ボリュームに領域を追加する場合、デフォルトの動作では、既存論理ボリュームの最後のセグメントと同じストライプパラメーターを使用するようになっていますが、これらのパラメーターはオーバーライドすることができます。以下の例では、初回の
lvextend コマンドが失敗した後に、既存のストライプ化論理ボリュームを拡張して残りの空き領域を使用するようにしています。