proxMox: Teilen Sie ein Hostverzeichnis mit VMs über Virtiofs

/de/images/add-virtiofs-hardware-in-vm-settings.png

Mit der Veröffentlichung von Proxmox VE 8.4 erlangten die Benutzer die Möglichkeit, gemeinsam genutzte Verzeichnisse auf Host-Ebene zu erstellen, um Hostdateien auf Direktzugriff von virtuellen Maschinen zu ermöglichen (ähnlich wie mit freigegebene Ordner in VMware Workstation). VMs können auf dem Proxmox -Host direkt auf Shared -Verzeichnisse (Dateien) zugreifen, ohne das Netzwerk mit dem Virtiofs -Dateisystem zu durchlaufen. In diesem Artikel wird erläutert, wie ein gemeinsam genutztes Verzeichnis auf einem Proxmox -Host erstellt und es in virtuellen Maschinen montiert wird, die Linux oder Windows ausführen.

Mit freigegebenen Ordnern können Sie von einem VM schnell auf Dateien auf dem lokalen Proxmox -Host zugreifen, ohne Netzwerkprotokolle wie SMB oder NFS zu verwenden. Ein gemeinsam genutztes Verzeichnis auf einem Host kann beispielsweise System -Tools, Bilder, Konfigurationsdateien, Updates usw. enthalten. Auf diese Elemente kann zugegriffen werden, ohne sie auf jede VM kopieren zu müssen.

Der Proxmox-Host verwendet den integrierten virtiofsd-Daemon (erscheinen in Proxmox 8.4), um lokale Verzeichnisse an die VM zu übergeben.

Überprüfen Sie die Proxmox -Version auf einem Host:

# pVeversion-v

/de/images/pveversion-check-proxmox-version.png

ProxMox aktualisieren, wenn die Version weniger als 8,4 ist.

Überprüfen Sie, ob Virtiofsd auf dem Host installiert ist.

# DPKG-L | Grep Virtiofsd

Erstellen Sie ein freigegebenes Verzeichnis auf dem Proxmox -Host, das Sie mit den VMs teilen möchten.

# mkdir/mnt/vmshare `

Öffnen Sie die Proxmox-Web-Benutzeroberfläche und navigieren Sie zu DataCenter-> Verzeichnisach Mappings. Erstellen Sie eine neue Verzeichnis -Mapping für die Ressource, die auf das lokale Verzeichnis /mnt/vmshare verweist.

/de/images/create-directory-mapping-on-a-proxmox-host.png

Fügen Sie als Nächstes ein gemeinsam genutztes Virtiofs -Verzeichnis zu den Einstellungen für virtuelle Maschine hinzu. Öffnen Sie die VM-Einstellungen-> Hardware-> Virtiofs.

/de/images/add-virtiofs-hardware-in-vm-settings.png

Wählen Sie ein lokales Verzeichnis, das Sie an die VM übergeben möchten.

/de/images/add-virtiofs-filesystem-passthrough-device.png

Virtiofsd unterstützt die Durchgangsdurchgangs von ACLs und XATTRs von gemeinsam genutzten Verzeichnisobjekten bis hin zu Gast -VMs. Auf diese Weise können Sie die Berechtigungen von Objektzugriffsangeboten verwalten, wenn das Gästedateisystem diese unterstützt (ist nur für Linux-Dateisysteme sinnvoll).

Virtuelle Maschinen mit dem Linux -Kernel Version 5.4 oder höher unterstützen standardmäßig Virtiofs. Stellen Sie sicher, dass dieser Treiber geladen ist:

# lsmod | Grep Virtiofs

Um ein Verzeichnis von einem Proxmox -Host in einem VM mit einem Linux -Gast mit dem Virtiofs -Treiber vorübergehend zu montieren, führen Sie den folgenden Befehl im Gast -VM aus:

# mont-t virtiofs vmshare/mnt/hostshare

/de/images/mount-shared-directory-from-a-proxmox-in-linux-gue.png

Sie können auch einen Eintrag in FSTAB hinzufügen, um ein gemeinsames Verzeichnis dauerhaft montieren zu lassen.


VMShare /mnt/hostshare virtiofs rw,relatime 0 0


mount: /mnt/hostshare: wrong fs type, bad option, bad superblock on vmshare, missing codepage or helper program, or other error. dmesg(1) may have more information after failed mount system call.

Wenn Sie den Befehl Virtiofs Mount ausführen, erhalten Sie möglicherweise einen Fehler.

/de/images/mount-virtiofs-wrong-fs-type-bad-option-bad-su.png

Dies liegt daran, dass die VM mindestens einmal ausgeschaltet werden muss, damit das virtuelle Virtual -Gerät in der Hardwarekonfiguration des VM angezeigt wird (einfach das Neustart der VM ist nicht ausreichend).

Überprüfen Sie nach dem Einschalten der VM die VM -Konfiguration, um sicherzustellen, dass das Virtio FS -Gerät angezeigt wurde.

# qm config 154-Stromerre


virtiofs0: VMShare

/de/images/check-virtiofs-device-in-proxmox-vm-config.png

Um Virtiofs in einem Gast -VM -Windows -Windows zu verwenden, müssen Sie Virtiofs -Gast -Tools installieren, die einen Treiber zum Zugriff auf das Gerät enthalten. Machen Sie die neueste Version des Virtio ISO-Bildes in die VM (Virtio-Win-0.1.271.ISO oder neuer). Führen Sie das “Virtio-Win-GT-X64.MSI` Installer “aus und installieren Sie die VIOFS-Treiber (Virtio-Dateisystem). Weitere Informationen finden Sie im Artikel zur Bereitstellung von Windows -Guest -Maschinen auf Proxmox. /de/images/install-viofs-virtio-file-system.png

Überprüfen Sie, ob der Service -Treiber installiert ist und das Virtio FS -Gerät über die Gastfenster zugänglich ist:

`Get-Service VirtiofSDRV

Get-pnpDevice | Wobei {$ _. FriendlyName-ähnlich “virtiofs"-oder $ _.

/de/images/check-virtiofs-driver-and-service-running.png

Verwenden Sie das WinFSP -Tool, um das Virtiofs -Verzeichnis in Windows zu montieren. WinFSP (Windows File System Proxy) ermöglicht die Montage von Dateisystemen im Benutzermodus, ähnlich wie bei der Sicherung unter Linux.

Download und installieren

Weitere Informationen zur Verwendung des WinFSP finden Sie im Beitrag über Mapping -Netzwerk -Laufwerke über SSH (SSHFS) in Windows

Starten Sie das Virtio-FS-Servic E (virtiofssvc) über WinFSP, um den Shared-Ordner von Virtio-FS zu montieren.

/de/images/mount-shared-directory-from-a-proxmox-host-to-wind.png

In der Windows -Guest Virtual Machine wird das freigegebene Verzeichnis des Proxmox -Hosts als separates Netzwerklaufwerk angezeigt.

Die Live -Migration zwischen Hosts wird für virtuelle Maschinen mit einem montierten Virtio -Shared -Ordner nicht unterstützt.

*️⃣ Quellverknüpfung:

Bereitstellen von Windows -Guest -Virtual -Maschinen auf Proxmox, https://github.com/winfsp/winfsp/releases, Kartnetzwerksanträge über SSHFS) in Windows, in Windows,,