From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35289) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tr9uL-00089I-BE for qemu-devel@nongnu.org; Fri, 04 Jan 2013 11:14:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tr9uK-0006i5-5i for qemu-devel@nongnu.org; Fri, 04 Jan 2013 11:14:09 -0500 Received: from mail-bk0-f41.google.com ([209.85.214.41]:49592) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tr9uJ-0006hy-V5 for qemu-devel@nongnu.org; Fri, 04 Jan 2013 11:14:08 -0500 Received: by mail-bk0-f41.google.com with SMTP id jg9so7410922bkc.0 for ; Fri, 04 Jan 2013 08:14:07 -0800 (PST) Date: Fri, 4 Jan 2013 17:13:55 +0100 From: Stefan Hajnoczi Message-ID: <20130104161355.GD6310@stefanha-thinkpad.hitronhub.home> References: <1355725509-5429-1-git-send-email-xiawenc@linux.vnet.ibm.com> <1355725509-5429-5-git-send-email-xiawenc@linux.vnet.ibm.com> <24E144B8C0207547AD09C467A8259F75578B461B@lisa.maurer-it.com> <50CECBFA.6090000@linux.vnet.ibm.com> <24E144B8C0207547AD09C467A8259F75578B46F4@lisa.maurer-it.com> <50CEDD39.6010803@linux.vnet.ibm.com> <24E144B8C0207547AD09C467A8259F75578B47D6@lisa.maurer-it.com> <50D38F0B.4040809@redhat.com> <50D3D0EF.90903@linux.vnet.ibm.com> <24E144B8C0207547AD09C467A8259F75578B9D5C@lisa.maurer-it.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <24E144B8C0207547AD09C467A8259F75578B9D5C@lisa.maurer-it.com> Subject: Re: [Qemu-devel] [PATCH 4/6] snapshot: implemention of common API to take snapshots List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Dietmar Maurer Cc: "kwolf@redhat.com" , "aliguori@us.ibm.com" , "qemu-devel@nongnu.org" , "blauwirbel@gmail.com" , "pbonzini@redhat.com" , Wenchao Xia On Fri, Dec 21, 2012 at 06:20:40AM +0000, Dietmar Maurer wrote: > > If libvirt could integrate external tool using code, that would be great. For > > qemu, My understanding is just to take internal snapshot and stop vm, > > You just need to save VM state, flush all IO requests, then stop. > > After that the management framework can issue command to: > > * create internal snapshots (qmp) > * create external snapshots (qmp) > * create snapshot using external tools (lvcreate, nexenta API, btrfs?, ...) > > > then let management stack do the things remain. Dietmar, do you think that is all > > what needed in qemu? > > Basically yes. Maybe we need to provide some 'abort/cleanup' handler to restore > state if something fail (AFAIK external snapshots needs that). Yes, I agree that we several steps that can be orchestrated over QMP - and remember the QEMU guest agent which can ensure consistent backups. External snapshots (LVM, btrfs, etc) should happen outside of QEMU, usually in the management stack. It's not just beyond the scope of QEMU to execute LVM, btrfs, etc tools but also not possible when SELinux or file descriptor passing are used. Stefan