Pink Hat Linux Azure VMs: Utilizing LVM to enhance disk efficiency

When managing Azure digital machines that want higher disk efficiency, the very best answer is to discover a VM that enables extra and higher disks and add these disks in parallel. Generally a single disk isn’t sufficient to satisfy software disk efficiency necessities. On this article, we’re going to assist two completely different audiences, those that are learning for Red Hat of Linux Foundation certification and want some hands-on expertise on the logical volume manager (LVM) feature, and the cloud directors group who must handle their Linux workloads in Microsoft Azure. The working system (on this article we’re utilizing Pink Hat) has to make use of the brand new disks effectively, and we’re going to configure LVM in our Pink Hat Linux.

The LVM combines a number of bodily disks (bodily volumes in LVM world) in a quantity group. The amount group can current to the working system logical volumes and are in that element that we outline the scale.

Utilizing this method has a number of advantages: The system isn’t restricted to a capability of a single disk and the appliance/consumer that interacts with the system solely sees a logical quantity. Within the case of Azure, we will mix a number of disks, thus enhancing IOPS and throughput.

Within the diagram beneath, we’re highlighting the elements that we are going to be engaged on on this article. On the correct facet, the Azure VM with its disks and their related mapping within the Linux (/dev/sdX) and on the left a chicken’s eye view of the working system (LVM and its tiers and the folder construction within the Pink Hat Linux file system).

Linux Azure

We’re going to begin creating three information disks and connect them to the Pink Hat Linux Azure VM. We’re going to choose E4 disks. They’ve 32GB measurement and a max IOPS of 120 and the throughput of 25.


The end result will probably be just like the picture beneath. Doing primary math, we’re including three disks, so we expect thrice these values, that means 360 max IOPS and 75 max throughput.

Linux Azure

Step one is to validate that the working system sees our new disks. We will use ll /dev/sd*, the outcomes are new disks sdc, sdd, and sde. To verify that we’re trying on the proper disks, we will all the time use sudo fdisk -l /dev/sdc /dev/sdd /dev/sde and the output will probably be extra detailed details about the disks (32GB disks).

Managing LVM

Step one is so as to add the bodily disks, and we will do this by operating the primary command listed beneath. To examine if the disks have been added, we will use pvdisplay, and each instructions are depicted within the picture beneath.

sudo pvcreate /dev/sdc /dev/sdd /dev/sde

The output will embody helpful info, together with measurement, affiliation with a quantity group (in our case empty for now), and their UUID.

Linux Azure

The second step is to create a quantity group. The method is straightforward. We have to go the bodily disks that have been created earlier than the vgcreate command, and on the identical command, we’re going to outline the identify of the quantity group. Each instructions’ syntax and their outputs are described within the instructions and movie beneath.

sudo vgcreate vg-db-data /dev/sdc /dev/sdd /dev/sde
sudo vgdisplay vg-db-data

The brand new quantity group is named vg-db-data, and it’s 96GB in measurement.

The following step is to create the logical quantity. It’s paramount to make use of the —stripes <numberOfDisks> to benefit from Azure Disks. After creating the logical quantity, we are going to examine its settings.

sudo lvcreate --extents 100%FREE --stripes 3 --name db-data vg-db-data
sudo lvdisplay /dev/vg-db-data/db-data

Linux Azure

An LVM has a particular construction within the /dev folder. It has its folder with the identify of the quantity group, and within that quantity group, we can have a reference to the logical quantity.

Since now we have a logical quantity, we will assign a file system to it, and we will do this by executing sudo mkfs.ext4 /dev/vg-db-data/db-data. The method might take just a few seconds, anticipate the completion.


We will check the mount of the brand new logical quantity that now we have simply formatted as ext4. First, we’re going to retrieve the logical quantity path by operating sudo lvdisplay /dev/vg-db/information/db-data.

Subsequent, we have to create a folder construction to mount the brand new quantity. We are going to accomplish that by operating sudo mkdir /mnt/db-data, after which we are going to mount the logical quantity into the brand new folder that now we have created by executing sudo mount /dev/vg-db-data/db-data /mnt/db-data. The ultimate step is to run df -h, and we must always see the 96GB partition mounted utilizing the variables that now we have gathered within the earlier actions. A abstract of the whole course of is depicted within the picture beneath.

Though the method is full, if we restart this server, the logical quantity won’t be mounted routinely. We’re going to configure it to be persistent. For now, we’re going to take away the present mount utilizing sudo umount /dev/db-data.

Configuring persistent quantity

The configuration file that controls the method to mount volumes in Linux routinely is the /and many others/fstab. When utilizing LVM, we have to specify the logical quantity, and now we have two choices, from the mapper folder or on to the logical quantity.

Step one is to record our logical quantity utilizing sudo lvdisplay /dev/<volumeGroup>/<LogicalVolume>. We will examine the /dev/mapper folder contents to see the hyperlinks. The link identify is all the time the volumeGroup-logicalVolume (mapper doesn’t like dashes. If it finds it is going to add one additional, that’s the reason now we have db—information).


Our subsequent step is to edit the /and many others/fstab and we will use both the /dev/mapper or /dev/<volumeGroup>/<logicalVolume> and outline the mount level and extra configuration. In case you are utilizing Azure Premium disks, ensure that so as to add barrier=zero your settings.

The ultimate step is to mount all volumes outlined within the /and many others/fstab, and we will do this by executing sudo mount -a, and to confirm if the mount was profitable, we will run df -h.

Put up Views:

Learn Subsequent

About the Author

Leave a Reply

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