Probleme mit dem Mounten von VirtIO-FS in Proxmox VM - Fehler bei Mount und fehlender Daemon

speefak

New Member
Mar 5, 2025
24
5
3
Hallo zusammen,


ich habe aktuell Probleme beim Mounten eines Host-Verzeichnisses in einer Debian 12 VM unter Proxmox. Ich möchte VirtIO-FS verwenden, um ein Verzeichnis vom Host zur VM zu mounten. Hier sind die Schritte, die ich versucht habe, sowie die Probleme, die auftreten.


Umgebung:​


  • Proxmox Version: 8.3.5-pve
  • Gast-OS: Debian 12
  • Host-Verzeichnis: /mnt/fstab_UUID_System_storage/agent-dvr-storage
  • VirtIO-FS Mount-Punkt in der VM: /mnt/vtab_host_storage

Schritte, die ich durchgeführt habe:​


  1. Konfiguration der VM:
    • Ich habe das Verzeichnis als VirtIO-FS in der VM-Konfiguration hinzugefügt:

      virtio0: /mnt/UUID_System_storage/agent-dvr-storage,mount_tag=vtab_host_storage,security_model=passthrough
  2. VirtIO-FS Daemon starten:
    • Auf dem Host versuchte ich den virtiofsd Daemon zu starten:

      sudo virtiofsd --socket-path=/var/run/virtiofsd.sock --shared-dir=/mnt/fstab_UUID_System_storage/agent-dvr-storage
      Allerdings erhalte ich den Fehler:

      sudo: virtiofsd: Befehl nicht gefunden
  3. Installation von virtiofsd:
    • Die Installation des virtiofsd Daemons war nicht erfolgreich. Ich konnte den Daemon nicht finden, obwohl virtiofs im Kernel geladen ist (lsmod gibt virtiofs und fuse aus).
  4. Mount-Befehl:
    • Ich versuchte, den Mount-Befehl in der VM auszuführen:

      sudo mount -t virtiofs vtab_host_storage /mnt/other
      Bekomme jedoch die Fehlermeldung:

      mount: /mnt/other: wrong fs type, bad option, bad superblock on vtab_host_storage, missing codepage or helper program, or other error.
  5. Fehlerprotokolle:
    • In den dmesg-Logs auf der VM erscheint der Fehler:

      virtio-fs: tag </mnt/fstab_UUID_System_storage/agent-dvr-storage> not found
  6. Verzeichnis auf dem Host:
    • Das Verzeichnis /mnt/fstab_UUID_System_storage/agent-dvr-storage existiert auf dem Host und hat die richtigen Berechtigungen.

Meine Fragen:​


  • Wie kann ich den virtiofsd Daemon korrekt installieren und starten?
  • Was könnte der Grund für die Fehlermeldung beim Mounten sein?
  • Gibt es zusätzliche Schritte, die ich unternehmen muss, um VirtIO-FS richtig zu konfigurieren?

Ich wäre dankbar für jede Hilfe oder Hinweise, wie ich dieses Problem lösen kann.


Danke im Voraus!
 
Last edited:
Ich kann dir mit dem Problem nicht helfen, aber warum willst du denn soetwas tun? Eventuell gibt es ja einen eleganteren Weg für dein Vorhaben.
 
Ich hatte es bisher über autofs und sshfs gelöst und würde gerne ohne Netzwerkfreigaben des Hosts arbeiten. Ein wenig CPU und Overheadbandbreite spart das Durchreichen ggf. auch ein.
 
Ich verwende seit über einem Jahr "9p" um Host-Ordner in VMs zu mounten! Funktioniert problemlos und flott.

Konfiguration ist meiner Meinung nach auch viel einfacher, als das was du in deinem ersten Post beschreibst.
 
Virtio-fsd ist noch gar nicht ferig ?! Das erklärt, warum ich das Paket nur auf den Proxmox Hosts und auf keinem der Clients finde. Ich dachte Virtiofsd ist schon im Produktiveinsatz. Dann werd ich es erstmal mit 9P oder auto/sshfs versuchen. Danke für die Info und die Arbeit ;)
 
virtiofsd ist schon "fertig", aber wird gerade erst in PVE integriert ;)
 
  • Like
Reactions: Ernst T.
... Dann werd ich es erstmal mit 9P oder auto/sshfs versuchen. Danke für die Info und die Arbeit ;)

Hallo,
vor einiger Zeit habe ich mich mit QEMU 9pfs in Proxmox VMs beschäftigt und bin gerade auch dabei, einen neuen "Schmierzettel" zu diesem Thema zu erstellen.

https://helpdesk.schabau.eu/archiv/proxmox017.html

Evtl. hilft Dir ja die Eine oder Andere Information/Erkenntnis.

Viele Grüße
Detlef Paschke
 
virtiofsd ist schon "fertig", aber wird gerade erst in PVE integriert
Es geht scheinbar schon los .... :)

Code:
Start-Date: 2025-04-08  14:08:55
Commandline: apt-get dist-upgrade
Install: virtiofsd:amd64 (1.10.1-1~bpo12+pve1, automatic)

... kam heute über no-sub-Repo.
 
Last edited:
Es geht scheinbar schon los .... :)

Code:
Start-Date: 2025-04-08  14:08:55
Commandline: apt-get dist-upgrade
Install: virtiofsd:amd64 (1.10.1-1~bpo12+pve1, automatic)

... kam heute über no-sub-Repo.
virtiofsd konnte ich die Tage auch schon installieren. Aber ich seh in der Web UI noch nichts
 
