LVの大きさを変更する
新しく作成したLVだが、将来的にはやがてその領域も足りなくなると考えておいて間違いはないだろう。そのような場合には、lvextendコマンドを使用してLVを大きくすることができる。
ただしこれを行なうにはVGに空き領域がなければならない。とは言えVGに空き領域がないという場合でもあきらめる必要はなく、その場合には次節で紹介する、VGにPVを追加するための作業を先に行なえば良い。
上記の例では、2GBの領域を持つVGの中に1GBのLVを作成したので、LVの大きさをもう1GB分大きくすることが可能だ。ただしLVを大きくする前にLVをアンマウントする必要がある。Ext3ファイルシステムはアンマウントしなくても大きさを変更することが可能なのだが、念のために無難な方法で行なっておこう。それではまず「 umount /home/downloads 」というコマンドを実行してハードディスクをアンマウントしよう。これにより、/etc/fstabにエントリを追加しておいた場合にはLVをアンマウントすることができる。そうでない場合には、「 umount /dev/home2/downloads 」を実行すればアンマウントすることができる。
次に、「 lvextend -L +1G /dev/home2/downloads 」というコマンドを実行する。成功した場合、LVの大きさが1GB分増えて、以下のようなメッセージが表示されるはずだ。
Extending logical volume downloads to 2.00 GB Logical volume downloads successfully resized
LVを大きくすることができたことを確認するには、lvdisplayコマンドを実行すれば良い。次に、大きくなったLVに合わせてファイルシステムの大きさを変更しよう。「 resize2fs /dev/home2/downloads 」を実行すれば、LV上のext3ファイルシステムの大きさを変更することができるので、あとは再びマウントするだけだ。
lvextendコマンドに似たコマンドに、lvreduceコマンドがある。lvreduceコマンドを使えば、LVの大きさを小さくすることができる。ただしこれを行なうことは、LV上のデータが失われる恐れがあるため、リスクが高いと考えられている。lvreduceコマンドを使用するには、あらかじめresize2fsコマンドを使用してLV上のファイルシステムの大きさを変更しておく必要がある。
「 lvreduce -L -500M /dev/home2/downloads 」を実行すれば、LVの大きさを500MB分小さくすることができる。しかしlvreduceは危険を伴うコマンドであるため、全データのバックアップを取らずにLVの大きさを劇的に小さくするようなことはやめておいた方が良いだろう。
VGを変更する
LVが、VG内のすべての領域を使い尽くしてしまったという場合にはどうすれば良いだろうか?その場合には、既存のVGにさらにPVを追加したうえで、前述したようにLVを大きくすれば良い。
まず始めに、VG内のLVをアンマウントしよう。その後「 vgextend home2 /dev/sda5 /dev/sda7 」というコマンドを実行すれば、home2という名前の既存のVGにsda5とsda7という2つのPVを追加することができる(もちろんsda5とsda7はあらかじめ利用可能にしておく必要がある)。上記のコマンドを実行するとhome2というVGはsda3、sda5、sda7から構成されることになる。
VGを削除するためは、VGに含まれているすべてのLVを先に削除しておく必要がある。LVをアンマウントして、「 lvremove /dev/home2/downloads 」というコマンドを実行すれば、LVとそれに含まれている全データが削除される。その後、vgremoveコマンドを「 vgremove home2 」のようにして実行すれば、VGを削除することができる。
まとめ
LVMを使用するようになって以来、万が一ディスク空間が足りなくなったとしてもVGにパーティションを新たに追加しさえすればLVを大きくすることができると分かっているので、私は毎晩よく眠れるようになった。
既存のVGに追加するパーティションは必ずしも物理的に同じハードディスク上になくても良いということも、さらなる利点だ。前述したように、LVMではLVを大きくすることができるだけではなく、VGを大きくすることもできる。ただし当然ながら、LVを大きくするためにはVG内に空き領域がなければならず、VGを大きくするためには未使用のPVがなければならない。
Shashank Sharmaは、コンピュータサイエンスの学位を目指す学生。フリー/オープンソースソフトウェアの初心者向けの記事の執筆を専門的に行なっている。Apress社刊「Beginning Fedora」の共著者。
