Kann ich einen KVM-Gast mit einem Btrfs-Subvolume als Dateisystem ausführen?

Kann ich einen KVM-Gast mit einem Btrfs-Subvolume als Dateisystem ausführen?

Ich möchte einen virtualisierten stabilen Debian-KVM-Gast auf einem stabilen Debian-Host ausführen (um nicht vertrauenswürdige Dinge wie Skype, Flash oder Eclipse mit Plug-ins von Drittanbietern auszuführen). Natürlich haben Host und Gast viele Dateien gemeinsam und es wäre schön, die Btrfs-Deduplizierung nutzen zu können.

Jetzt habe ich „direkten Kernel-Boot“ gefunden, konnte aber keine Dokumentation dazu finden. Erlaubt es mir, dem Gast ein Btrfs-Subvolume des Host-Dateisystems zu übergeben, und der Gast verwendet dieses Subvolume als sein eigenes Dateisystem?

Antwort1

@ignis hat recht. Nein, Sie können kein Btrfs-Snapshot-Subvolume eines Hosts auf einem Gast verwenden. Btrfs führt die Dateisystem- und Blockebenen zusammen. Ein Subvolume ist kein Blockgerät, sondern ein Dateisystem.

In der LVM-Welt erstellen Sie Snapshots von Blockgeräten und diese Snaps sind ebenfalls Blockgeräte. Ein solcher Snap könnte als Root-Gerät für einen Gast verwendet werden (solange der Snap nicht auf dem Host gemountet ist).

Sie könnten das Snap-Subvol auf dem Host mounten, es über NFS exportieren und den Gast mit einem NFS-Root booten, aber das wäre umständlich.

Basierend auf Ihrem Nutzungsszenario empfehle ich Ihnen, sich Linux Containers (LXC) (und Docker) anzusehen. LXC bietet die Isolierung und Wiederverwendung identischer Dateien, die Sie suchen.

Antwort2

Nun, ich denke, du könntest laufenCephauf dem Host, und lassen Sie den Client die Dinge darüber mounten. Da Ceph Btrfs für das Dateisystem auf dem Host verwendet, könnte es funktionieren.

Aber ist es Ihnen wirklich wichtig, wie viel Material vom Betriebssystem und den Programmen verbraucht wird, ein GB oder fünf?

Und ja, obwohl Ceph ein Cluster-Dateisystem ist, können Sie es auf einem Host ausführen.

verwandte Informationen