We have run into some storage speed issues, and have noticed that deploying a VM with io=native helps tremendously. Our only problem now, is that we already have 300+ VMs deployed and need to figure out how to make that io=native change, on the existing VMs.
To update the running VM’s template you can use a method from Ruby OCA called updateconf. Currently, this can’t be done from Sunstone. This will allow you to update the running VM’s template, but OpenNebula won’t push those modifications to the running VMs. In order to do that, you have to directly modify the running VM on the node using virsh,
To clarify Sergio’s point, there are a few VM template parameters that can be updated via sunstone, but only if the VM is offline. Looking at the updateconf documentation it looks like those same parameters available to edit in sunstone are available to edit via the updateconf ruby OCA, as well as the onevm updateconf $VMID CLI interface.
It doesn’t look like disk parameters are available to be updated via any of those methods (neither are network hardware settings which was what I was looking for) so you will have to either direclty modify the running VM template on the host or redeploy the VM with the new hardware parameters.