tencent cloud

Boost Engagement with Tencent RTC Free TrialFree video and chat features await!

Feedback

Cloud Block Storage
DocumentationCloud Block StoragePractical TutorialBuilding LVM Logic Volumes with Multiple Elastic Cloud Disks
DocumentationCloud Block StoragePractical TutorialBuilding LVM Logic Volumes with Multiple Elastic Cloud Disks

Building LVM Logic Volumes with Multiple Elastic Cloud Disks

Last updated: 2023-12-22 10:50:53

Introduction to LVM

Logical Volume Manager (LVM) creates a logical layer over your disks or partitions to divide them into physical extent (PE) units with the same size. This categorizes disks or partitions into a volume group (VG), on which you can create a logical volume (LV), and then create file systems on the LV. Different from direct disk partitioning, LVM allows elastic scaling of file system.
The file system is not limited by the size of a physical disk. Instead, it can be distributed among multiple disks: For example, you can purchase three 4-TB elastic cloud disks, and use LVM to create a massive file system nearly 12 TB.
You can resize the LVs dynamically instead of repartitioning your disks. When the LVM VG capacity cannot meet your needs, you can purchase a elastic cloud disk, attach it to your CVM instance, and add it to the LVM VG to expand capacity.

Building LVM

Note:
The following example uses three elastic cloud disks to create a dynamically resizable file system through LVM.



Step 1: Create a physical volume (PV)

2. Run the following command to create a PV.
pvcreate <disk path 1> ... <disk path N>
Take /dev/vdc, /dev/vdd and /dev/vde as an example, then run:
pvcreate /dev/vdc /dev/vdd /dev/vde
The following figure shows the command output when the creation is successful:


3. Run the following command to view physical volumes of the system.
lvmdiskscan | grep LVM




Step 2: Create a volume group (VG)

1. Run the following command to create a VG.
vgcreate [-s <specified PE size>] <VG name> <PV path>.
Assume you want to create a VG named "lvm_demo0", then run:
vgcreate lvm_demo0 /dev/vdc /dev/vdd
The following figure shows the command output when the creation is successful:

When Volume group" <VG name> "successfully created is displayed, the VG has been created.
Then you can run the following commands to add a new PV to the VG.
vgextend VG name New PV path
The following figure shows the command output when the operation is successful:


After the VG is created, you can run vgs, vgdisplay or other commands to query information about VGs of the system, as shown below:



Step 3: Create a logical volume (LV)

1. Run the following command to create a LV.
lvcreate [-L <LV size>][-n <LV name>] <VG name>.
Assume you want to create an 8 GB logical volume named "lv_0", then run:
lvcreate -L 8G -n lv_0 lvm_demo0
The following figure shows the command output when the creation is successful:


Note:
Run the pvs command. You can see that only the capacity of the /dev/vdc disk is reduced by 8 GB, as shown below:



Step 4: Create and mount a file system

1. Run the following command to create a file system on an existing LV.
mkfs.ext3 /dev/lvm_demo0/lv_0
2. Run the following command to create the mount point /vg0.
mkdir /vg0
3. Run the following command to mount the file system.
mount /dev/lvm_demo0/lv_0 /vg0
The following figure shows the command output when the mount is successful:



Step 5: Resize the logical volume and file system dynamically

Note:
LVs can be extended dynamically only when the VG capacity is not used up. After increasing the LV capacity, you need to extend the file system created on this LV.
1. Run the following command to extend the LV.
lvextend [-L +/- <scale capacity>] <LV path>
Assume you want to scale up the capacity of LV named "lv_0" by 4 GB, then run:
lvextend -L +4G /dev/lvm_demo0/lv_0
The following figure shows the command output when the scaling is successful:


Note:
Run the pvs command. You can find that the /dev/vdc disk capacity has been fully used, and the /dev/vdd disk capacity has been used by 2 GB, as shown below:


2. Run the following command to extend the file system.
resize2fs /dev/lvm_demo0/lv_0
The following figure shows the command output when the scaling is successful:

After the extension, run the following command to check whether the LV capacity is 12 GB.
df -h

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
United Kingdom
+44 808 196 4551 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
EdgeOne hotline
+852 300 80699
More local hotlines coming soon