Re: [RFC] Unify KVM kernel-space and user-space code into a single project

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

 



On Mon, Mar 22, 2010 at 01:54:40PM +0100, Ingo Molnar wrote:
> 
> * Daniel P. Berrange <berrange@xxxxxxxxxx> wrote:
> > 
> > FYI, for offline guests, you can use libguestfs[1] to access & change files 
> > inside the guest, and read-only access to running guests files. It provides 
> > access via a interactive shell, APIs in all major languages, and also has a 
> > FUSE mdule to expose it directly in the host VFS.  It could probably be made 
> > to work read-write for running guests too if its agent were installed inside 
> > the guest & leverage the new Virtio-Serial channel for comms (avoiding any 
> > network setup requirements).
> > 
> > Regards,
> > Daniel
> > 
> > [1] http://libguestfs.org/
> 
> Yes, this is the kind of functionality i'm suggesting.
> 
> I'd suggest a different implementation for live guests: to drive this from 
> within the live guest side of KVM, i.e. basically a paravirt driver for 
> guestfs. You'd pass file API guests to the guest directly, via the KVM ioctl 
> or so - and get responses from the guest.
> 
> That will give true read-write access and completely coherent (and still 
> transparent) VFS integration, with no host-side knowledge needed for the 
> guest's low level (raw) filesystem structure. That's a big advantage.
> 
> Yes, it needs an 'aware' guest kernel - but that is a one-off transition 
> overhead whose cost is zero in the long run. (i.e. all KVM kernels beyond a 
> given version would have this ability - otherwise it's guest side distribution 
> transparent)
> 
> Even 'offline' read-only access could be implemented by booting a minimal 
> kernel via qemu -kernel and using a 'ro' boot option. That way you could 
> eliminate all lowlevel filesystem knowledge from libguestfs. You could run 
> ext4 or btrfs guest filesystems and FAT ones as well - with no restriction.
> 
> This would allow 'offline' access to Windows images as well: a FAT or ntfs 
> enabled mini-kernel could be booted in read-only mode.

This is close to the way libguestfs already works. It boots QEMU/KVM pointing
to a minimal stripped down appliance linux OS image, containing a small agent
it talks to over some form of vmchannel/serial/virtio-serial device. Thus the
kernel in the appliance it runs is the only thing that needs to know about the
filesystem/lvm/dm on-disk formats - libguestfs definitely does not want to be
duplicating this detailed knowledge of on disk format itself. It is doing
full read-write access to the guest filesystem in offline mode - one of the
major use cases is disaster recovery from a unbootable guest OS image.

Regards,
Daniel
-- 
|: Red Hat, Engineering, London    -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org :|
|: http://autobuild.org        -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux