From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:48055) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qa2no-00008z-34 for qemu-devel@nongnu.org; Fri, 24 Jun 2011 05:35:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qa2nm-0003uh-Fb for qemu-devel@nongnu.org; Fri, 24 Jun 2011 05:35:52 -0400 Received: from mail-yx0-f173.google.com ([209.85.213.173]:51216) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qa2nm-0003uY-0e for qemu-devel@nongnu.org; Fri, 24 Jun 2011 05:35:50 -0400 Received: by yxs7 with SMTP id 7so1356233yxs.4 for ; Fri, 24 Jun 2011 02:35:48 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <4DFE1FEC.10207@redhat.com> References: <4DFE1FEC.10207@redhat.com> Date: Fri, 24 Jun 2011 10:35:48 +0100 Message-ID: From: Stefan Hajnoczi Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] Image streaming gives live block copy for free (and vice versa) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: dlaor@redhat.com Cc: Kevin Wolf , Jes Sorensen , Marcelo Tosatti , qemu-devel , Avi Kivity On Sun, Jun 19, 2011 at 5:12 PM, Dor Laor wrote: > On 06/17/2011 08:53 AM, Stefan Hajnoczi wrote: >> >> Perhaps someone has been saying this all along but I want to spell it >> out that image streaming and live block copy are equivalent in theory. >> I just realized this last night. =A0In practice we might choose one >> implementation or two different ones for performance reasons. >> >> If any of these are unclear please let me know and I'll try to post >> diagrams. >> >> Live block copy using image streaming >> ------------------------------------- >> >> 1. Create the destination image file and use the source image as the >> backing file. >> 2. Quiesce I/O and pause VM. >> 3. Switch to destination image. >> 4. Resume VM. >> 5. Start streaming destination image in order to copy source image >> data into destination file. >> 6. Streaming completes and disables the backing file, leaving the live >> copied destination image that no longer depends on the source image. > > Well streaming is copying just using post-copy approach. > Both pre and post are required: > =A0- post-copy (aka streaming) for fast live block migration of the VM > =A0 for cpu load balance. > =A0- pre-copy (aka live block copy) > =A0 If you manage to get a network outage between the source and the > =A0 destination storage systems, you will manage to keep running the VM > =A0 on the source side. Out of interest, are you brainstorming using live block copy and image streaming for pre- and post-copy live migration or do you have concrete plans to update libvirt to use these mechanisms? So far I've been focussing on the fast provisioning use case where image streaming helps, but eventually I would like to improve the state of storage migration too. Stefan