LVM - vghn/docs GitHub Wiki

Logical Volume Manager

Steps

# Verify if attached correctly and modify MOUNTED_AS
sudo fdisk -l

# Install packages
sudo apt-get -qy install lvm2

# Initialize disk
sudo pvcreate /dev/sdb

# Create volume group
sudo vgcreate data_vg /dev/sdb

# Create logical volume
sudo lvcreate -l +100%FREE -n data_lv data_vg

# List and verify if correct
sudo pvscan && sudo pvdisplay
sudo vgscan && sudo vgdisplay
sudo lvscan && sudo lvdisplay

# Format ($FILE_SYSTEM_TYPE) logical volume /dev/volumegroup/volumename
sudo mkfs -t ext4 /dev/data_vg/data_lv

# Add to fstab (last 2 means that it will be cjecked at startup)
sudo mkdir -p /data
echo '/dev/data_vg/data_lv  /data  ext4  defaults  0  2' | sudo tee -a /etc/fstab

# Mount the volume
sudo mount -a

# List partitions types and sizes
sudo df -Th

################################################################################
# Misc

## Display information about physical volumes
sudo pvs
sudo pvdisplay
## Display information about logical volume
sudo lvs
sudo lvdisplay
## Display information about volume groups
sudo vgs
sudo vgdisplay

## Reattach LVM EBS
sudo pvscan && sudo vgscan && sudo lvscan
sudo vgchange -ay data_vg

## Extend LVM root partition
sudo fdisk -l
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

# Create physical volume on disk
pvcreate /dev/nvme1n1
# Extend existing volume group on the new disk
vg extend pve /dev/nvme1n1
# Extend the `data` thinpool to all available space
lvm lvextend -l +100%FREE /dev/pve/data

## Delete volume
lvremove /dev/$VOLUME_GROUP/$VOLUME_NAME

## Rezize
sudo umount /dev/data/webdata
sudo pvresize /dev/xvdv
sudo lvextend -L4.99GB /dev/data/webdata
sudo e2fsck /dev/data/webdata
sudo resize2fs /dev/data/webdata
sudo e2fsck /dev/data/webdata
sudo mount /dev/data/webdata /srv

References