First we need to put markers on the devices that will be used to create the volume groups:
pvcreate /dev/device1 /dev/device2 /dev/device3
Now we need to create a volume group: Below is the command used to create a volume group from one or more physical volumes.
vgcreate vg1 /dev/device1 /dev/device2 /dev/device3When physical volumes are used to create volume group, the disk space is divided into 4mb extents. This means that the logical volumes are increased and decreased by this size.
Logical Volume groups will be represented as:
/dev/vg/lv/For example if you create 2 volume groups and 3 logical volumes it will be displayed as:
/dev/vg1/lv01 /dev/vg1/lv02 /dev/vg1/lv03 /dev/vg2/lv01 /dev/vg2/lv02 /dev/vg2/lv03
Below is how to extend a volume group by adding another physical volume:
vgextend vg1 /dev/device4
There are 2 commands you can use to display the current groups:
The vgs command provides volume group information in a configurable form, displaying one line per volume group
vgsThe vgdisplay command displays volume group properties (such as size, extents, number of physical volumes, etc.) in a fixed form
vgdisplay
If you wish to remove a physical device from a volume group you will first need to make sure that the device is not being used. If the device IS being used then you will need to move the data off (pvmove). Below shows an output of a full device.
pvdisplay /dev/device2Example output:
-- Physical volume --- PV Name /dev/device2 VG Name vg PV Size 1.95 GB / NOT usable 4 MB [LVM: 122 KB] PV# 1 PV Status available Allocatable yes (but full) Cur LV 1 PE Size (KByte) 4096 Total PE 499 Free PE 0 Allocated PE 499 PV UUID Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7Once you move off the data you can use vgreduce:
vgreduce vg1 /dev/device2
There are two ways to rename a volume group
vgrename /dev/vg02 /dev/my_volume_group
vgrename vg02 my_volume_group
lvcreate -L 20M lvnew vg1