LVM の設定例

投稿者: | 2011/11/26

・LVM2 のモジュールをロードし VG を活性化する

# modprobe dm-mod
# vgchange -ay

・LV, VG から PV(HDD) を取り除く

ext3, ext4 ではオンラインでファイルシステムの縮小はできません.
いったん umount してからファイルシステムを縮小する必要があります.
感覚としては FS → LV → VG の順番で小さくする.

# umount /dev/mapper/VolG00-lvroot
# e2fsck -f /dev/mapper/VolG00-lvroot
# resize2fs /dev/mapper/VolG00-lvroot 500G
# lvreduce -L 501G /dev/mapper/VolG00-lvroot
# pvmove /dev/sdb1
# vgreduce VolG00 /dev/sdb1
# pvremove /dev/sdb1
# lvextend -l +100%FREE /dev/mapper/VolG00-lvroot
# resize2fs /dev/mapper/VolG00-lvroot

以上で /dev/sdb1 は自由の身です(fdisk で好きなように).
resize2fs はオプションを指定しなければ空き領域いっぱいにファイルシステムを広げてくれます.

・すでに存在する LV, VG へ PV(HDD)を追加する

こちらは ext3, ext4 でもオンラインでできます.
が,やはり umount してからのほうが安全.
fdisk を使って /dev/sdb1 に LVM(8e)のパーティションを作っておきます.
感覚としては VG → LV → FS の順番で大きくする.

# umount /dev/mapper/VolG00-lvroot
# fdisk /dev/sdb
# pvcreate /dev/sdb1
# vgextend VolG00 /dev/sdb1
# lvextend -l +100%FREE /dev/mapper/VolG00-lvroot
# e2fsck -f /dev/mapper/VolG00-lvroot
# resize2fs /dev/mapper/VolG00-lvroot

resize2fs はオプションを指定しなければ空き領域いっぱいにファイルシステムを広げてくれます.
LVM は デバイス名(/dev/sd?)でなく UUID でディスクを認識しているみたい.
ディスクを追加して既存のディスクのデバイス名が変わってしまっても問題はない(人間は混乱する).