On 03/27/2015 09:35 AM, Richard W.M. Jones wrote: >>> What I care about is connecting libguestfs to qemu and reading a >>> snapshot at some point in time, even though the guest is still writing >>> away to its disks. Is this possible with drive-backup (or otherwise)? >> >> Yes, that is what drive-backup does. >> >> New writes coming from the guest are held up until the old data has been >> written to the NBD target. >> >> That way you get a point-in-time snapshot while the guest continues >> running. > > I understand how that can work for backups, where you want to copy > a whole disk consistently. > > But libguestfs doesn't want to do a backup, nor get a copy of the > whole disk, it just wants to access a scattering of blocks (maybe a > few hundred) but at a single point in time, in as lightweight a manner > as possible.
If you KNOW what sectors you want to read, then your NBD target can ignore writes to the sectors you don't care about (the guest is changing data on a sector you don't care about; yeah, bandwidth was spent in telling you that, but you don't have to spend storage on it), while focusing on reading the sectors you do care about as fast as possible (to minimize the time spent dealing with uninteresting writes). If you DON'T know what sectors you want to read (because you are chasing file system pointers and don't know a priori where those pointers will resolve), then tracking ALL data flushed by guest writes IS the most efficient manner for keeping your point in time accurate for the duration of your fleecing operation. Either way, if you really are going to read only a few hundred sectors and then close the connection, it shouldn't matter if the drive-backup failed to send all guest sectors modified after the point in time, so long as every sector you read is accurate (either because the guest hasn't touched it in the meantime; or because even though the guest touched it after the point in time, you were given the original contents through your NBD target). -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs