qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Adding Disk-Level Introspection to QEMU


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] Adding Disk-Level Introspection to QEMU
Date: Wed, 24 Apr 2013 10:37:58 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Apr 23, 2013 at 01:40:19PM -0400, Wolfgang Richter wrote:
> 
> --
> Wolf
> 
> On Apr 23, 2013, at 1:22 PM, Eric Blake <address@hidden> wrote:
> 
> > On 04/23/2013 11:12 AM, Wolfgang Richter wrote:
> >> I'm interested in adding introspection of disk writes to QEMU for various
> >> applications and research potential.
> >> 
> >> What I mean by introspection of disk writes is that, when enabled, each
> >> write
> >> passing through QEMU to backing storage would also be copied to an
> >> introspection channel for further analysis.
> > 
> > Sounds like you would be benefited by the block-backup series, with an
> > NBD server as the point where you inject your introspection.
> > 
> > https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg04629.html
> > 
> > The existing drive-mirror command can also target an NBD destination,
> > with similar effects.
> 
> Yes, OK as a new member to the list I saw the block-backup series and was 
> starting to have similar thoughts.  I'll port my code (analysis side) to work 
> with it (or drive-mirror).
> 
> Has there been any performance analysis of drive-mirror (impact on executing 
> guest)?

It slows down guest I/O for a couple of reasons:

1. Writes now require a read from the original device followed by a
   write to the target device.  Only after this completes is the write
   allowed to proceed.

2. Overlapping read/write requests are serialized to maintain
   consistency between the guests I/Os and the block-backup I/Os.

But on second thought, I don't think block-backup fits the bill.  You
don't care about the original data, you care about what new data the
guest is writing.

I think what you really want is a "tap" block driver which mirrors
writes to a target device (typically a NBD volume).  You can model this
on blkverify or check out Benoit Canet's quorum patches.

Stefan



reply via email to

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