By Duncan Epping, Principal Architect, VMware.
I received some questions about Storage vMotion a while back. I think these are interesting enough to share with the rest of the world. I want to thank the SvMotion engineering team for the quick response.
Q) Suppose that a SvMotion is ongoing and the host on which the SvMotion is running crashes. The SvMotion is interrupted, but will the copy of the files (on the destination datastore) be cleaned up? And if so, who initiates this?
A) vCenter Server will wait until the crashed host reconnects. When it reconnects it will work with the host to issue a migration cleanup.
Q) What about this scenario when SvMotion is being offloaded to an array that is VAAI-enabled? The array is unaware of the failure of the host, the copy of files was not interrupted. Will another host pick the SvMotion up?
A) VAAI-enabled copy isn’t particularly special – we just offload individual datamover extent copy requests to the array, currently 2MB chunks at a time for SvMotion from the top of my head. From the array’s perspective, it is just moving around blocks that we would otherwise be handling via software copy. It doesn’t know that it’s moving a full VMDK, or the like. Even though we are offloading the work of our block copies, we still run through all the normal SvMotion logic. As such, when the source host crashes, the array will stop receiving additional 2MB copy requests from the host. When the host reconnects, we’ll proceed with our normal cleanup logic.