New Linux tool helps manage guest virtual machines

Linux already has drivers to handle different file systems

With the increasing prevalence of virtualization comes the greater need for management of “guest” operating systems that run as virtual machines on the hypervisor, and the tool called libguestfs is set to provide that on Linux.

Libguestfs is a library for accessing and modifying guest vms and can be used for making batch configuration changes to guests, viewing and editing files inside guests, getting disk statistics, migrating between virtualization systems, performing partial guest backups and clones, cloning guests and changing system information of Linux and Windows guests among other things.

Developed by Red Hat emerging technologies software engineer Richard Jones, libguestfs overcomes the “constant problem” with virtualization management of how to “see inside” the guest virtual machine.

“You can measure things like how much CPU it’s using or how much network traffic it generates, but people often ask how much disk space a guest is using (not allocated, but actually using)?” Jones said.

“Did the guest boot up correctly? Can you install virtio drivers in that guest? Can you add a disk to a guest and change its /etc/fstab at the same time? Can you migrate a guest from Xen to KVM, uninstall the Xen PV kernel and add the right KVM drivers?”

Libguestfs uses Linux kernel and qemu code, and can access any type of guest file system that Linux and qemu can, including ext2/3/4, btrfs, FAT and NTFS, LVM, different disk partition schemes, qcow, qcow2, and vmdk.

“What we need to use is the Linux kernel code directly,” he said. “The whole thing runs inside a qemu container, and we talk from a small library to the userspace inside qemu, giving it instructions like 'edit this file', 'run this program', 'install this device driver'.”

The library can be linked with C and C++ management programs and has bindings for OCaml, Perl, Python, Ruby, Java and Haskell. It can also be used from shell scripts or the command line with the guestfish utility.

“The beauty of this is that Linux already has the drivers to handle numerous different file systems, LVM, partition types and so on,” Jones said, adding all the complexity is “hidden” inside the libguestfs library.

“The qemu process can decode qcow2 and a variety of other containers. We can even run an NFS server inside the guest and mount file systems on the host.”

More about: etwork, KVM, Linux, Red Hat, TFS
References show all

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
Users posting comments agree to the Computerworld comments policy.
Login or register to link comments to your user profile, or you may also post a comment without being logged in.
Related Coverage
Related Whitepapers
Latest Stories
Community Comments
Tags: kvm, libguestfs, QEMU, Red Hat, Virtualization
Whitepapers
All whitepapers
Sign up now to get free exclusive access to reports, research and invitation only events.
Featured Download
/downloads/product/205/divx-plus/

DivX Plus

Divx Plus 8 provides you with a Web Player which allows you to watch DivX, AVI and MKV videos in your web brower; you can ...

Computerworld newsletter

Join the most dedicated community for IT managers, leaders and professionals in Australia