Hi, Daniel
I did experience what you did,
but when I prepared disk images which domain required,
then run virsh start domain_name,
It be started normally,
so, there's maybe something wrong with virsh list for
domain state can't be listed.
did you try further to start the migrated domain?
so, try it.
Thanks!
在 2012-09-21五的 11:50 +0100,Daniel P. Berrange写道:
On Thu, Sep 20, 2012 at 01:33:39PM +0800, liguang wrote:
> original migration did not aware of offline case
> so, add code to support offline migration quietly
> (did not disturb original migration) by pass
> VIR_MIGRATE_OFFLINE flag to migration APIs if only
> the domain is really inactive, and
> migration process will not puzzled by domain
> offline and exit unexpectedly.
> these changes did not take care of disk images the
> domain required, for them could be transferred by
> other APIs as suggested, then VIR_MIGRATE_OFFLINE
> should not combined with VIR_MIGRATE_NON_SHARED_*.
> so, this migration result is just make domain
> definition alive at target side.
>
> Signed-off-by: liguang <lig.fnst(a)cn.fujitsu.com>
I've tested this patch and it does not appear to work at all
I have 2 hosts, avocado & mustard, and guest 'vm1' I want
to migrate from avocado to mustard:
# virsh -c avocado list --all
Id Name State
----------------------------------------------------
- debian6-x86_64 shut off
- f13x86_64 shut off
- f16_x86_64 shut off
- f16x86_64 shut off
- f18x86_64 shut off
- freebsd-8.2-x86_64 shut off
- netbsd-5.1-x86_64 shut off
- openbsd-4.9-x86_64 shut off
- opensuse-11.4-x86_64 shut off
- rhel5x86_64 shut off
- rhel6x86_64 shut off
- rhel6x86_64ga shut off
- ubuntu-11.10-x86_64 shut off
- vm1 shut off
# virsh -c mustard list --all
Id Name State
----------------------------------------------------
2 instance-00000001 running
- rhel6x86_64 shut off
The guest is not running:
# virsh -c avocado dominfo vm1
Id: -
Name: vm1
UUID: c7b3edbd-edaf-9455-926a-d65c16db1800
OS Type: hvm
State: shut off
CPU(s): 1
Max memory: 219200 kB
Used memory: 219136 kB
Persistent: yes
Autostart: disable
Managed save: no
Security model: selinux
Security DOI: 0
So a normal migrate fails, which is good.
# virsh -c avocado migrate vm1 mustard
error: Requested operation is not valid: domain is not running
Now I try your new offline migrate, which claims to succeed
# virsh -c avocado migrate --offline vm1 mustard
We should have rejected an attempt to use --offline, unless the user
has also specified either --persistent, or --copy-storage-all
Now I repeat using --persistent which succeeds:
# virsh -c avocado migrate --persistent --offline vm1 mustard
But it has not created the guest on the target:
# virsh -c mustard list --all
Id Name State
----------------------------------------------------
2 instance-00000001 running
- rhel6x86_64 shut off
Also if I add --undefinesource it also succeeds
# /home/berrange/src/virt/libvirt/tools/virsh -c avocado migrate --persistent
--undefinesource --offline vm1 mustard
But again has not created the guest on the target
# virsh -c mustard list --all
Id Name State
----------------------------------------------------
2 instance-00000001 running
- rhel6x86_64 shut off
Now has it removed it on the source
# virsh -c avocado list --all
Id Name State
----------------------------------------------------
- debian6-x86_64 shut off
- f13x86_64 shut off
- f16_x86_64 shut off
- f16x86_64 shut off
- f18x86_64 shut off
- freebsd-8.2-x86_64 shut off
- netbsd-5.1-x86_64 shut off
- openbsd-4.9-x86_64 shut off
- opensuse-11.4-x86_64 shut off
- rhel5x86_64 shut off
- rhel6x86_64 shut off
- rhel6x86_64ga shut off
- ubuntu-11.10-x86_64 shut off
- vm1 shut off
Regards,
Daniel
--
liguang lig.fnst(a)cn.fujitsu.com
FNST linux kernel team