In LVM we can merge many hard drives & make it as a single hard drive. In previous we cannot resize the file system. Also we have some partition limit in AlmaLinux / Rocky Linux / Amazon Linux. If you make a hard drive of 10G using simple partition technique and somehow your drive get full so here we cannot expand it or reduce it. So we use LVM to get those advantages of reducing and expanding drives.
Here we create 8 physical volume and using it we generate 1 Volume Group 1 TB. And we use 700G to create three logical volume and there is 300G remains in VG. The first LV get full so we use remaining 300G to extend that LV so such a way we can create LV and use it.
Here,
PV-> Physical volume
VG-> Volume Group
LV -> Logical Volume
Step-I (Make new partition)
# fdisk /dev/sda
n:
e extended
p primary partition (1-4)
Make extended partition and then create partition using it.
First cylinder:
second cylinder :+5G
Create 3 more partition like this.
Then toggle it. To toggle type t
t: (x) (y) (z) (8e)
:p:
:w
# partx -a /dev/sda
# pvcreate /dev/sdax
OR
# pvcreate /dev/sdax /dev/sday /dev/sdaz
Now create physical volume to create it
# pvdisplay
Or
# pvs /dev/sdax
Now create VG.
Step-II (Vgcreate vgname pvname(list))
# vgcreate myvol /dev/sdax /dev/sday /dev/sdaz
# vgdisplay
OR
# vgs myvol
Step-III (Now create Logical Volume)
lvcreate -L lvsize -n Lvname vgname
# lvcreate -L 2G -n lv1 myvol
# lvdisplay
Now Assign file system.
# mkfs.ext4 /dev/myvol/lv1
# mkdir /data
# vim /etc/fstab
/dev/myvol/lv1 /data ext4 defaults 0 0
:wq
# mount –a
# df -hT
Step-IV (Remove LVM partition)
# umount /data
# vim /etc/fstab
Remove entry
# lvremove /dev/myvol/lv1
Step-V (For to remove VG)
First remove all active LVM then remove VG.
# vgremove myvol
# pvremove /dev/sdax /dev/sday /dev/sdaz
# fdisk /dev/sda
Step-VI (Create swap LVM)
# lvcreate -L +2G -n lv2 myvol
# mkswap /dev/myvol/lv2
# vim /etc/fstab
/dev/myvol/lv2 swap swap default 0 0
:wq
#swapon -a
# cat /proc/swaps
Step-VII (To remove swap)
# swapof -a
Step-VIII (Extend LV)
# vgs myvol
Spaces are remaining then extend LV.
# lvextend -L +5G /dev/myvol/lv1
# resize2fs /dev/myvol/lv1
Step-IX (Reduce LV)
-Cannot reduce LVM partition on online mode
-Only free space can reduce
# umount /data
# df -hT
# fsck.ext4 -f /dev/myvol/lv1
Step-X (resize2fs LVname targated size)
# resize2fs /dev/myvol/lv1 7G
lvreduce -L size (targeted size) LVname
# lvreduce -L 7G /dev/myvol/lv1
# mount -a
# df -hT
Step-XI (Using Physical extent and logical extent)
# vgcreate -s 8G myvol /dev/sdax
# lvcreate -l 20 -n lv3 myvol.
Congratulation the Linux LVM Logical volume for AlmaLinux / Rocky Linux / Amazon Linux has created.