LVMのVG(ボリュームグループ)やLG(ロジカルグループ)の基本的な使い方を解説する
メモ書き程度のものだけど、「アウトプットしない知識はインプットじゃない」とどこかで聞いた気がするので、書いておく。とりあえず、20Gb程度なり適当に空き領域をディスクに作っておいて、それをごにょごにょする方法。LVM領域は既にある前提で(単なるメモなのですいません…)。
空き領域がなくて困ってる人はこちらの記事で。
blog.masudak.net
いざ、実践
ひとまず、VG(ボリュームグループ)の確認
# vgdisplay -C VG #PV #LV #SN Attr VSize VFree vg01 1 2 0 wz--n- 67.88G 19.53G
「vg01」というボリュームグループがあるのが分かる。というか作ってある。
名称が分かったので、詳細を見てみる。
# vgdisplay vg01 --- Volume group --- VG Name vg01 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 67.88 GB PE Size 32.00 MB Total PE 2172 Alloc PE / Size 1547 / 48.34 GB Free PE / Size 625 / 19.53 GB VG UUID Gld7ab-xEJz-orWB-kwZe-ZXCk-RAzY-y8Gt8t
得られる情報としては、物理エクステントが32MBってことぐらいかな。
じゃ、LV(論理ボリューム)を見てみる。
# lvdisplay -C LV VG Attr LSize Origin Snap% Move Log Copy% Convert lv01 vg01 -wi-ao 47.34G sw vg01 -wi-ao 1.00G
「lv01」と「sw」というLVがある模様。というか、以前作った。
dfコマンドでも確認。
# df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/mapper/vg01-lv01 46G 1.0G 43G 3% / /dev/sda1 99M 13M 82M 14% /boot tmpfs 2.0G 0 2.0G 0% /dev/shm
「lv01」が「/」に割り当てられてるというかなりシンプルな構成。
10Gb程度の新しい領域を作りたいので、「vg01」ボリュームグループ以下に「lv02」という名前で論理ボリューム作成。
# lvcreate -L 10G -n lv02 vg01 Logical volume "lv02" created
んで、確認。
# lvdisplay -C LV VG Attr LSize Origin Snap% Move Log Copy% Convert lv01 vg01 -wi-ao 47.34G lv02 vg01 -wi-a- 10.00G sw vg01 -wi-ao 1.00G
一応、詳細も見ておく。
# lvdisplay /dev/mapper/vg01-lv02 --- Logical volume --- LV Name /dev/vg01/lv02 VG Name vg01 LV UUID rSHgEi-2SzO-zbG0-9PTd-uaVt-Fdcr-Q5VdXe LV Write Access read/write LV Status available # open 0 LV Size 10.00 GB Current LE 320 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
あとは、できた領域で遊べるようにする。
# mkfs.ext3 /dev/mapper/vg01-lv02 ext3でいいならよいけど、必要なパッケージとか入ってなくてxfs使えなかったら、以下で。 # yum install kmod-xfs xfsprogs # mkfs.xfs -f /dev/mapper/vg01-lv02 # /sbin/mkfs -t xfs -f /dev/mapper/vg01-lv02
あとは、マウント先作るなり、なんなりして、マウント。
# mkdir /data # /bin/mount -t ext3 /dev/mapper/vg01-lv02 /data <span class="deco" style="font-weight:bold;">#ext3 ver.</span> # /bin/mount -t xfs /dev/mapper/vg01-lv02 /data <span class="deco" style="font-weight:bold;">#xfs ver.</span>
確認して、一応テスト書き込み。
$ df -h -T $ touch /data/test
あとは、起動時とかマウントさせたいならfstabとか書いておく。
番外編
論理ボリュームのサイズ減らしたくなったけど、マウント先が「/」とかになって、busyだからアンマウントできないとか言う場合は、レスキューモードで。
LVMを認識しないので、認識させて、ファイルチェックをかけて、拡大縮小とか、もろもろ遊ぶだけ。
sh-3.2# lvm lvscan sh-3.2# e2fsck -f /dev/VolGroup01/LogVol00 sh-3.2# lvm lvchange -ay /dev/VolGroup01/LogVol00
未だにどういう構成が美しいのか分からんなぁ。だれかおせーてー。