5.2. Physical Volume Administration
This section describes the commands that perform the various aspects of physical volume administration.
5.2.1. Creating Physical Volumes
The following subsections describe the commands used for creating physical volumes.
5.2.1.1. Setting the Partition Type
If you are using a whole disk device for your physical volume, the disk must have no partition table. For DOS disk partitions, the partition id should be set to 0x8e using the
fdisk
or cfdisk
command or an equivalent. For whole disk devices only the partition table must be erased, which will effectively destroy all data on that disk. You can remove an existing partition table by zeroing the first sector with the following command:
# dd if=/dev/zero of=PhysicalVolume bs=512 count=1
5.2.1.2. Initializing Physical Volumes
Use the
pvcreate
command to initialize a block device to be used as a physical volume. Initialization is analogous to formatting a file system.
The following command initializes
/dev/sdd
, /dev/sde
, and /dev/sdf
as LVM physical volumes for later use as part of LVM logical volumes.
# pvcreate /dev/sdd /dev/sde /dev/sdf
To initialize partitions rather than whole disks: run the
pvcreate
command on the partition. The following example initializes the partition /dev/hdb1
as an LVM physical volume for later use as part of an LVM logical volume.
# pvcreate /dev/hdb1
5.2.1.3. Scanning for Block Devices
You can scan for block devices that may be used as physical volumes with the
lvmdiskscan
command, as shown in the following example.
# lvmdiskscan
/dev/ram0 [ 16.00 MB]
/dev/sda [ 17.15 GB]
/dev/root [ 13.69 GB]
/dev/ram [ 16.00 MB]
/dev/sda1 [ 17.14 GB] LVM physical volume
/dev/VolGroup00/LogVol01 [ 512.00 MB]
/dev/ram2 [ 16.00 MB]
/dev/new_vg/lvol0 [ 52.00 MB]
/dev/ram3 [ 16.00 MB]
/dev/pkl_new_vg/sparkie_lv [ 7.14 GB]
/dev/ram4 [ 16.00 MB]
/dev/ram5 [ 16.00 MB]
/dev/ram6 [ 16.00 MB]
/dev/ram7 [ 16.00 MB]
/dev/ram8 [ 16.00 MB]
/dev/ram9 [ 16.00 MB]
/dev/ram10 [ 16.00 MB]
/dev/ram11 [ 16.00 MB]
/dev/ram12 [ 16.00 MB]
/dev/ram13 [ 16.00 MB]
/dev/ram14 [ 16.00 MB]
/dev/ram15 [ 16.00 MB]
/dev/sdb [ 17.15 GB]
/dev/sdb1 [ 17.14 GB] LVM physical volume
/dev/sdc [ 17.15 GB]
/dev/sdc1 [ 17.14 GB] LVM physical volume
/dev/sdd [ 17.15 GB]
/dev/sdd1 [ 17.14 GB] LVM physical volume
7 disks
17 partitions
0 LVM physical volume whole disks
4 LVM physical volumes
5.2.2. Displaying Physical Volumes
There are three commands you can use to display properties of LVM physical volumes:
pvs
, pvdisplay
, and pvscan
.
The
pvs
command provides physical volume information in a configurable form, displaying one line per physical volume. The pvs
command provides a great deal of format control, and is useful for scripting. For information on using the pvs
command to customize your output, see Section 5.9, “Customized Reporting for LVM”.
The
pvdisplay
command provides a verbose multi-line output for each physical volume. It displays physical properties (size, extents, volume group, etc.) in a fixed format.
The following example shows the output of the
pvdisplay
command for a single physical volume.
# pvdisplay
--- Physical volume ---
PV Name /dev/sdc1
VG Name new_vg
PV Size 17.14 GB / not usable 3.40 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 4388
Free PE 4375
Allocated PE 13
PV UUID Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
The
pvscan
command scans all supported LVM block devices in the system for physical volumes.
The following command shows all physical devices found:
# pvscan
PV /dev/sdb2 VG vg0 lvm2 [964.00 MB / 0 free]
PV /dev/sdc1 VG vg0 lvm2 [964.00 MB / 428.00 MB free]
PV /dev/sdc2 lvm2 [964.84 MB]
Total: 3 [2.83 GB] / in use: 2 [1.88 GB] / in no VG: 1 [964.84 MB]
You can define a filter in the
lvm.conf
so that this command will avoid scanning specific physical volumes. For information on using filters to control which devices are scanned, see Section 5.6, “Controlling LVM Device Scans with Filters”.
5.2.3. Preventing Allocation on a Physical Volume
You can prevent allocation of physical extents on the free space of one or more physical volumes with the
pvchange
command. This may be necessary if there are disk errors, or if you will be removing the physical volume.
The following command disallows the allocation of physical extents on
/dev/sdk1
.
# pvchange -x n /dev/sdk1
You can also use the
-xy
arguments of the pvchange
command to allow allocation where it had previously been disallowed.
5.2.4. Resizing a Physical Volume
If you need to change the size of an underlying block device for any reason, use the
pvresize
command to update LVM with the new size. You can execute this command while LVM is using the physical volume.
5.2.5. Removing Physical Volumes
If a device is no longer required for use by LVM, you can remove the LVM label with the
pvremove
command. Executing the pvremove
command zeroes the LVM metadata on an empty physical volume.
If the physical volume you want to remove is currently part of a volume group, you must remove it from the volume group with the
vgreduce
command, as described in Section 5.3.7, “Removing Physical Volumes from a Volume Group”.
# pvremove /dev/ram15
Labels on physical volume "/dev/ram15" successfully wiped