Skip to content

Logical Volume Manager

Common

Check if LVM can access and manage system disks

Terminal window
sudo lvmdiskscan

List physical volume(s)

Terminal window
sudo pvs

List volume groups

Terminal window
sudo vgs

Verify physical volume(s) was created successfully

Terminal window
sudo pvdisplay /dev/<disk>

Verify the logical volume was created successfully

Terminal window
sudo lvdisplay
Terminal window
## Physical
Create physical volumes in LVM
```shell showLineNumbers=false
# example: sudo pv create /dev/sdb
sudo pvcreate /dev/<disk>

Volume

Create volume group based on physical volumes

Terminal window
# One physical disk in volume group
sudo vgcreate VolumeGroup01 /dev/sdb
# Multiple physical disks in same volume group
sudo vgcreate VolumeGroup01 /dev/sdc /dev/sdd /dev/sde

Logical

Create logical volumes based on volume group

Terminal window
# Allocate disk space for multiple volumes from same volume group
sudo lvcreate -n repos -L 30G VolumeGroup01
sudo lvcreate -n backup -L 50G VolumeGroup01
sudo lvcreate -n dev -L 100G VolumeGroup01
# Allocate rest of disk space
sudo lvcreate -n disk01 -l 100%FREE VolumeGroup01

Mount logical volumes

  1. Format logical volumes and do it for all volumes

    Terminal window
    # example: sudo mkfs.ext4 /dev/VolumeGroup01/backup
    sudo mkfs.ext4 /dev/<volume group>/<name of volume>
  2. Create folders (optional)

    Terminal window
    # example: sudo mkdir -p /mnt/backup
    # example: sudo mkdir -p /opt/{repos,backup,dev}
    sudo mkdir -p /<path>/<name of volume>
  3. Mount the disks

    Terminal window
    # example: sudo mount /dev/VolumeGroup01/backup /mnt/backup
    # example: sudo mount /dev/VolumeGroup01/dev /opt/dev
    sudo mount /dev/<volume group>/<name of volume> /<path>/<name of volume>
    # Verify the mount was successful
    df -h
    # or
    mount | grep <volume group>
  4. Add to fstab to permanently add the disks

    Terminal window
    # use your editor of choice (nano, vi, vim, etc.)
    sudo vim /etc/fstab
    # Add the following
    # example: /dev/VolumeGroup01/backup /mnt/backup ext4 defaults,nofail 0 0
    /dev/<volume group>/<name of volume> /<path>/<name of volume> ext4 defaults,nofail 0 0