qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Live Block Migration using Mirroring


From: Eric Blake
Subject: Re: [Qemu-devel] Live Block Migration using Mirroring
Date: Mon, 05 Mar 2012 10:20:36 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.1) Gecko/20120216 Thunderbird/10.0.1

On 03/05/2012 09:59 AM, Marcelo Tosatti wrote:
> On Wed, Feb 22, 2012 at 05:13:32PM +0000, Federico Simoncelli wrote:
>> Hi,
>>  recently I've been working on live block migration combining the live
>> snapshots and the blkmirror patch sent by Marcelo Tosatti few months ago.
>>
>> The design is summarized at this url as "Mirrored-Snapshot": 
>>
>> http://www.ovirt.org/wiki/Features/Design/StorageLiveMigration
>>
>> The design assumes that the qemu process can reach both the source and
>> destination storages and no real VM migration between hosts is involved.
>> The principal problem that it tries to solve is moving a VM to a new
>> reachable storage (more space, faster) without temporarily disrupting its
>> services.
>>
>> The following set of patches are implementing the required changes in
>> QEMU.
> 
> What is the motivation here? What is the limitation with image streaming
> that this tries to solve?

My understanding is that this solves the scenario of a storage failure
during the migration.  The original post-copy approach has the flaw that
you are setting up a situation where qemu is operating on a qcow2 file
on one storage domain that is backed by a file on another storage
domain.  After you start the migration process, but before it completes,
any failure in the migration is fatal to the domain: if the destination
storage domain fails, then you have lost all the delta changes made
since the migration started.  And after the migration has completed, you
still have the problem that qemu is crossing storage domains - if the
source storage domain fails, then qemu's access to the backing file
renders the destination qcow2 worthless, so you cannot shut down the
source storage domain without also restarting the guest.

But a mirrored solution does not have these drawbacks - at all points
through the migration phase, you are guaranteed that _all_ data is
accessible from a single storage domain.  If the destination storage
fails, you still have the source storage intact, and can restart the
migration process.  Then, when the migration is complete, you tell qemu
to atomically switch storage domains, at which point the entire storage
is accessed from the destination domain, and you can safely shut down
the source storage domain while the guest continues to run..

-- 
Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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