うちの自宅サーバー。
いまはLinuxが動いておりますが、最初はWindows2000が入っていて、
デュアルブートにしてLinuxを入れて、そこからWindows2000をいったん消して、
LinuxにVmwareを入れて、仮想OSとしてまたWindows2000を入れたりしてきました。
結構ディスクの中がぐちゃぐちゃなのね。
「/」ファイルシステムをもうちょっとしたいなとずっと思ってたの。
自分で作ったファイルシステムじゃなくて、
「/」とか「/usr」とか「/etc」とか、その他重要ファイルシステムは
OS起動時に自動マウントしてしまうので簡単に縮小できません。
気合いを入れて調べてみた。
そして、できたので忘れないためのもメモっとく。
ちなみに、私の環境はCentOS5.1です。
fedora系のLinuxであれば同じ方法でできるでしょう。
1.レスキューモードで起動
まず、ファイルシステムを掴まない状態でLinuxをあげる必要があるので、
インストールDVD(or CD)からレスキューモードで起動します。
「sh-3.2# 」というプロンプトが出てきてレスキューモードになるまでは、
対話式のメニューをそのままたどれば来れるはず。
2.VGのアクティベート
レスキューモードでは既存VGがアクティベートされないようなので、
次のコマンドでアクティベートを実施。
sh-3.2# lvm vgscan
sh-3.2# lvm vgchange -ay
2 logical volume(s) in volume group "VolGroup00" now active
3.FS・LVの縮小
それではいよいよ縮小です。
sh-3.2# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
LogVol00 VolGroup00 -wi-a- 29.90G
lvswap01 VolGroup00 -wi-a- 896.00M
ここでは、「LgVol00」を29.9GBから20GBに縮小します。
まずは、ファイルシステムチェック。しないと怒られるようです。
sh-3.2# e2fsck -f /dev/VolGroup00/LogVol00
そして、いったん目標サイズより少し小さめにファイルシステムを縮小します。
sh-3.2# resize2fs /dev/VolGroup00/LogVol00 19G
次にファイルシステムの器であるLVを目標のサイズに縮小します。
sh-3.2# lvm lvresize VolGroup00/LogVol00 --size 20G
最後にファイルシステムをLVに合わせて拡張して終わり。
sh-3.2# resize2fs /dev/VolGroup00/LogVol00
あとは、再起動をかければファイルシステムが縮小されて、
空き容量ができているはず。
とりあえず祈る。
参考サイト:System Recovery Week: Using LVM In Rescue Mode from Fedora Daily Package