特集
» 2007年09月05日 01時10分 公開

Linux Hacks:LVMで楽々ディスク管理 (3/3)

[Shashank-Sharma,Open Tech Press]
SourceForge.JP Magazine
前のページへ 1|2|3       

LVの大きさを変更する

 新しく作成したLVだが、将来的にはやがてその領域も足りなくなると考えておいて間違いはないだろう。そのような場合には、lvextendコマンドを使用してLVを大きくすることができる。

 ただしこれを行うにはVGに空き領域がなければならない。とはいえVGに空き領域がないという場合でもあきらめる必要はなく、その場合には次節で紹介する、VGにPVを追加するための作業を先に行なえばよい。

 前記の例では、2Gバイトの領域を持つVGの中に1GバイトのLVを作成したので、LVの大きさをもう1Gバイト分大きくすることが可能だ。ただしLVを大きくする前にLVをアンマウントする必要がある。Ext3ファイルシステムはアンマウントしなくても大きさを変更することが可能なのだが、念のために無難な方法で行なっておこう。それではまず「umount /home/downloads」というコマンドを実行してハードディスクをアンマウントしよう。これにより、/etc/fstabにエントリを追加しておいた場合にはLVをアンマウントできる。そうでない場合には、「umount /dev/home2/downloads」を実行すればアンマウントできる。

 次に、「lvextend -L +1G /dev/home2/downloads」というコマンドを実行する。成功した場合、LVの大きさが1Gバイト分増えて、以下のようなメッセージが表示されるはずだ。

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の大きさを500Mバイト分小さくできる。しかし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」の共著者。


前のページへ 1|2|3       

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