Its possible add a LVM volume on the fly. The steps would involve formatting the newly added disk with LVM and creating a mount point and adding the new volume to it. The whole process would involve creating Physical Volume followed by Volume group and then assigning logical volume and mounting it to a mount point.
First lets record the current Partitions
# df -h
Output:
[root@smtp-proxy ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-lv_root 28G 5.5G 21G 21% / tmpfs 495M 0 495M 0% /dev/shm /dev/sda1 485M 32M 428M 7% /boot
After adding the disk either through VMWare vSphere Client Interface or physically adding it, 1st need to create a Physical Volume and format it using Logical Volume Manager (LVM) in Linux.
Run this command to check if the newly added disk is visible/detect to OS.
# lvmdiskscan
Output:
[root@smtp-proxy ~]# lvmdiskscan /dev/ram0 [ 16.00 MiB] /dev/root [ 27.57 GiB] /dev/ram1 [ 16.00 MiB] /dev/sda1 [ 500.00 MiB] /dev/VolGroup00/lv_swap [ 1.94 GiB] /dev/ram2 [ 16.00 MiB] /dev/sda2 [ 19.51 GiB] LVM physical volume /dev/ram3 [ 16.00 MiB] /dev/ram4 [ 16.00 MiB] /dev/ram5 [ 16.00 MiB] /dev/ram6 [ 16.00 MiB] /dev/ram7 [ 16.00 MiB] /dev/ram8 [ 16.00 MiB] /dev/ram9 [ 16.00 MiB] /dev/ram10 [ 16.00 MiB] /dev/ram11 [ 16.00 MiB] /dev/ram12 [ 16.00 MiB] /dev/ram13 [ 16.00 MiB] /dev/ram14 [ 16.00 MiB] /dev/ram15 [ 16.00 MiB] /dev/sdb [ 10.00 GiB] LVM physical volume /dev/sdc [ 20.00 GiB] 3 disks 17 partitions 1 LVM physical volume whole disk 1 LVM physical volume
Now convert the new disk /dev/sdc to LVM
# pvcreate /dev/sdb
Output:
[root@smtp-proxy ~]# pvcreate /dev/sdc Physical volume "/dev/sdc" successfully created
*Notice that /dev/sdc has now got LVM Physical Volume beside it
# [root@smtp-proxy ~]# lvmdiskscan /dev/sdc [ 20.00 GiB] LVM physical volume
Now create a Volume Group for the Physical LVM volume
# vgcreate vgtest /dev/sdc
Output:
[root@smtp-proxy ~]# vgcreate vgtest /dev/sdc Volume group "vgtest" successfully created
Now verify its created and check the available Physical Extents for the next step.
Run this command
# vgdisplay
Output:
[root@smtp-proxy ~]# vgdisplay --- Volume group --- VG Name vgtest System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 20.00 GiB PE Size 4.00 MiB Total PE 5119 Alloc PE / Size 0 / 0 Free PE / Size 5119 / 20.00 GiB VG UUID R0i4pd-w3uR-28fQ-SI7b-8MuF-jUBa-MzJzod
Now create Logical Volume by taking “Total PE” Value.
Run this command
# lvcreate -l 5119 -n lvtest vgtest
Output:
[root@smtp-proxy ~]# lvcreate -l 5119 -n lvtest vgtest Logical volume "lvtest" created
Now format and map the disk.
# mkfs.ext4 /dev/vgtest/lvtest
Output:
[root@smtp-proxy ~]# mkfs.ext4 /dev/vgtest/lvtest mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1310720 inodes, 5241856 blocks 262092 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 160 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 26 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
# mkfs.ext4 /dev/mapper/vgtest-lvtest
Output:
[root@smtp-proxy ~]# mkfs.ext4 /dev/mapper/vgtest-lvtest mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 1310720 inodes, 5241856 blocks 262092 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 160 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 30 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.
Now the disk is ready to be assigned to a mount point. Create a folder in /mnt/
# mkdir /mnt/test_disk
Now create an entry in /etc/fstab. First check the ID of the disk.
Run this command
# blkid
Output:
[root@smtp-proxy ~]# blkid | grep /dev/mapper/vgtest /dev/mapper/vgtest-lvtest: UUID="5e50c2a9-64bf-4795-a122-412002234c75" TYPE="ext4"
Now edit “fstab” and the below entry. Press “i” to insert text and “:wq” to save and exit the file.
# vi /etc/fstab
Add this line just above “/dev/mapper/VolGroup00-lv_swap swap”
UUID=5e50c2a9-64bf-4795-a122-412002234c75 /mnt/test_disk ext4 defaults 1 2
* Above UUID is taken from blkid you got from above
Now re-mount all partitions in /etc/fstab
# mount -a
(OR)
# mount /mnt/test_disk
Now verify the new partition is active
# df -h
Output:
[root@smtp-proxy ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-lv_root 28G 5.5G 21G 21% / tmpfs 495M 0 495M 0% /dev/shm /dev/sda1 485M 32M 428M 7% /boot /dev/mapper/vgtest-lvtest 20G 172M 19G 1% /mnt/test_disk
Now you can see the new partition “/dev/mapper/vgtest-vo10” at mount “/mnt/test_disk” added successfully and will be persistent across reboots.
If you encounter any errors during the process, let us know via Contact Us and will get it resolved promptly.