How to create an LVM volume
Only needed if no Physical Volume exists or additional disks are added
create physical volume and view it:
# adds the physical disk to lvm
$ pvcreate /deb/sdx
#view if the new physical disk is visible
$ pvs
PV VG Fmt Attr PSize PFree
/dev/sdx lvm2 a-- <1.82t <1.14t
Only needed when no VG exists or additional one is needed.
a VG can contain multiple physical
Create volume group on physical volume:
# create volume group
$ vgcreate testvg /dev/sdx
#view vulume groups
$ vgs
VG #PV #LV #SN Attr VSize VFree
testvg 1 0 0 wz--n- <1.82t <1.14t
Now we create the logical volume on the volume group there can be multiple logical volumes on an volume group
# create new logical volume
$ lvcreate -n testlv -L1G datavg
Logical volume "testlv" created
# -n sets the name of the logical volume
# -L sets the Size in G
# last option is the volume group to place the lv on
# check if correct
$ lvs
LV VG Attr LSize Pool Origin
testlv datavg -wi-a----- 1.00g
The lv is now setup but not usable
Before we can use it, it needs to have an Filesystem
we will use mkfs for this. Filesystem can be chosen as you prefer
(mkfs.ext4, mkfs.xfs, mkfs.btrfs)
create filesystem on lv:
$ mkfs.ext4 /dev/mapper/datavg-testlv
mke2fs 1.46.5 (30-Dec-2021)
Device blocks are discarded: done
A file system with 262144 (4k) blocks and 65536 inodes is created.
UUID of the file system: 89f36f09-9155-466d-af6e-180524b832ce
Superblock backup copies stored in blocks:
32768, 98304, 163840, 229376
when requesting memory for the group tables: done
inode tables are written: done
The journal (8192 blocks) is created: done
The superblocks and the file system usage information are
written: done
Now it is ready to be used and receive Data.
Mount it once:
# mount to /mnt/test (folder has to exist)
$ mount /dev/mapper/datavg-testlv /mnt/test
# check if mount is up
$ mount | grep testlv
/dev/mapper/datavg-testlv on /mnt/test type ext4 (rw,relatime)
Mount permanently:
permanent mount will be done via /etc/fstab. the entries in this file will be mounted every time the OS is booted or the command “mount -a” is issued
open file for edit:
$ vim /etc/fstab
Add the following entry (don’t forget to change according to your setup ex.: path, filesystem other mount options)
# add the following line at the end of file
/dev/mapper/datavg-testlv /mnt/test ext4 defaults 0 0
mount and check
$ mount -av
/mnt/test : successfully mounted
$ mount | grep testlv
/dev/mapper/datavg-testlv on /mnt/test type ext4 (rw,relatime)
Now you can place data and other stuff on the volume