LVM

Logical Volume Manager

Logical Volume Layers:

pv (pysical volume)

vg (volume group)

lv (logical volume)

Useful commands:

fdisk -l

vgchange -a y <vg>

pvscan

vgscan

lvscan

pvcreate /dev/sda1 /sdb1 …

pvdisplay

pvremove /dev/sda1 /sdb1 …

vgcreate vg_01 /dev/sda1 /dev/sdb1 …

vgdisplay

vgrename vg_01 data

note) if the total lv is less than 50%, we can apply RAID1

lvcreate -l 100%FREE -n lv_share vg_data

or

lvcreate –name share –size 40G vg_01

lvcreate –name media –size 10G vg_01

lvdisplay

lvrename media film or lvrename vg_01 media film

lvremove /dev/vg_01/film

lvextend -L50G /dev/vg_01/share

lvreduce -L1G /dev/vg_01/share

mkfs.ext3 /dev/vg_01/share

note) edit fstab to retain mount

mount /dev/vg_01/share /var/share

note) all those commands are fine and dandy, but now for the maintenance like resizing logical volumes that are in use.

extend:

umount logical volume from filesystem

lvextend share as shown above

resize the filesystem to match the LVs size resize2fs -p /dev/vg_01/share

now we resize the ext3 filesystem on the logical volume e2fsck -f /dev/vg_01/share

now mount the logical volume

reduce:

again umount as above

now you reduce the ext3 filesystem first resize2fs /dev/vg_01/share <active_size>

reduce the logical volume lvreduce /dev/vg_01/share -L<active_size>

mount

snapshots:

lvcreate --size 128m --snapshot --name snap0 --verbose /dev/vg_data/lv_datastore

dmsetup remove /dev/vg_data/snap0

lvremove /dev/vg_data/snap0

troubleshoot:

when lvremove fails with 'Can’t remove open logical volume “/dev/vg_data/lv_datastore_snap”'

dmsetup info -c /dev/vg_data/lv_datastore_snap

dmsetup remove /dev/vg_data/lv_datastore_snap

[References]

http://www.howtoforge.com/linux_lvm