Hi Eric, Please see the blew:
On Wed, Feb 11, 2015 at 3:12 PM, Eric Blake <ebl...@redhat.com> wrote: > On 02/11/2015 02:07 PM, Edward Young wrote: > >>> What if this vm has a number of disk-only external snapshots? In the > >>> current version, how can live migrate this vm? > >> > >> Are the snapshots based on shared storage, or local-only storage? > >> > > > > Yes, I'm talking about the local-only storage. > > Okay, glad I guessed as much, then. > > > > > Yes, I agree with you. In this case, we need to migrate the entire disk > > state. In this case, there is no snapshot involved. we just perform the > > regular migration with 'virsh migrate....'. Is this correct? > > Using 'virsh migrate --copy-storage-all' would indeed migrate the entire > disk, if you can't supply shared storage. > > >>> Or is it possible to iteratively transfer all the snapshots to the > >>> destination and later live migrate only the latest new data? > >>> > >> > >> Yes, that works too, and is probably faster, especially if you have > >> out-of-band means for sharing read-only state between source and > >> destination. > >> > > > > My question is here. If we do not have any shared storage resource > between > > source and destination (eg. long distance VM migration), how can we > migrate > > the latest new data to the destination? we can copy the base, mid to > > destination manually, then how can we migrate the active snapshot( new > data > > goes in)? I learned that drive_mirror in qemu is built to finish this, > but > > do not understand clearly. Could you elaborate for me, or provide an > > example? > > Use 'virsh migrate --copy-storage-inc' to migrate only the incremental > changes, which assumes that the destination can already see the same > read-only backing data that the source sees. I perform a simple test, but failed. In the source, I create: base <- mid <- active (2 snapshots, the active one is the current one) In order to migrate this vm to the destination, I manually copy both base and mid to the destination, and put them in the sam e directory /var/lib/libvirt/images/ Then I call the following commands: 'sudo virsh migrate --live --unsafe --verbose --copy-storage-inc vm1 qemu+ssh://192.168.1.3/system tcp://192.168.1.3' The error I got is: error: Requested operation is not valid: cannot migrate domain with 2 snapshots. I do not know the reason for this. > In fact, modern > libvirt/qemu does this for you by setting up an NBD server on the > destination, doing a data mirror from the source into the destination > (so that you DO have shared storage, at least for the duration of the > migration), then doing the live migration, then tearing down the NBD > mirroring link. > Sounds interesting! Can you provide me an example or point me to a link about how to use this function? Sorry to take you so much time to answer my questions. I appreciate it deeply. After I solve this issue, I will write a blog and share these knowledge with other people. Best, Ed > -- > Eric Blake eblake redhat com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org > >
_______________________________________________ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users