How to Add New Disks Using LVM to an Existing Linux System

LVM (Logical Volume Management) is a flexible and advanced option available to manage hard disks in most of the major Linux distributions. It is easy to manage the disks with LVM than the tradition tools like fdisk, parted or gparted.

Some of the terms which you need to understand while using LVM:

  • Physical Volume (PV): Consists of Raw disks or RAID arrays or other storage devices.
  • Volume Group (VG): Combines the physical volumes into storage groups.
  • Logical Volume (LV): VG’s are divided into LV’s and are mounted as partitions.

In this article, we will take you through the steps to configure Disks using LVM in existing Linux machine by creating PV, VG’s and LV’s.

Note: If you don’t what to use LVM, you can add disk directly to an existing Linux system using these guides.

  1. How to Add a New Disk to Linux System
  2. How to Add a New Disk Larger Than 2TB to Linux System

Let’s consider a scenario where there are 2 HDD of 20GB and 10GB, but we need to add only 2 partitions one of 12GB and another 13GB. We can achieve this using LVM method only.

Once the disks has been added, you can list them using the following command.

# fdisk -l
Verify Hard Disks

Verify Hard Disks

1. Now partitions both the disks /dev/xvdc and /dev/xvdd using fdisk command as shown.

# fdisk /dev/xvdc
# fdisk /dev/xvdd

Use n to create the partition and save the changes with w command.

Partition Hark Disks

Partition Hark Disks

2. After partitioning, use the following command to verify the partitions.

# fdisk -l
Verify New Partitions

Verify New Partitions

3. Create Physical Volume (PV).

# pvcreate /dev/xvdc1
# pvcreate /dev/xvdd1
Create Physical Volume

Create Physical Volume

4. Create Volume Group (VG).

# vgcreate testvg /dev/xvdc1 /dev/xvdd1

Here, “testvg” is the VG name.

Create Volume Group

Create Volume Group

5. Now use “vgdisplay” to list all details about the VG’s in the system.

# vgdisplay
# vgdisplay testvg
List Volume Group

List Volume Group

6. Create Logical Volumes (LV).

# lvcreate -n lv_data1 --size 12G testvg
# lvcreate -n lv_data2 --size 14G testvg

Here, “lv_data1” and “lv_data2” are LV name.

Create Logical Volumes

Create Logical Volumes

7. Now use “lvdisplay” to list all details about the Logical volumes available in the system.

# lvdisplay
# lvdisplay testvg
List Logical Volumes

List Logical Volumes

8. Format the Logical Volums (LV’s) to ext4 format.

# mkfs.ext4 /dev/testvg/lv_data1
# mkfs.ext4/dev/testvg/lv_data2
Format LV to Ext4 Format

Format LV to Ext4 Format

9. Finally, mount the file system.

# mount /dev/testvg/lv_data1 /data1
# mount /dev/testvg/lv_data2 /data2

Make sure to create data1 and data2 directories before mounting the filesystem.

Mount Filesystem

Mount Filesystem

That’s it! In this article, we discussed how to create a partition using LVM. If you have any comments or queries regarding this, feel free to post in the comments.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Lakshmi Dhandapani

I work on various platforms including IBM-AIX, Solaris, HP-UX, and storage technologies ONTAP and OneFS and have hands on experience on Oracle Database.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide
The Complete Linux System Administrator Bundle
Become an Ethical Hacker Bonus Bundle

You may also like...

5 Responses

  1. Brett Holman says:

    It may be worth adding a final step about updating /etc/fstab so that the mount is persistent across boots.

  2. Sajal says:

    Any idea how can I automate this task using shell script along with multipath configuration

  3. ganesh says:

    for create LVM we need to select type 8e.

  4. george says:

    Hi nice article. I noticed that you did’t change the partition type to lv i.e. 8e but created a 83 type. I thought we needed to create a 8e type partition to be able to create a physical volume or is this distro specific.

  5. Shiraz says:

    You did not set the Partition type hex code 8e for the LVM created. This will create issues later

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.