DEV Community

Cover image for LVM (Quick Snippet)
Ashish R Bhandari
Ashish R Bhandari

Posted on • Edited on

2 1

LVM (Quick Snippet)

  1. Physical Volume (PV)
  2. Volume Group (VG)
  3. Logical Volume (LV)

All PV COMMANDS

pvcreate /dev/sdb2
Enter fullscreen mode Exit fullscreen mode

All VG COMMANDS

Syntax: vgcreate NEW_VG_NAME PV_NAME

vgcreate ubuntu-vg /dev/sdb2 
Enter fullscreen mode Exit fullscreen mode

Syntax: vgextend OLD_VG_NAME PV_NAME

vgextend ubuntu-vg /dev/sdb3 
Enter fullscreen mode Exit fullscreen mode

ALL LV COMMANDS

Syntax: lvcreate -n NEW_LV_NAME -L SIZE(G,M) EXISITING_VG_NAME

lvcreate -n app-log-lv -L 12G ubuntu-vg 
Enter fullscreen mode Exit fullscreen mode

Syntax: lvextend [LEFT TO ADD]

[LEFT TO ADD]
Enter fullscreen mode Exit fullscreen mode

lvreduce

# Check First
lvs

LV   VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
app-log-lv ubuntu-vg -wi-ao---- <12.00g


# Perform Reduce
lvreduce --resizefs -L -1G ubuntu-vg/app-log-lv


# Check Again
lvs

LV   VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
app-log-lv ubuntu-vg -wi-ao---- <11.00g



Enter fullscreen mode Exit fullscreen mode

A Quick Setup

Step1: Make Sure a Disk is Present or Create it using pvcreate

pvcreate /dev/sdb2
Enter fullscreen mode Exit fullscreen mode

Note: Check all PVs
commands: pvs , pvscan , pvdisplay

Step2: Make Sure a Volume Group(VG) is Present or Create it using vgcreate

vgcreate ubuntu-vg /dev/sdb2 
Enter fullscreen mode Exit fullscreen mode

Note: Check all VGs
commands: vgs , vgscan , vgdisplay

Step3: Make Sure a Logical Volume(LV) is Present or Create it using lvcreate

lvcreate -n app-log-lv -L 12G ubuntu-vg 
Enter fullscreen mode Exit fullscreen mode

Note: Check all LVs
commands: lvs , lvscan , lvdisplay

Step4: Make Sure it has a File System(fs) else provide one using mkfs.ext4 LV_PATH

#Get the LV_PATH
lvdisplay
#OutPut [It will show the LV Path]

  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/app-log-lv
  LV Name                app-log-lv
  VG Name                ubuntu-vg
  LV UUID                bGNxCm-Beki-UX3D-HSXm-NU3k-YWs0-1ru2Tp
  LV Write Access        read/write
  LV Creation host, time tester, 2020-11-04 10:52:02 +0530
  LV Status              available
  # open                 1
  LV Size                12 GiB
  Current LE             2092
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:8

Enter fullscreen mode Exit fullscreen mode

Give File System (fs)

mkfs.ext4 /dev/ubuntu-vg/app-log-lv
Enter fullscreen mode Exit fullscreen mode

Note: Check all mkfs
commands: mkfs.ext4, mkfs -t ext4

Step5: Make Sure it is MOUNTED(mount) if NOT mount it to a DIRECTORY

so that any changes made in directory is reflected in the Disk

Syntax: mount LV_Path DIR_PATH

# Create Dir If You don't have: 
mkdir /var/log/app-logs
mount /dev/ubuntu-vg/app-log-lv /var/log/app-logs

Enter fullscreen mode Exit fullscreen mode

Step6: Make Sure it is PERMANENTLY MOUNTED(fstab) if NOT mount it PERMANENTLY

Quickest: Copy New Data from mtab to fstab

cat /etc/mtab

/dev/mapper/ubuntu-vg-app-log-lv /var/log/app-logs ext4 rw,relatime,data=ordered 0 0

Enter fullscreen mode Exit fullscreen mode
# Add some Here
vim fstab

/dev/mapper/ubuntu-vg-app-log-lv /var/log/app-logs ext4 rw,relatime,data=ordered 0 0

Enter fullscreen mode Exit fullscreen mode

Restart & Check

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up