Hi all,
I have an implementation for utilizing disk resize by a running ("online") virtual machine, which I hope is valuable.
I'm presenting it slightly ahead of having a clean pull request, which will hopefully be available in the next few days.
Rather than share a Google doc document, it is embedded in this HTML email.
Hoping to hear your feedback in today's meeting, or by email, or in the coming pull request.
Maya
(Online) Disk Resize for VMs
An optimization for the cloning speed of DataVolumes required an expansion step (for Filesystem disk.img).
Why not make this expansion generally usable?
Why not do it with a running VirtualMachine?
Kubernetes has a couple of relevant feature gates, now in beta (widely available):
ExpandPersistentVolumes
ExpandInUsePersistentVolumes
These allow us to expand a PVC, but what do we need in order to take advantage of it in a Virtual Machine?
If the storage is a disk.img file on a Filesystem, increase the size of this file.
Notify the VirtualMachine about this, via libvirt block-resize.
Incomplete feature, no WIP PR to show yet. Details may change.
Only implemented for RAW disk.img files (e.g. those created by DataVolumes) - qemu-img didn't like operating on an in-use disk.img, used fallocate/ftruncate instead.
Only tried rook-ceph, which can do online resize.
If non-online expansion is common, might want to add a condition “filesystem resize pending” instructing the user that if they want the change to affect the Virtual Machine, they need to stop and then start it.
Hi all,
I have an implementation for utilizing disk resize by a running ("online") virtual machine, which I hope is valuable.
I'm presenting it slightly ahead of having a clean pull request, which will hopefully be available in the next few days.
Rather than share a Google doc document, it is embedded in this HTML email.
Hoping to hear your feedback in today's meeting, or by email, or in the coming pull request.
Maya
(Online) Disk Resize for VMs
Background:
An optimization for the cloning speed of DataVolumes required an expansion step (for Filesystem disk.img).
Why not make this expansion generally usable?
Why not do it with a running VirtualMachine?
Kubernetes has a couple of relevant feature gates, now in beta (widely available):
ExpandPersistentVolumes
ExpandInUsePersistentVolumes
These allow us to expand a PVC, but what do we need in order to take advantage of it in a Virtual Machine?
If the storage is a disk.img file on a Filesystem, increase the size of this file.
Notify the VirtualMachine about this, via libvirt block-resize.
Caveats to current implementation:
Incomplete feature, no WIP PR to show yet. Details may change.
Only implemented for RAW disk.img files (e.g. those created by DataVolumes) - qemu-img didn't like operating on an in-use disk.img, used fallocate/ftruncate instead.
Only tried rook-ceph, which can do online resize.
If non-online expansion is common, might want to add a condition “filesystem resize pending” instructing the user that if they want the change to affect the Virtual Machine, they need to stop and then start it.
--
You received this message because you are subscribed to the Google Groups "kubevirt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kubevirt-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kubevirt-dev/CAH6i1q9waGqB%3DxKwsCvvzLDUMy67TThQNfaY_-6ZcPcYy-BuZw%40mail.gmail.com.