Re: KVM Block Device Driver

Fam Zheng
2013-08-14T02:40:14Z

On Tue, 08/13 16:13, Spensky, Chad - 0559 - MITLL wrote:
> Hi All,
>
> I'm working with some disk introspection on KVM, and we trying to create
> a shadow image of the disk. We've hooked the functions in block.c, in
> particular bdrv_aio_writev. However we are seeing writes go through,
> pausing the VM, and the comparing our shadow image with the actual VM
> image, and they aren't 100% synced up. The first 1-2 sectors appear to be
> always be correct, however, after that, there are sometimes some
> discrepancies. I believe we have exhausted most obvious bugs (malloc
> bugs, incorrect size calculations etc.). Has anyone had any experience
> with this or have any insights?
>
> Our methodology is as follows:
> 1. Boot the VM.
> 2. Pause VM.
> 3. Copy the disk to our shadow image.

How do you copy the disk, from guest or host?

> 4. Perform very few reads/writes.

Did you flush to disk?

> 5. Pause VM.
> 6. Compare shadow copy with active vm disk.
>
> And this is where we are seeing discrepancies. Any help is much
> appreciated! We are running on Ubuntu 12.04 with a modified Debian build.
>
> - Chad
>
> --
> Chad S. Spensky
>

I think drive-backup command does just what you want, it creates a image
and copy-on-write date from guest disk to the target, without pausing
VM.