Linux lvm - Logical Volume Manager
Contents
1. This is what we are going to do
2. Create Partitions
3. Create physical volumes
4. Create Virtual Group
5. Create Logical Volumes
6. Create File system on logical volumes
7. Edit /etc/fstab
7.1. Mount logical volumes
8. Extend logical volume
9. Remove logical volume
This article describes a basic logic behind a Linux logical volume manager by showing real examples of configuration and usage. Although Debian Linux will be used for this tutorial, you can also apply the same command line syntax with other Linux distributions such as Red Hat, Mandriva, SuSe Linux and others.
This is what we are going to do
Logical Volume Manager
Create Partitions
For this Linux lvm example you need an unpartitioned hard disk /dev/sdb. First you need to create physical volumes. To do this you need partitions or a whole disk. It is possible to run pvcreate command on /dev/sdb, but I prefer to use partitions and from partitions I later create physical volumes.
Logical Volume Manager List Partitions with fdisk
Use your preferred partitioning tool to create partitions. In this example I have used cfdisk.
Create partitions with cfdiskLogical Volume Manager List Partitions with fdisk
Partitions are ready to use.
SUBSCRIBE TO NEWSLETTER
Subscribe to Linux Career NEWSLETTER and receive latest Linux news, jobs, career advice and tutorials.
Create physical volumes
Use the pvcreate command to create physical volumes.
# pvcreate /dev/sdb1
# pvcreate /dev/sdb2
The pvdisplay command displays all physical volumes on your system.
# pvdisplay
Alternatively the following linux command should be used:
# pvdisplay /dev/sdb1
Create physical volumes with pvcreate
Create Virtual Group
At this stage you need to create a virtual group which will serve as a container for your physical volumes. To create a virtual group with the name "mynew_vg" which will include /dev/sdb1 partition, you can issue the following linux command:
# vgcreate mynew_vg /dev/sdb1
To include both partitions at once you can use this command:
# vgcreate mynew_vg /dev/sdb1 /dev/sdb2
Create Virtual Group
Feel free to add new physical volumes to a virtual group by using the vgextend command.
# vgextend mynew_vg /dev/sdb2
virtual group extend
Create Logical Volumes
From your big cake (virtual group) you can cut pieces (logical volumes) which will be treated as a partitions for your linux system. To create a logical volume, named "vol01", with a size of 400 MB from the virtual group "mynew_vg" use the following linux command:
create a logical volume of size 400 MB -L 400
create a logical volume of size 4 GB -L 4G
# lvcreate -L 400 -n vol01 mynew_vg
lvm lvcreate
With a following example you will create a logical volume with a size of 1GB and with the name vol02:
# lvcreate -L 1000 -n vol02 mynew_vg
lvcreate
Note the free size in virtual group.
lvcrete free space
Create File system on logical volumes
The logical volume is almost ready to use. All you need to do is to create a filesystem.:
# mkfs.ext3 -m 0 /dev/mynew_vg/vol01
the -m option specifies the percentage reserved for the super-user, set this to 0 if you wish not to waste any space, the default is 5%. create file system on the logical volumes
Edit /etc/fstab
Add an entry for your newly created logical volume into /etc/fstab
edit /etc/fstab to include logical volumes
Mount logical volumes
Before you mount do not forget to create a mount point.
# mkdir /home/foobar
mount logical volumes
Extend logical volume
The biggest advantage of logical volume manager is that you can extend your logical volumes any time you are running out of the space. To increase the size of a logical volume by another 800 MB you can run this command:
# lvextend -L +800 /dev/mynew_vg/vol01
Extend logical volume
The command above does not actually increase the physical size of volume, to do that you need to:
# resize2fs /dev/mynew_vg/vol01
Look at the figure below to see what problems you may encounter when extending a volume:
Problem with extending a logical volume
Remove logical volume
The command lvremove can be used to remove logical volumes. Make sure that before you attempt to remove logical volumes your logical volume does not have any valuable data stored on it, moreover, make sure the volume is unmounted.
# lvdisplay
display volume group
# lvremove /dev/mynew_vg/vol02
remove logical volume
0 Comments
Post a Comment