Hoe deel je een hostdirectory met virtuele machines met behulp van VirtioFS in Proxmox?

Gedeelde mappen aanmaken en koppelen in Proxmox VE 8.4+ (behoorlijk omslachtig, maar het werkt)

Als je gedeelde mappen wilt instellen tussen je Proxmox-host en je virtuele machines, vooral met de nieuwe VirtIOFS-functie die is geïntroduceerd in Proxmox VE 8.4, is de kans groot dat het niet meteen werkt. Ja, ik weet het – de ondersteuning voor Linux en Windows is een beetje…ongelijk. Soms lukt het mounten niet meteen, of herkent de virtuele machine de gedeelde map niet zonder extra stappen. Maar als je het eenmaal door hebt, is het een echte gamechanger voor snelle toegang tot bestanden, zonder dat er netwerkprotocollen nodig zijn. Deze handleiding beschrijft hoe je een gedeelde map op je host aanmaakt, deze configureert in de webinterface van Proxmox en deze mount in zowel Linux- als Windows-gasten. Verwacht wat vallen en opstaan ​​– vooral met Windows, waar extra drivers en tools nodig zijn. Maar het is zeker de moeite waard om dit in te stellen als je naadloos bestanden wilt delen tussen host en gast.

Hoe los je problemen op met het koppelen van gedeelde mappen in Proxmox VE 8.4+?

Controleer uw Proxmox-versie en VirtIOFS-ondersteuning.

Om dit allemaal werkend te krijgen, moet je Proxmox-host natuurlijk minimaal versie 8.4 draaien. De makkelijkste manier: `bash # pveversion -v`.Deze opdracht geeft gedetailleerde versie-informatie weer. Als de versie lager is dan 8.4, kun je beter eerst updaten, anders krijg je geen VirtIOFS-ondersteuning. Controleer ook of `virtiofsd` is geïnstalleerd: `bash # dpkg -l | grep virtiofsd`.Als er niets wordt weergegeven, installeer het dan: `bash # apt update && apt install qemu-virtiofs-helper` (of welk pakket dan ook nodig is, bijvoorbeeld `pve-guest-utils`).

Maak een map aan op de host om te delen.

Dit is simpel maar essentieel. Zorg ervoor dat je map bestaat: bash # mkdir -p /mnt/VMShare Ik heb gevallen gezien waarbij mensen de `-p` vergeten of de map niet aanmaken voordat ze deze aan de VM proberen toe te voegen. Deze map wordt de gedeelde resource.

Configureer de gedeelde map in de Proxmox-webinterface.

Vanaf versie 8.4+ kunt u een speciale maptoewijzing maken: – Ga naar DatacenterMaptoewijzingen – Klik op Maken of Toevoegen.- Stel de resourcenaam in en verwijs deze naar uw `/mnt/VMShare`-directory.- Sla de configuratie op. Nu komt het lastige gedeelte: dit koppelen aan uw VM als een VirtIOFS-share: – Schakel de VM uit (ja, dat moet als deze nog niet is uitgeschakeld).- Ga in de VM-instellingen naar HardwareToevoegenVirtiofs.- Selecteer de zojuist aangemaakte map. Opmerking: Bij sommige configuraties moet u ervoor zorgen dat de VM is geconfigureerd met VirtIOFS-ondersteuning ingeschakeld. Dit vindt u meestal in de VM-configuratie, bijvoorbeeld: bash qm config–virtio2 /mnt/VMShare, maar via de webinterface zou het moeten werken.

Mounten op een Linux-gastbesturingssysteem

