Jump to content

LVM: Difference between revisions

From 太極
Brb (talk | contribs)
Brb (talk | contribs)
Line 2: Line 2:


* [https://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29 Logical Volume Manager (Linux)]
* [https://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29 Logical Volume Manager (Linux)]
* LVM (Logical Volume Manager) is not a filesystem; it is a '''volume manager''' that provides '''logical volume management''' for the Linux kernel. It allows users to create, resize, and manage logical volumes, which are essentially virtual storage structures that can be formatted and used like regular filesystems (e.g., ext4 or XFS).
* [https://linuxhint.com/whatis_logical_volume_management/ Benefits of LVM]
* [https://linuxhint.com/whatis_logical_volume_management/ Benefits of LVM]
* [https://i.pinimg.com/originals/3c/bb/33/3cbb339e0b3a8c71c80662598a63f877.png A layout illustration]
* [https://i.pinimg.com/originals/3c/bb/33/3cbb339e0b3a8c71c80662598a63f877.png A layout illustration]

Revision as of 09:06, 27 February 2026

Resource

Cheatsheet

Naming convention

  • /dev/vg_<hostname>_<type><number>/lv_<filesystem>. See this
  • /dev/vg_`hostname -s`_[0-9][0-9]/lv_{foo|bar}. See this.

Creation

  • Setup LVM and pool hard drives in Ubuntu or Kodibuntu
    # Step 1 Find your drive names
    lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
    
    NAME         FSTYPE        SIZE MOUNTPOINT   LABEL
    sda                      223.6G              
    ├─sda1                    1007K              
    ├─sda2       vfat          512M /boot/efi    
    └─sda3       LVM2_member 223.1G              
      ├─pve-swap swap            8G [SWAP]       
      └─pve-root ext4        215.1G /            
    nvme0n1                  465.8G              
    └─nvme0n1p1  ext4        465.8G /mnt/pve/vm1 
    
    # Step 2 Format your drives
    fdisk /dev/sdX
    
    # Step 3 Create physical volume
    pvcreate /dev/sd[bcd]
    pvdisplay
    
    # Step 4 Adding the VG (Volume Group) to the LVM
    vgcreate {VG_NAME} /dev/sd[bcd]
    vgdisplay
    
    # Step 5 Adding the LV (Logical Volume) to the LVM VG (Volume Group)
    lvcreate -l 100%FREE -n {LV_NAME} {VG_NAME}
    lvdisplay
    
    # Step 6 FORMATTING OUR NEW LVM LV (LOGICAL VOLUME)
    mkfs.ext4 {LV_PATH}
    
    # Step 7 MOUNT LVM LV (LOGICAL VOLUME) ON BOOT
    blkid
    # Grab the UUID of your storage space, 
    # it will be after the /dev/mapper/{VG_NAME}-{LV_NAME}
    nano /etc/fstab
    mount -a
    
    # Step 8 ENABLE SMART DRIVE MONITORING
    nano /etc/defaults/smartmontools
    nano /etc/smartd.conf
  • LVM Layout & Arch Linux Tutorial – Configure LVM on Arch Linux 2017
    # Step 0 See available physical disks
    fdisk
    
    # Step 1 Create new Physical Volume
    pvcreate /dev/vdb
    pvcreate /dev/vdc
    pvdisplay 
    
    # Step 2 Create new Volume Group (VG)
    vgcreate archVG /dev/vdb /dev/vdc
    vgdisplay
    
    # Step 3 Logical Volume
    lvcreate -L 5G archVG -n archLV01
    lvcreate -L 15G archVG -n archLV02
    lvdisplay
    lsblk 
    
    # Step 4 Format the new volume
    mkfs.ext4 /dev/mapper/archVG-archLV01
    
    # Step 5 Mount
    mount /dev/mapper/archVG-archLV01 /mnt
  • How to Extend LVM Disk on Ubuntu 20.04
    # Step 1. Check the file system list
    sudo df -h /home/
    
    # Step 2. Check the Physical Volume (pv)
    sudo pvs
    sudo vgdisplay
    sudo lvdisplay
    
    # Step 3. Create a New Physical Volume
    sudo fdisk -l
    sudo lvmdiskscan
    sudo pvcreate /dev/sdb
    sudo lvmdiskscan -l
    
    # Step 4. Add the new Physical Volume (pv) to Existing Logical Volume (lv)
    sudo vgextend ubuntu-vg /dev/sdb
    sudo lvm lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
    
    sudo resize2fs -p /dev/mapper/ubuntu--vg-ubuntu--lv
    sudo df -h

Add new disk

  • How to add new disk to existing Volume Group vgextend
    # Step 1 Create Physical Volume
    pvcreate /dev/vdc
    
    # Step 2 Add Physical Volume to Existing Volume Group
    vgdisplay
    vgextend manjaro_lvm /dev/vdc
    vgdisplay
  • Adding a New Disk Into an Existing Logical Volume. lvextend
    umount /dev/serverdata/data
    fdisk -l
    pvcreate /dev/sdb
    vgextend serverdata /dev/sdb
    vgdisplay serverdata 
    
    lvextend -l +100%FREE /dev/serverdata/data
    # OR something like 
    # lvextend -L+25G /dev/serverdata/data
    lvdisplay serverdata
    
    e2fsck -f /dev/serverdata/data # optional
    resize2fs /dev/serverdata/data
    e2fsck -f /dev/serverdata/data # optional

Delete

Move

How To Move LVM Volume Group To Another Machine In Linux

Snapshot

Raspberry Pi