|
From: | Yaodong Yang |
Subject: | Re: [Qemu-devel] vm live storage migration approach. |
Date: | Fri, 30 Jan 2015 14:39:39 -0600 |
On Fri, Jan 30, 2015 at 8:13 PM, Yaodong Yang <address@hidden> wrote:
> An follow up questions.
>
> Suppose I have a running VM with two virtual disks, I would like to migrate
> the vm from host A to host B. Both host A and host B have their own isolated
> storage devices. Is there anyway to migrate the vm's memory, two virtual
> disk images and other states together from host A to host B? Can
> drive_mirror command itself finish this job? I noticed that drive_mirror
> only mirror for one virtual disk and require both the source and destination
> share the same storage namespace. I do not know how to migrate the whole VM
> (memory, storage, network ) together from host A to host B, given that host
> A and host B have NO shared storage resource.
>
> Could you show me an example, if possible?
>
> I know "migrate -b" works well for this purpose. But the downside is
> "migrate -b" does not mirror Write Requests to both host A and host B during
> migration. In this case, "migrate -b" has a higher VM downtime during the
> migration.
Hi Yaodong,
The answers to these questions are in libvirt's source code. It
orchestrates live migration between two hosts.
Multiple independent drive_mirror jobs can run. That's how you handle
multiple disks.
The regular migrate command (without -b) can be used if drive_mirror
is in place and fully synced.
Libvirt sets up an NBD server on the destination host. The source
host runs drive_mirror to copy over the contents of the disk images.
Once the drive_mirror command has completed syncing data the regular
'migrate' command can be used to send device state and RAM over to the
destination host.
See qemuMigrationDriveMirror() in libvirt.
migrate -b is a legacy feature that is being replaced by drive_mirror.
Stefan
[Prev in Thread] | Current Thread | [Next in Thread] |