qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] vm live storage migration approach.


From: Yaodong Yang
Subject: Re: [Qemu-devel] vm live storage migration approach.
Date: Fri, 30 Jan 2015 14:39:39 -0600

Thank you Stefan! Now I understand the workflow.

-Yaodong

On Fri, Jan 30, 2015 at 2:37 PM, Stefan Hajnoczi <address@hidden> wrote:
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



--
Yaodong Yang
address@hidden or address@hidden
Computer Science and Engineering Department
University of Nebraska-Lincoln
Lincoln, NE, USA

reply via email to

[Prev in Thread] Current Thread [Next in Thread]