I recently had to migrate a number of VMs currently running on an NFS share to an iSCSI target. During my research, I was surprised how little documentation there was around this, so I decided to whip up this quick little piece about how to do it.
Here are the steps:
- Create a new iSCSI target (one per VM/image you’re migrating). This step varies depending on your setup.
- Attach target on server (I found virt-manager suitable for the task).
- Find the device from logs (/dev/sdc below). On Ubuntu, you will also need to install the package open-iscsi.
qemu-img convert /path/to/your/image.qcow2 -O raw /dev/sdc(for raw images, you could simply use
ddbut to keep things consistent, I opted for
- Update the disk config in the VM definition to point to the iSCSI target.
- Boot the VM and archive the old disk image.
Voila! You should now have a VM running on iSCSI and you will likely receive better I/O performance.