Linux-kernels vanaf versie 5.4 ondersteunen VirtIOFS standaard, maar je moet nog steeds controleren of het stuurprogramma geladen is: bash # lsmod | grep virtiofs Als er niets wordt weergegeven, probeer dan: bash # modprobe virtiofs Als dat werkt, is herstarten niet nodig. Soms is een herstart echter wel nodig om er zeker van te zijn dat de modules geladen zijn. Om de gedeelde map tijdelijk te mounten: bash # mount -t virtiofs VMShare /mnt/hostshare Vervang `/mnt/hostshare` door het mountpunt van je voorkeur. Voor permanent mounten bewerk je `/etc/fstab` en voeg je het volgende toe: VMShare /mnt/hostshare virtiofs rw, relatime 0 0 Voer vervolgens `mount -a` uit om te testen.Opmerking: Bij sommige installaties geeft het mounten een foutmelding zoals “wrong fs type” of “bad superblock”.Dit komt vaak doordat de VM niet correct opnieuw is opgestart na het inschakelen van VirtIOFS-ondersteuning. Het virtuele apparaat verschijnt pas nadat de VM minstens één keer is uitgeschakeld en weer ingeschakeld.

Koppelen op Windows-gastbesturingssysteem

De ondersteuning voor Windows is niet zo soepel. Je moet het volgende doen: – Download de nieuwste Virtio ISO met `virtio-win-0.1.271.iso` of nieuwer.- Koppel deze ISO aan de Windows VM.- Voer `virtio-win-gt-x64.msi` uit vanaf de ISO om de VirtIO-stuurprogramma’s te installeren, inclusief de VirtIOFS-stuurprogramma’s. Controleer na de installatie: powershell Get-Service VirtioFsDrv Get-PnpDevice | Where-Object { $_. FriendlyName -like “*VirtioFS*” } Zodra de stuurprogramma’s correct zijn, moet je WinFSP gebruiken om de gedeelde map te koppelen, omdat Windows VirtIOFS nog niet native ondersteunt. Download WinFSP [hier](https://github.com/winfsp/winfsp/releases).Installeer het en herstart vervolgens de `VirtioFsSvc`-service. Gebruik deze opdrachten in PowerShell: powershell net stop VirtioFsSvc net start VirtioFsSvc De gedeelde map wordt nu weergegeven als een netwerkstation, net zoals bij het toewijzen van een netwerkshare, maar dan een VirtIOFS-share die rechtstreeks vanaf de host wordt doorgegeven. Op sommige machines is het herstarten van de service niet voldoende; soms helpt een volledige herstart van de Windows VM.Let op: Livemigratie van VM’s met gedeelde VirtIOFS-mappen wordt momenteel niet ondersteund, dus houd hier rekening mee.

Het hele proces is nogal omslachtig, vooral op Windows, maar als het eenmaal lukt, is het erg prettig om direct toegang te hebben zonder afhankelijk te zijn van netwerkshares of bestanden heen en weer te kopiëren.

Samenvatting

  • Zorg ervoor dat uw Proxmox-host minimaal versie 8.4 heeft; VirtIOFS-ondersteuning is hiervan afhankelijk.
  • Maak de gedeelde map aan op de host (`/mnt/VMShare`).
  • Stel de directorytoewijzing in via de Proxmox GUI en voeg Virtiofs-ondersteuning toe aan de VM.
  • Start de VM opnieuw op nadat je VirtIOFS hebt ingeschakeld en probeer vervolgens de virtuele machine te mounten vanuit Linux of Windows.
  • Installeer voor Windows de VirtIO-stuurprogramma’s en WinFSP, en koppel vervolgens het bestand met WinFSP.

Samenvatting

Het werkend krijgen van gedeelde mappen in Proxmox VE 8.4+ voelt in eerste instantie wat omslachtig aan, maar het is te doen zodra je de eerste obstakels hebt overwonnen. Niet alles is perfect, vooral wat betreft Windows-ondersteuning, maar het is in ieder geval een stap vooruit. Als het werkt, geweldig; zo niet, controleer dan je VM-configuratie, zorg ervoor dat de VM opnieuw is opgestart na het inschakelen van VirtIOFS en controleer nogmaals of de hostmap bestaat. Hopelijk scheelt dit een paar uur – frustrerende probleemoplossing heeft soms toch een lichtpuntje. Succes!