Tipp: Libguestfs inspiziert von VM-Images von außen

Neues regelbasiertes Backend für libguestfs

| Autor: Thomas Drilling

Drillings Open-Source-Eck
Drillings Open-Source-Eck (Bild: Thomas Drilling)

Mit den Open-Source-Tool libguestfs können Nutzer in KVM- oder Xen-Virtualisierungsumgebungen vom Host aus auf VM-Daten ein- oder ausgeschalteter VMs zugreifen. Seit wenigen Tagen gibt es ein neues Update, in dem der Code zum Inspizieren von Gastsystemen besser wartbar ist.

Libguestfs eine sichere und skriptfähige Open-Source-Bibliothek, die nützliche Dienste bei der Fehlersuche in KVM- oder Xen-Umgebungen leistet, weil Nutzer mit deren Hilfe auf die Dateisystemebene der Disk-Images von Open-Source-VMs zuzugreifen können. So können etwa VMs ohne großen Aufwand und ohne externe Managementsoftware vom Hypervisor aus gesichert werden. 

Libguestfs hilft sogar bei der Fehlersuche, wenn sich die betreffenden VMs nicht mehr einschalten lassen. Libguestfs kommt mit jedem VM-Typ zurecht, der von libvirt unterstützt wird, also KVM, Xen, Qemu usw. . Die Bibliothek ermöglicht optional auch direkten Zugriff auf zahlreiche Dateisysteme innerhalb der VM, als wären diese lokal ins Host-Dateisystem eingebunden, wie z. B. NTFS, ext2/3/4, HFS), aber auch auf viele Raw-Formate wie VMDK oder VHD(X).

Jetzt mit regelbasiertem Backend

Richard W.M. Jones, der bei Red Hat beschäftige Entwickler des Open-Source-Tools, weist nun in seinem Blog auf neues Feature hin, dass den Coder zur Inspektion von Gastsystemen besser wartbar machen soll.

Bei libguestfs versuchen verschiedene Einzel-Tools aus dem Paket, darunter der "virt-inspector" herauszufinden, welches Gastsystem im jeweiligen Image installiert ist und wie es aufgebaut ist, also welche Distribution, welches Partitionslayout und so weiter. Das ging auch schon vorher, allerdings steckte der zugehörige Code in mehreren tausend Zeilen schwer wartbaren C-Codes.

Dieser wurde nun von Jones durch ein neues Subsystem ersetzt, das es erlaubt, die zum Inspizieren erforderlichen Heuristiken in Form einfach verständlichen Regeln vorzugeben, vergleichbar den Fakten bei Prolog. Jones hat dazu eigens einen Compiler implementiert, der aus den Regeln C-Code generiert, der dann in die Guestfs-Tools ein-compiliert wird. Nach Ansicht von Jones ist das neue System schneller und besser wartbar, als der bisherige Code. Hundertprozentige Rückwärtskompatibilität sei aber gewährleistet.