Ich bin mir nicht ganz sicher, wie ich diese Frage formulieren soll (daher der schlechte Titel). Lassen Sie mich ein Beispiel dafür geben, was ich versuche.
Auf meinem (alten) Xen-Host kann ich jedem Gast LVM-Dateisysteme direkt präsentieren. Diese Dateisysteme werden tatsächlich auf dem Host erstellt und formatiert und direkt weitergeleitet. Beispiel: Für einen meiner Hosts, der eine separate tmp- und Swap-Partition verwendet, definiere ich den Speicher folgendermaßen:
disk = [
'phy: / dev / vg1 / guest1-swap, sda1, w',
'phy: / dev / vg1 / guest1-disk, sda2, w',
'phy: / dev / vg1 / guest1-tmp, sda3 , w ',
]
Guest1-swap wird also als Swap-Partition formatiert, guest1-disk und guest1-tmp werden mit ext4 formatiert, und aus der Sicht des Gasts werden sie einfach als drei formatierte Partitionen unter / dev / sda angezeigt.
(Das mag nach viel Arbeit klingen, aber es gibt Provisioning-Skripte, wie die fantastischen Xen-Tools , die so ziemlich alles automatisierten).
Dies bietet einige wirklich nützliche Funktionen, von denen ich zwei besonders für KVM herausfinden möchte:
Hängen Sie die Gast-Dateisysteme vom Host-Betriebssystem ein . Ich kann jederzeit ein schreibgeschütztes Mounten eines Gast-Dateisystems durchführen, auch wenn der Gast ausgeführt wird. Dies hat den zusätzlichen Vorteil, dass ich LVM-Snapshots aller vorhandenen Volumes erstellen kann, während der Gast ausgeführt wird. Auf diese Weise kann ich alle meine Gäste während des Betriebs zentral vom Host sichern.
Größenänderung des Online-Volumes . Da die Volumes Standard-Linux-Dateisysteme enthalten, kann ich eine Kombination aus lvextend und resize2fs verwenden, um meine Gast-Dateisysteme wieder zu vergrößern, während sie online sind.
Ich richte gerade einen KVM-Host ein, der den Xen-Host ersetzt. Ähnlich wie beim Xen-Setup nutze ich LVM, um direkten Dateisystemzugriff zu ermöglichen, aber KVM / qemu verhält sich anders, da immer eine Image-Datei für die Gäste erstellt wird, auch auf dem LVM-Volume. Aus der Sicht des Gasts wird dies als nicht partitionierte Festplatte angesehen. Es ist Sache des Gasts, eine Partitionsbezeichnung anzuwenden und dann die Partitionen und Dateisysteme zu erstellen.
Aus Sicht der Gäste ist das in Ordnung, aber aus Sicht der Server / Verwaltung scheint es weitaus weniger flexibel zu sein als das von mir beschriebene Xen-Setup. Ich bin noch neu in KVM, daher kann mir (hoffentlich) etwas fehlen.
Dieses Problem trat auf, als ich versuchte, meine frühere Sicherungslösung auf dem KVM-Host erneut zu implementieren, und der Befehl mount wurde blockiert, als ich versuchte, eines der Dateisysteme des Gasts bereitzustellen. Das anzusprechen ist mein aktuelles Anliegen, aber es hat mich auch über die Größenänderung beunruhigt, da ich mir sicher bin, dass dieses Problem auch irgendwann auftauchen wird.
Also, hier sind meine Fragen:
Gibt es eine Möglichkeit, dass kvm / qemu LVM-Volume-Dateisysteme direkt verwendet, wie ich es für mein Xen-Setup beschrieben habe? Ich verwende libvirt für die Verwaltung, wenn das einen Unterschied macht.
Wenn nicht, was kann ich tun, um ähnliche Bereitstellungs- / Sicherungsfunktionen unter KVM zu erhalten? Ich habe Diskussionen über die Verwendung von libguestfs mit FUSE gesehen, aber ist das wirklich die beste Option? Ich würde es vorziehen, wenn möglich bei einem nativen Dateisystem-Mount zu bleiben.
Ist es auch möglich, die Größe eines Online-Dateisystems unter KVM zu ändern? Ich habe mehrere Diskussionen / Anleitungen dazu gefunden, aber die Antworten scheinen überall zu sein, ohne klare und definitiv unkomplizierte Lösungen.
Entschuldigung für den langen Beitrag, wollte nur sicherstellen, dass es klar war. Bitte teilen Sie mir mit, ob ich weitere hilfreiche Informationen zur Verfügung stellen kann. Freue mich auf die Diskussion. :-)