Edited 2 weeks ago by ExtremeHow Editorial Team
Storage ManagementLVMLogical Volume ManagementConfigurationCommand LineDisk ManagementSetupSysAdminPerformanceUtilities
This content is available in 7 different language
Logical Volume Management (LVM) is a way of allocating space on mass-storage devices that is more flexible than traditional partitioning. LVM is very useful for managing disk space in an efficient way. It allows users to easily resize partitions, add new ones, or move them around without the usual headaches of dealing with static partitions. This guide will help you step by step to understand how to create and manage LVM on a Linux system using simple commands.
Before creating and managing LVM, it is important to understand its components:
Before you start creating LVM, make sure that the LVM package (known as lvm2
) is installed on your Linux system. You can check if it is installed by doing:
sudo lvm version
If it is not installed, you can install it using your distribution's package manager.
For Debian/Ubuntu:
sudo apt-get install lvm2
For Red Hat/CentOS:
sudo yum install lvm2
Physical volume is the first step. You need to create a PV from your available block storage devices. Here is a simple command for this:
sudo pvcreate /dev/sdb /dev/sdc
The above command initializes /dev/sdb
and /dev/sdc
as physical volumes.
Next, you need to create a volume group consisting of your physical volumes. This is done using the vgcreate
command:
sudo vgcreate my_vg /dev/sdb /dev/sdc
Here, we have created a volume group named my_vg
that includes /dev/sdb
and /dev/sdc
.
Once you have your volume group, you can start creating logical volumes from it using lvcreate
command:
sudo lvcreate -L 10G -n my_lv my_vg
This command creates a logical volume named my_lv
with size 10 GB from the volume group my_vg
.
Now that you have a logical volume, you need to create a file system on it so that it can be used to store files. For example, to create an ext4 file system, you could run:
sudo mkfs.ext4 /dev/my_vg/my_lv
To use the space, you must mount the logical volume to a directory. You can do this as follows:
sudo mkdir /mnt/my_data sudo mount /dev/my_vg/my_lv /mnt/my_data
With this, your logical volume /dev/my_vg/my_lv
is accessible at /mnt/my_data
.
The biggest advantage of LVM is the ability to resize logical volumes. To increase a logical volume, first resize the volume:
sudo lvextend -L +5G /dev/my_vg/my_lv
Then, resize the file system to use the extra space:
sudo resize2fs /dev/my_vg/my_lv
To reduce the size (shrink) of a logical volume, you must first unmount it, then resize the file system, and then resize the logical volume:
sudo umount /mnt/my_data sudo e2fsck -f /dev/my_vg/my_lv sudo resize2fs /dev/my_vg/my_lv 8G sudo lvreduce -L 8G /dev/my_vg/my_lv sudo mount /dev/my_vg/my_lv /mnt/my_data
If you want to remove a logical volume in the future, you can first unmount it and then delete it:
sudo umount /mnt/my_data sudo lvremove /dev/my_vg/my_lv
To remove a volume group, make sure no logical volumes exist, and then use:
sudo vgremove my_vg
Finally, to delete a physical volume:
sudo pvremove /dev/sdb
lvdisplay
, vgdisplay
and pvdisplay
.Logical Volume Management (LVM) offers significant advantages over traditional partitioning in terms of flexibility, manageability, and efficiency. It proves particularly useful in managing disk space in servers and environments where storage needs change rapidly. By following the steps outlined here, along with regular maintenance practices, you can effectively manage your storage using LVM in a Linux environment.
If you find anything wrong with the article content, you can