-
Story
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
Product / Portfolio Work
-
0.42
-
False
-
-
False
-
None
-
-
None
With the release of cross cluster live migration, we now have enough use cases to consider how we can accelerate storage live migration (cross cluster live migration is a variation of storage live migration). The problem we have is that the current implementation is akin to a host assisted clone. We copy all the needed bytes over the network, and depending on the size of the disks and the speed of the network it can take some time to do a full migration.
It would be nice if in certain situations where know that both the source and target are using the same array for instance that we could use the array to make the copy of the data instead of sending it all over the network.
Talking with a variety of storage vendors we landed on 3 different modes of operation:
1. No acceleration (keep the situation as is). This is the most generic situation and works across different storage vendors without issues, it is also the slowest option.
2. Async acceleration. There is some asynchronous replication happening outside of kubevirt, and we want to leverage that replication to speed up the transmissions of the data. There are some caveats with this approach that should be outlined in the design document.
3. Sync acceleration. The storage provider guarantees an active/active replication of the data between the source and target volume. At this point from a QEMU perspective we can treat the source and target volume as identical, and simply skip the copy the data step and essentially do a compute migration.
We are thinking of using the kubernetes csi addons for initiating the replication. We need to investigate if there are any gaps in the addons that need to be closed before we can use it. These addons allow us to define a replication relationship between two volumes in a vendor agnostic fashion.
- relates to
-
CNV-57759 DOC: cross-cluster live migration GA
-
- Closed
-