
Dnia wtorek 19 maj 2009 o 22:20:06 Daniel P. Berrange napisał(a):
On Tue, May 19, 2009 at 09:29:15PM +0200, ??ukasz Mierzwa wrote:
Hi,
can someone explain me how migration works in libvirt? I got 2 machines with ubuntu 9.04 (libvirt 0.6.1 and kvm 84), disk images are stored on nfs share so both machines can access them. When I run live migration (virsh migrate --live domain uri) my domain is migrated to second host but: 1. domain is defined on both hosts after migration, it does not disappear from original host 2. when I shutdown this domain on second host it gets undefined so I guess that migration is only temporary but this is not what I want. When I migrate domain to other host I want it to stay there, how can I do that? I can't find anything about it in documentation on libvirt website, google does not seem to know anything either.
You need to distinguish between a persistent and transient guest. A persistent guest has a config file, a transient guest does not.
If the guest on the source host is persistent, then after migration you should still see it on the source host as inactive. If it is transient, then all trace should have gone after migration.
If the destination does not already have a config file for the incoming guest, then it will become a transient guest. Once you shut it down on the destination, all trace will go away., If the destination has a config for the guest it will become persistent, and the guest should still exist.
Based on your description I'd say your source host had a persistent guest, and the destination host did not have a config, so after migration the guest was transient.
Daniel
So if I want my guest to be undefined from the source host and stay on target host I need to define him on target host before migration? Some info in 'virsh help migrate' would be nice, and maybe '--persistent' option to auto-define it on target before migration. Thanks for help. Łukasz Mierzwa