From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MoGeb-0001su-FV for qemu-devel@nongnu.org; Thu, 17 Sep 2009 09:04:05 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MoGeW-0001qg-Ao for qemu-devel@nongnu.org; Thu, 17 Sep 2009 09:04:05 -0400 Received: from [199.232.76.173] (port=45239 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MoGeW-0001qT-15 for qemu-devel@nongnu.org; Thu, 17 Sep 2009 09:04:00 -0400 Received: from mtagate8-bp.emea.ibm.com ([195.212.17.168]:44148 helo=mtagate8.de.ibm.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MoGeV-0000Lm-It for qemu-devel@nongnu.org; Thu, 17 Sep 2009 09:03:59 -0400 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate8.de.ibm.com (8.13.1/8.13.1) with ESMTP id n8HD3vTK021927 for ; Thu, 17 Sep 2009 13:03:57 GMT Received: from d12av01.megacenter.de.ibm.com (d12av01.megacenter.de.ibm.com [9.149.165.212]) by d12nrmr1607.megacenter.de.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id n8HD3voX2638044 for ; Thu, 17 Sep 2009 15:03:57 +0200 Received: from d12av01.megacenter.de.ibm.com (loopback [127.0.0.1]) by d12av01.megacenter.de.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n8HD3u3Q021767 for ; Thu, 17 Sep 2009 15:03:57 +0200 Received: from localhost.localdomain (im4-64s.haifa.ibm.com [9.148.27.41]) by d12av01.megacenter.de.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id n8HD3u15021754 for ; Thu, 17 Sep 2009 15:03:56 +0200 From: lirans@il.ibm.com Date: Thu, 17 Sep 2009 16:31:37 +0300 Message-Id: <1253194297802-git-send-email-lirans@il.ibm.com> Subject: [Qemu-devel] [PATCH 0/3 v3] Live migration without shared storage List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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 -b tcp:0:4444 # for live migration with complete storage copy (qemu) migrate -d -i tcp:0:4444 # for live migration with incremental storage copy, storage is cow based. The patches are against qemu.git tree Makefile | 1 + block-migration.c | 43 ++++++++++++----------------------------- block-migration.h | 2 +- block.c | 27 ++++++++++++++++++++++++++ block.h | 6 ++++- block_int.h | 1 + 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 | 20 +++++++++++++----- migration.h | 20 ++++++++++++++---- monitor.c | 38 +++++++++++++++++++++++++++++------- qemu-monitor.hx | 6 +++- savevm.c | 54 +++++++++++++++++++++++++++++++++++++--------------- sysemu.h | 2 +- vl.c | 6 ++++- 19 files changed, 196 insertions(+), 79 deletions(-)