We are managing more and more Linux (Ubuntu) based VMs at work, but I'm starting to struggle with something as simple as expanding an existing VM's disk, something that takes literally seconds to do for our Windows VMs (VM properties -> enter new size -> ok, then diskpart, rescan, sel vol 0, extend, all done).
But when looking at the options under Linux, it seems to boil down to one of these solutions, depending if you use LVM or not.
LVM -> Add new virtual disk, add partition on the disk, extend with the new partition
LVM -> Increase existing disk, add partition on the existing disk, extend with the new partition.
Boot of a GParted LiveCD ISO and either above, or increase the size of the existing partition.
There are several reasons I can't utilize the above:
You end up with a ton of extra hard disks, and there seems to be a limitation on 16 minor numbers for SCSI devices (http://gparted.sourceforge.net/faq.php#faq-8)?, so after you have increased the disk 16 times, you are out of luck.
Similar to the above, even worse if it's not GPT, then we can only extend 3 times assuming no other partitions on the disk.
Some of the stuff can't easily be taken offline, so rebooting to a Live CD isn't possible.
It gets even worse when our corporate policies prevent us from using thin provisioning, and the VMs are stored on all flash SAN arrays where storage is expensive, so we can't just add 500GB and be done with it, we have to keep the wasted space down to 20-30GB at most.
Have I missed any other options? how do other people handle this in production?, most of our stuff is on Ubuntu 16.04 (we try to stay updated on the current LTS version), so open for anything that will work on that, we are currently using ext4, but that's not a requirement, but a journalized filesystem is preferred though.
I've been seriously considering just going with NFS with say NetAPP or similar for our Linux VMs since I'm out of other ideas at this stage, and just stuff anything that grows on the nfs mount point.