LVM Physical Volumes
A physical volume (pv) is any block device (a disk, a partition, a RAID device, an iSCSI device, etc.). All these devices can become a member of a volume group.
The commands used to manage a physical volume start with pv:
pvchange pvck pvcreate pvresize pvs pvscan pvdisplay pvmove pvremove
pvcreate
Use the pvcreate command to add devices to lvm. This example shows how to add a disk to lvm.
# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created
This example shows how to add a partition to lvm.
# pvcreate /dev/sdc1 Physical volume "/dev/sdc1" successfully created
You can also add multiple disks or partitions as target to pvcreate. This example adds three disks to lvm:
# pvcreate /dev/sde /dev/sdf /dev/sdg Physical volume "/dev/sde" successfully created Physical volume "/dev/sdf" successfully created Physical volume "/dev/sdg" successfully created
pvremove
Use the pvremove command to remove physical volumes from lvm. The devices may not be in use.
# pvremove /dev/sdc Labels on physical volume "/dev/sdc" successfully wiped
You can also remove multiple disks using the pvremove command. This example removes three disks from lvm:
# pvremove /dev/sde /dev/sdf /dev/sdg Labels on physical volume "/dev/sde" successfully wiped Labels on physical volume "/dev/sdf" successfully wiped Labels on physical volume "/dev/sdg" successfully wiped
pvresize
When you used fdisk to resize a partition on a disk, then you must use pvresize to make lvm recognize the new size of the physical volume that represents this partition:
# pvresize /dev/sdc1 Physical volume "/dev/sdc1" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
pvchange
With pvchange you can prevent the allocation of a Physical Volume in a new Volume Group or Logical Volume. This can be useful if you plan to remove a Physical Volume:
# pvchange -xn /dev/sde Physical volume "/dev/sde" changed 1 physical volume changed / 0 physical volumes not changed
To revert your previous decision, this example shows you how te re-enable the Physical Volume to allow allocation:
# pvchange -xy /dev/sde Physical volume "/dev/sde" changed 1 physical volume changed / 0 physical volumes not changed
pvmove
With pvmove you can move Logical Volumes from within a Volume Group to another Physical Volume. This must be done before removing a Physical Volume.
# pvmove /dev/sdg Moved: 21.4% Moved: 54.8% Moved: 70.1% Moved: 100.0%
pvs
The easiest way to verify whether devices are known to lvm is with the pvs command:
# pvs PV VG Fmt Attr PSize PFree /dev/sda2 vg30 lvm2 a- 15.88G 0 /dev/sdb lvm2 -- 409.60M 409.60M /dev/sdc vg33 lvm2 a- 408.00M 408.00M /dev/sdd vg33 lvm2 a- 408.00M 408.00M
The above example shows that only /dev/sda2 is currently known for use with LVM. It shows that /dev/sda2 is part of vg30 and is almost 16GB in size. It also shows /dev/sdc and / dev/sdd as part of vg33. The device /dev/sdb is known to lvm, but not linked to any Volume Group.
pvscan
The pvscan command will scan all disks for existing Physical Volumes. The information is similar to pvs, plus you get a line with total sizes.
# pvscan PV /dev/sdc VG vg33 lvm2 [408.00 MB / 408.00 MB free] PV /dev/sdd VG vg33 lvm2 [408.00 MB / 408.00 MB free] PV /dev/sda2 VG vg30 lvm2 [15.88 GB / 0 free] PV /dev/sdb lvm2 [409.60 MB] Total: 4 [17.07 GB] / in use: 3 [16.67 GB] / in no VG: 1 [409.60 MB]
pvdisplay
Use pvdisplay to get more information about physical volumes:
# pvdisplay /dev/sda2 --- Physical volume --- PV Name /dev/sda2 VG Name vg30 PV Size 15.90 GB / not usable 20.79 MB Allocatable yes (but full) PE Size (KByte) 32768 Total PE 508 Free PE 0 Allocated PE 508 PV UUID 2bb9351c-d23e-479d-9818-eb2771cc10ce
You can also use pvdisplay without an argument to display information about all physical (lvm) volumes.