Habs jetzt seit ein paar Stunden (PVE 8.4) am laufen und bei kleinen Dateien ist es ca. 10 mal schneller als 9p. Einfach GEIL!!
 
  • Like
Reactions: Johannes S
Habs jetzt seit ein paar Stunden (PVE 8.4) am laufen und bei kleinen Dateien ist es ca. 10 mal schneller als 9p. Einfach GEIL!!
Und einfach und schnell eingerichtet, ob nun mit CLI oder mit GUI, ist es mit PVE 8.4 auch.
Bei 9P hatte ich auch immer das Problem, dass es eine recht lange Verzögerung (Sekunden) zwischen Auslösen und tatsächlichem Start des Kopiervorgang gab. Mit virtiofs ist es gefühlt so, als ob die Platten direkt durchgereicht sind, Klasse.

Ich habe aber auf der VM (Linux) ein ganzes Stück höhere CPU-Last beobachtet.
 
Last edited:
Seit PVE 8.4.0 gibt es unter Hardware einen Punkt virtiofs ;)

Werden Symlinks nicht unterstützt? Ein mount -t virtiofs IOFS /mountpoint hängt mir das Verzeichnis zwar ein, aber das eingehängte Verzeichnis folgt nicht allen Symlinks. Ein Symlink auf eine HDD in /mnt/fstab_disk_1 wird korrekt verarbeitet, der 2te Symlink auf /home/pve-nvme-storage ist auf dem Host korrekt, wird aber über virtiofs als fehlerhaft (rot) dargestellt:
 
Last edited:
Für eingefleischte zfs/lvm Block Storage User sollte doch zumindest im ersten Anlauf die fehlende Unterstützung von File-/Dir- Symlinks kein Problem sein, man kann halt nicht alles haben, irgendwas ist doch immer ... es muß ja auch noch Verbesserungspotential für's nächste Release verbleiben ... :)
 
Sollte keine Schmähkritik sein, eher im Gegenteil: DANKE für die Implementierung von virtiofs.

Ich wundere mich nur, warum einem Symlink korrekt gefolgt wird und der andere als fehlerhaft angezeigt wird. Ansonsten geht auch mount --bind -o follow-symlinks auf dem Host/virtiofs Verzeichnis, um den Symlinks zu folgen.
 
  • Like
Reactions: waltar
Das koennte womoeglich an der default sandbox namespace liegen:
Both namespace and chroot sandbox modes prevent "file system escapes" due to symlinks and other file system objects that might lead to files outside the shared directory.
https://gitlab.com/virtio-fs/virtiofsd#options

Symlinks innerhalb des shared directories und bind mounts (nach ausserhalb) sollten funktionieren.
 
  • Like
Reactions: waltar
Erstmal vielen Dank für die VirtIO-FS-Implementierung – das funktioniert schon jetzt erstaunlich gut und einfach!


Ich möchte mittelfristig meine bisherigen SSHFS-Netzlaufwerke auf dem Proxmox-Host komplett durch VirtIO-FS ersetzen, da SSH-Zugänge auf dem Host ein Sicherheitsrisiko darstellen. Dabei stoße ich allerdings auf ein Problem bzw. eine technische Hürde:




Ausgangslage:


Aktuell verwalte ich die Daten-Storages der VMs so, dass jede VM (bzw. Freigabe) ihren eigenen Benutzer auf dem Host hat:


  • Archivfreigabe → User archiv
  • Archiv ist per mount --bind -o ro unter /home/archiv/archiv eingebunden, also nur lesbar.
  • Vorteil von SSHFS + Autofs: klare Rechteverwaltung über Host-User und -Gruppen.



Problem mit VirtIO-FS:


Soweit ich das getestet und verstanden habe, läuft VirtIO-FS auf dem Host standardmäßig mit root-Rechten. Das heißt:


  • In der VM gespeicherte Dateien landen auf dem Host immer als root:root.
  • Eine feine Rechteverwaltung wie bei SSHFS (pro VM ein eigener Host-User) scheint nicht vorgesehen zu sein.



Was ich erreichen möchte:


  • Ein zentrales Verzeichnis auf dem Host:
    /mnt/PVE-Mapping-Storage
  • Darin:

    /mnt/PVE-Mapping-Storage/vm1<br>/mnt/PVE-Mapping-Storage/vm2<br>
  • Jede VM soll nur Zugriff auf ihr eigenes Unterverzeichnis bekommen – z. B. vm1 nur auf .../vm1.
  • Idealerweise sollen die Daten mit den Rechten eines bestimmten Host-Users gespeichert werden, also nicht root:root, sondern z. B. vm1:vm1.



Fragen:


  1. Ist es möglich, VirtIO-FS auf dem Host mit benutzerspezifischen Rechten zu betreiben (also nicht als root)?
  2. Oder muss ich für jede VM ein eigenes Verzeichnis explizit mounten mit eigenem Device-Namen?
  3. Wenn eine VM Root-Rechte hat:
    Kann sie theoretisch alle VirtIO-FS-Mounts sehen/einbinden, oder lassen sich Mounts isolieren?
  4. Gibt es eine sichere Alternative zu SSHFS, bei der ich die Rechte auf dem Host weiter fein steuern kann, aber keine Accounts in /etc/passwd brauche?



Hintergrund:


SSHFS bietet mir zwar perfekte Rechteverwaltung pro VM über dedizierte Host-User – aber auch eine Angriffsfläche durch SSH-Zugänge auf dem Host.
VirtIO-FS wäre da eine saubere Alternative – wenn sich das Rechteproblem lösen lässt.


Bin für jeden Tipp dankbar!