Most on-premise deployments of Linux (eg RHEL VMs) are done with custom partitioning. Hitherto this was a little bit difficult to achieve, as these Linux VM images in Azure did not have support for LVM. Fret no more.
Now there are images for RHEL and as well as CentOS, that have LVM suppport which you can deploy and partition to suit your needs.
For RHEL images with LVM support
Use the following in your VM creation parameters.
- Publisher = "RedHat"
- SKU = "7-LVM"
- Offer = "RHEL
Now specifically in your arm templates in the storage profile you would refer to them as follows:-
You could take a simple OOB RHEL template already present in the Azure GitHub Quick Start template and make the necessary modifications and create this image.
To start simply take the following template -
https://github.com/Azure/azure-quickstart-templates/tree/master/101-vm-simple-rhel and then modify it in the variables section as shown above and deploy the image using PowerShell or Visual Studio.
If you wanted to try a more complex RHEL based template try the following by using the same changes as above.
Once the VMs have been created you can login and do the custom partition that you need. If you want to automate the partition then several methods are available.
(1) Using Linux Agent
(2) Using other tools like Ansible.