qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: lirans@il.ibm.com
To: qemu-devel@nongnu.org
Cc: Liran Schour <lirans@il.ibm.com>
Subject: [Qemu-devel] [PATCH 0/3 v5] Live migration without shared storage
Date: Mon,  2 Nov 2009 15:40:25 +0200	[thread overview]
Message-ID: <12571692252385-git-send-email-lirans@il.ibm.com> (raw)

This series adds support for live migration without shared storage, means 
copy the storage while migrating. It was tested with KVM. Supports 2 ways 
to replicate the storage during migration:
1. Complete copy of storage to destination 
2. Assuming the storage is cow based, copy only the allocated 
data, time of the migration will be linear with the amount of allocated 
data (user responsibility to verify that the same backend file reside 
on src and destination).

Live migration will work as follows:
(qemu) migrate -d tcp:0:4444 # for ordinary live migration
(qemu) migrate -d blk tcp:0:4444 # for live migration with complete storage copy
(qemu) migrate -d blk inc tcp:0:4444 # for live migration with incremental storage copy, storage is cow based.

Changes from v4:
- Register block dirty tracking for each block device.
- Block.c will now manage a dirty bitmap per device once 
bdrv_set_dirty_tracking() is called. Bitmap is polled by the upper 
layer (block-migration.c).
- Global variabels moved to a global state structure allocated dynamically.
- Coding style issues.

Patch summary:

Makefile          |    1 +
block-migration.c |  558 +++++++++++++++++++++++++++++++++++++++++++++++++++++
block-migration.h |   29 +++
block.c           |   78 ++++++++-
block.h           |    8 +-
block_int.h       |    2 +
buffered_file.c   |   10 +-
hw/hw.h           |    9 +-
migration-exec.c  |    9 +-
migration-fd.c    |    7 +-
migration-tcp.c   |    7 +-
migration-unix.c  |    7 +-
migration.c       |   23 ++-
migration.h       |   20 ++-
monitor.c         |   36 +++-
qemu-monitor.hx   |   19 ++-
savevm.c          |   62 +++++--
sysemu.h          |    2 +-
vl.c              |    9 +-
19 files changed, 841 insertions(+), 55 deletions(-)

Signed-off-by: Liran Schour <lirans@il.ibm.com>

             reply	other threads:[~2009-11-02 13:05 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-02 13:40 lirans [this message]
2009-11-02 18:47 ` [Qemu-devel] [PATCH 0/3 v5] Live migration without shared storage Avi Kivity
2009-11-03  9:40   ` Liran Schour
2009-11-03 10:38     ` Avi Kivity
2009-11-23 18:47       ` [Qemu-devel] " Jan Kiszka
2009-11-24 14:11         ` Pierre Riteau
2009-11-24 14:17           ` Jan Kiszka
2009-11-24 14:27             ` Anthony Liguori
2009-11-24 14:52               ` Liran Schour
2009-11-03  7:33 ` [Qemu-devel] " Liran Schour
  -- strict thread matches above, loose matches on Subject: below --
2010-03-16 19:57 jz4

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=12571692252385-git-send-email-lirans@il.ibm.com \
    --to=lirans@il.ibm.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).