Wie kann man bei QEMU KVM einen Shared Folder einrichten?

Melden
  1. Einleitung
  2. Voraussetzungen und Grundlagen
  3. Methoden zur Einrichtung eines Shared Folders
  4. Einrichtung eines 9p Shared Folders
  5. Wichtige Hinweise zur Sicherheit und Performance
  6. Zusammenfassung

Einleitung

QEMU in Kombination mit KVM ermöglicht das Erstellen und Ausführen von virtuellen Maschinen mit hoher Leistung unter Linux. Eine häufige Anforderung ist es, Dateien und Ordner zwischen dem Host-System und der virtuellen Maschine auszutauschen. Hierfür bietet sich die Einrichtung eines Shared Folders an. Dieser Beitrag erläutert, wie man unter Verwendung von QEMU KVM einen solchen gemeinsamen Ordner einrichtet.

Voraussetzungen und Grundlagen

Um einen Shared Folder unter QEMU KVM einzurichten, benötigt man zunächst eine laufende virtuelle Maschine unter QEMU mit aktivierter KVM-Unterstützung. Das Host-System sollte Linux-basiert sein, und das Gastbetriebssystem kann Linux oder Windows sein. Die Grundidee besteht darin, einen Ordner vom Host als Netzwerkfreigabe oder als spezielles virtuelles Laufwerk für die VM verfügbar zu machen.

Methoden zur Einrichtung eines Shared Folders

Eine bewährte Methode ist die Nutzung von 9p, einem Protokoll, das von QEMU unterstützt wird und es erlaubt, einen Ordner des Hosts direkt in die VM einzubinden. Dabei teilt der Host den Ordner über das 9p-Dateisystem und der Gast hängt diesen Ordner als virtuelles VirtFS-Laufwerk ein. Diese Art der Einbindung ist insbesondere unter Linux-Gastsystemen unkompliziert und performant.

Alternativ kann man aber auch auf Netzwerklösungen wie Samba (SMB) oder NFS zurückgreifen. Hierbei wird der Ordner auf dem Host über das Netzwerk freigegeben und die VM verbindet sich über das Netzwerkprotokoll mit dieser Freigabe. Diese Variante ist besonders geeignet, wenn der Gast kein Linux-System ist oder wenn größere Kompatibilität gewünscht wird.

Einrichtung eines 9p Shared Folders

Zur Konfiguration eines 9p Shared Folders muss beim Start der VM ein entsprechendes QEMU-Argument hinzugefügt werden. Zum Beispiel kann folgender Parameter verwendet werden: -virtfs local,path=/pfad/zum/ordner,mount_tag=shared_folder,security_model=passthrough,id=hostshare. Dieser definiert den freigegebenen Ordner und ermöglicht der VM, diesen über den Tag shared_folder anzusprechen.

Im Gastsystem wird der Ordner anschließend über den Mount-Befehl bereitgestellt, beispielsweise: mount -t 9p -o trans=virtio,version=9p2000.L shared_folder /mnt/shared. Danach steht der Ordner unter /mnt/shared zur Verfügung und kann wie ein normales Verzeichnis genutzt werden.

Wichtige Hinweise zur Sicherheit und Performance

Beim Einsatz von 9p sollte man insbesondere das Sicherheitsmodell beachten. Das passthrough-Modell überträgt die Benutzerrechte vom Host direkt, was in einigen Fällen zu Zugriffsproblemen führen kann. Alternativ kann mapped-xattr oder none gewählt werden, je nach Anforderung und Sicherheitsbedenken.

Die Performance von 9p ist grundsätzlich gut, dennoch kann in Situationen mit intensiver Dateioperation NFS oder Samba vorzuziehen sein, da diese Protokolle speziell für Netzwerkfreigaben optimiert sind.

Zusammenfassung

Die Einrichtung eines Shared Folders in QEMU KVM ist mit verschiedenen Methoden möglich. Die direkt integrierte 9p-Unterstützung ist einfach einsetzbar und eignet sich besonders für Linux-Gäste. Für Windows- oder gemischte Umgebungen bieten sich Netzwerkfreigaben mittels Samba oder NFS an. Je nach Anforderung sind Performance, Sicherheit und Kompatibilität bei der Auswahl der Methode zu berücksichtigen.

0

Kommentare