• Productupdates

Gedeelde mappen in VMware Workstation: instellen, gebruiken en problemen oplossen

Gedeelde mappen in VMware Workstation: instellen, gebruiken en problemen oplossen

Inhoudsopgave

Virtuele machines zijn uitstekend in het zich voordoen als echte computers, totdat u het meest elementaire nodig hebt: bestanden verplaatsen tussen de host en de gast. Zodra u hetzelfde configuratiebestand tien keer per dag gaat kopiëren, voelt u de wrijving. Een gedeelde map is bedoeld om die wrijving weg te nemen door een gast-OS te laten werken met een map die fysiek op de host staat.

In deze handleiding bespreken we wat gedeelde mappen werkelijk zijn, wat ze niet zijn, hoe gedeelde mappen van VMware zich gedragen op Windows- en Linux-gasten, hoe u een gedeelde map van VMware Workstation correct configureert, hoe u deze op Linux koppelt en hoe u deze betrouwbaar houdt bij het opnieuw opstarten. We gaan ook in op prestatie- en beveiligingsdetails die van belang zijn bij het dagelijkse werk, en sluiten af met praktische conclusies die u daadwerkelijk kunt gebruiken.

Hoe werken gedeelde mappen in VMware eigenlijk?

Een gedeelde map in VMware is geen klassieke netwerkshare zoals SMB of NFS. Het is een host voor een gastbestandsbrug die wordt geleverd door VMware Tools. Wanneer u delen inschakelt in VMware Workstation, bewaart de host bestanden waar ze al staan en krijgt de gast een virtueel bestandssysteemoverzicht van die locatie. Dat overzicht wordt aangedreven door de VMHGFS-component in VMware Tools, dus de functie staat of valt met de installatie en goede werking van Tools, wat direct van invloed is op hoe een gedeelde map van VMware zich gedraagt binnen de gast.

Omdat dit een bridge is en geen netwerkprotocol, werkt het zelfs als uw gast geen netwerktoegang heeft. Het betekent ook dat uw bestandsbewerkingen worden vertaald via een laag die niet identiek is aan native schijftoegang. Die vertaling is de belangrijkste reden waarom gedeelde mappen vmware snel aanvoelen voor kleine bewerkingen, maar traag kunnen aanvoelen voor zware schrijfwerkzaamheden.

Waar gedeelde mappen tijd besparen en waar ze averechts werken

De meeste mensen gebruiken een gedeelde map van VMware voor het voor de hand liggende geval: een bestand op de host bewerken en het binnen de gast gebruiken. Dat is nog maar het begin. Gedeelde mappen komen goed van pas wanneer u één enkele bron van waarheid wilt behouden voor items zoals testdatasets, build-outputs, scripts en configuratiesjablonen. Dit is vooral handig wanneer u dezelfde testsuite op Windows en Linux uitvoert en beide kanten dezelfde invoer moeten zien.

Een gedeelde map van VMware Workstation is ook een nette manier om duplicatie van grote installatieprogramma's of archieven te voorkomen. In plaats van hetzelfde bestand van 6 GB op twee virtuele schijven op te slaan, bewaart u het één keer op de host en opent u het vanuit de gast wanneer dat nodig is. Dat gaat niet alleen om opslag, maar ook om versiesverschillen, omdat duplicatie leidt tot verouderde kopieën.

Tegelijkertijd zijn er gevallen waarin gedeelde mappen niet het juiste hulpmiddel zijn. Als u van plan bent een database binnen de gast uit te voeren, plaats de databasebestanden dan niet in gedeelde mappen van VMware. Databases produceren voortdurend kleine schrijfbewerkingen en vereisen een strakke bestandssysteem-semantiek. Een gedeelde map-bridge kan latentie toevoegen en soms verrassend gedrag vertonen onder stress. Gebruik voor databases de virtuele schijf van de gast.

De twee dingen zonder welke gedeelde mappen niet kunnen werken

Voor gedeelde mappen vmware komt alles neer op twee voorwaarden die mensen vaak over het hoofd zien.

  1. VMware Tools binnen de gast (met VMHGFS-ondersteuning). Zonder VMware Tools kan een vmware gedeelde map in de gebruikersinterface ingeschakeld lijken, maar nooit in het gastbestandssysteem verschijnen. Tools verbeteren ook de tijdsynchronisatie, stuurprogramma's en invoerverwerking, maar voor het delen van mappen is het VMHGFS-stuurprogramma het belangrijkste onderdeel. Installeer VMware Tools vanuit het VMware Workstation-menu terwijl de VM actief is, start opnieuw op na de installatie en controleer in Linux of vmhgfs of vmhgfs fuse beschikbaar is. Als Tools verouderd zijn, upgrade ze dan voordat u problemen oplost, omdat veel “problemen met gedeelde mappen” simpelweg te wijten zijn aan verouderde Tools.
  2. Corrigeer de hostmachtigingen op het gedeelde pad. VMware kan geen toegang verlenen die de hostgebruiker niet heeft. Het account waarop VMware Workstation draait, moet de map die u deelt kunnen lezen en ernaar kunnen schrijven als u schrijftoegang van de gast verwacht. Als de host geen toegang heeft tot een bestand, krijgt de gast ook geen toegang via een gedeelde map van VMware Workstation.

Stop met het delen van uw thuismap: een overzichtelijker ontwerp voor gedeelde mappen

Een gedeelde map wordt rommelig als u te veel deelt. Het delen van uw hele thuismap lijkt handig, totdat u zich realiseert dat de gast nu toegang heeft tot privésleutels, browserprofielen en willekeurige documenten. Een betere aanpak is om een of twee speciale mappen op de host aan te maken, bijvoorbeeld een map ‘vmshare’ voor lees- en schrijfgegevens en een map ‘vmreadonly’ voor tools en installatieprogramma's.

Dit ontwerp biedt u voorspelbare paden en vermindert het beveiligingsrisico. Het maakt het ook gemakkelijker om te controleren wat de blootstelling van uw VMware-gedeelde map daadwerkelijk is. Als u later een tweede VM toevoegt, kunt u dezelfde hostindeling hergebruiken en hoeft u niet alles opnieuw uit te vinden.

Een gedeelde map in VMware Workstation inschakelen

Configureer het delen terwijl de VM is uitgeschakeld. Open in VMware Workstation de VM-instellingen, ga naar Opties en vervolgens naar Gedeelde mappen. Schakel de functie in en kies of deze permanent ingeschakeld blijft of alleen tot de volgende keer dat de VM wordt uitgeschakeld of in de slaapstand wordt gezet. Permanent inschakelen is handig, maar tijdelijk inschakelen is nuttig wanneer u alleen een snelle overdracht nodig hebt.

Voeg een gedeelde map toe, selecteer het hostpad, geef het een duidelijke naam en bepaal of het alleen-lezen moet zijn. Alleen-lezen is geen onbelangrijk selectievakje, het is een veiligheidsfunctie. Als de gast een testomgeving is waarin u onbekende pakketten installeert, beperkt de alleen-lezenmodus de schade die een gecompromitteerde gast kan toebrengen aan hostbestanden.

Eenmaal geconfigureerd, bestaat de gedeelde map vanuit het perspectief van de VM, maar hoe u er toegang toe krijgt, hangt af van het gast-OS.

Gedeelde mappen vinden op Windows-gasten

Op Windows-gasten worden gedeelde mappen van VMware doorgaans weergegeven als een netwerklocatie met de naam VMware Shared Folders. Afhankelijk van de Windows-versie kunt u deze vinden onder Netwerk of in een vergelijkbare sectie. Als u de voorkeur geeft aan consistentie, kunt u deze toewijzen als een netwerkstation, zodat u altijd een stationsletter hebt.

Als de map niet wordt weergegeven, ga dan niet gissen. Controleer eerst of VMware Tools is geïnstalleerd in de gast en actief is. Controleer vervolgens of het delen van mappen is ingeschakeld voor die VM in de instellingen. Controleer ten slotte of u het delen niet hebt ingeschakeld terwijl de VM actief was en vervolgens bent vergeten de stroom uit en weer in te schakelen.

Als u de locatie kunt zien, maar bestandsbewerkingen mislukken, kijk dan naar de machtigingen in de hostmap. Een gedeelde map van VMware Workstation kan geen toegang verlenen die de hostgebruiker niet heeft.

Hoe vindt en koppelt u gedeelde mappen op Linux-gasten?

Op Linux-gasten maakt VMware gedeelde mappen doorgaans zichtbaar onder /mnt/hgfs. Veel distributies koppelen automatisch wanneer Tools is geïnstalleerd, maar u moet daar niet op vertrouwen, vooral niet na upgrades. Het is essentieel om te weten hoe u handmatig kunt koppelen als u wilt dat gedeelde mappen vmware betrouwbaar zijn.

Voor Linux-kernels ouder dan versie 4.0 wordt vaak de klassieke koppelingsmethode gebruikt:

mount -t vmhgfs .host:/ /home/user/vmshare

Voor Linux-kernelversies 4.0 of hoger is vmhgfs fuse de meest gebruikelijke methode:

/usr/bin/vmhgfs-fuse .host:/ /home/user/vmshare -o subtype=vmhgfs-fuse,allow_other

Als u alleen een specifieke share met de naam test wilt, koppelt u deze rechtstreeks:

mount -t vmhgfs .host:/test /home/user/test

Of met fuse op nieuwere kernels:

/usr/bin/vmhgfs-fuse .host:/test /home/user/test -o subtype=vmhgfs-fuse,allow_other

U kunt ook een submap mounten, wat handig is als u een beperkter bereik binnen de gast wilt:

/usr/bin/vmhgfs-fuse .host:/test/tools /var/lib/vmtools -o subtype=vmhgfs-fuse,allow_other

Deze commando's zijn eenvoudig, maar ze onthullen een kernwaarheid: een gedeelde map van VMware op Linux is een koppelbaar bestandssysteem, geen magische map. Als deze niet is gekoppeld, is deze niet bruikbaar.

Linux-koppelingen laten overleven na herstarten

Een veelgehoorde klacht is dat de map leeg is na het herstarten. Dat betekent meestal dat de koppeling niet persistent is. De oplossing is om een vermelding toe te voegen aan /etc/fstab, zodat de mount bij het opstarten opnieuw wordt aangemaakt. Een veelvoorkomend patroon is om de hele host share tree te mounten in /mnt/hgfs.

U kunt bijvoorbeeld een fstab-regel toevoegen die lijkt op deze:

vmhgfs-fuse .host:/ /mnt/hgfs fuse defaults,allow_other 0 0

Start daarna opnieuw op en controleer of uw gedeelde mappen vmware weer verschijnen. Als dat niet het geval is, controleer dan of de VMware Tools-services bij het opstarten starten en of het fuse-binaire pad overeenkomt met uw distributie. De meest voorkomende fout is een fstab-regel die verwijst naar een binair bestand dat niet op dat systeem bestaat.

Hoe werken gedeelde mappen met meerdere VM's en meerdere hostaccounts?

Als u meerdere VM's op één host uitvoert, kunt u ze allemaal naar dezelfde gedeelde map van VMware verwijzen. Dat is een veelvoorkomende opstelling voor het testen van dezelfde dataset op verschillende OS-images. Het werkt prima, maar u moet wel rekening houden met gelijktijdigheid. Twee gasten die naar hetzelfde bestand schrijven, kunnen conflicten veroorzaken, net als twee processen op één machine.

Een subtieler probleem doet zich voor op hosts met meerdere gebruikersaccounts. VMware behandelt gedeelde mappen standaard als gebruikersgebonden. Gebruiker A kan delen inschakelen, maar wanneer gebruiker B dezelfde VM start, kunnen de shares worden uitgeschakeld. Dit gedrag is opzettelijk, omdat het onbedoelde blootstelling van gegevens tussen hostaccounts vermindert.

Er is een voorkeur om alle gedeelde mappen standaard in te schakelen, maar het inschakelen ervan moet een bewuste keuze zijn. In gedeelde omgevingen is een gedeelde map van VMware Workstation niet alleen een handige functie, maar ook een keuze op het gebied van beveiligingsbeleid.

Prestaties in de praktijk en wat u eraan kunt doen

Gedeelde mappen voelen snel aan wanneer u tekstbestanden bewerkt of kleine artefacten uitwisselt. Ze kunnen traag aanvoelen wanneer uw werklast veel kleine schrijfbewerkingen veroorzaakt, zoals pakketbeheerders, buildsystemen die enorme aantallen bestanden genereren of toolchains die afhankelijk zijn van bestandswatchers.

Als prestaties een probleem worden, identificeer dan eerst het patroon. Als het om veel schrijfbewerkingen gaat, verplaats dan de schrijfintensieve map naar de gastschijf en bewaar alleen invoer en uitvoer in de gedeelde map. Houd bijvoorbeeld de broncode gedeeld, maar bewaar node_modules of build-caches in de gast, terwijl u de gedeelde map van VMware voornamelijk gebruikt voor wat u tussen de host en de gast moet doorgeven.

Onthoud ook dat het bestandssysteem van de host en antivirusscans de prestaties kunnen beïnvloeden. Wanneer gedeelde mappen van VMware traag aanvoelen, scant de host mogelijk elke bestandsbewerking. Het kan helpen om de gedeelde map uit te sluiten van intensieve scans, maar doe dat alleen als dat past bij uw beveiligingsbeleid.

Beveiligingsimplicaties van het gebruik van VMware-gedeelde mappen

Een VMware-gedeelde map doorbreekt de volledige isolatie. Als de gast wordt gecompromitteerd, worden ook alle bestanden die via de share worden blootgesteld, blootgesteld. Daarom zijn de alleen-lezenmodus en het bereik van belang. Deel zo min mogelijk en vermijd het delen van mappen die geheimen of gevoelige documenten bevatten via een VMware-gedeelde map.

Wees op Linux voorzichtig met allow_other in FUSE-koppelingen. Dit kan nodig zijn voor het gemak, maar het verandert ook wie toegang heeft tot de gekoppelde map binnen de gast. Gebruik het alleen als u het gebruikersmodel van de gast begrijpt.

Als u een sterkere beveiligingsscheiding nodig hebt, zijn gedeelde mappen van VMware misschien niet de juiste keuze. Gebruik in dat geval versiebeheer, artefactregisters of expliciete netwerkshares met authenticatie, afhankelijk van uw workflow.

Problemen oplossen zonder te gissen

Als een gedeelde map niet wordt weergegeven, klik dan niet op willekeurige instellingen. Volg een snelle reeks stappen om de oorzaak snel te isoleren.

  1. Controleer of VMware Tools is geïnstalleerd in de gast en of de Tools-service actief is. De meeste problemen met gedeelde mappen beginnen hier.
  2. Controleer of u het delen hebt ingeschakeld terwijl de VM was uitgeschakeld. Als u de instellingen hebt gewijzigd terwijl deze actief was, schakel deze dan volledig uit en start opnieuw.
  3. Controleer of de share wordt vermeld in de VM-instellingen en of het selectievakje is ingeschakeld.
  4. Controleer de hostmachtigingen voor het gedeelde pad. De VMware Workstation-gebruiker moet het kunnen lezen en schrijven als u schrijftoegang verwacht.

Behandel het op Linux als een mount-probleem totdat het tegendeel is bewezen.

  1. Controleer of /mnt/hgfs uw mappen bevat. Als het leeg is, is de share niet gemount.
  2. Voer een handmatige mount uit en lees de foutmelding. Deze wijst meestal direct naar het ontbrekende onderdeel.
  3. Als handmatig mounten werkt, maar het opnieuw opstarten de share verwijdert, voeg dan een fstab-vermelding toe om deze permanent te maken.

Als het symptoom is “het werkte gisteren nog”, ligt de oorzaak vaak niet aan uw configuratie. Meestal gaat het om een update van VMware Tools, een update van de Linux-kernel of een cyclus van opschorten en hervatten. Het opnieuw installeren of upgraden van Tools en het opnieuw opstarten van de gast is vaak de snelste manier om een schone reset uit te voeren.

Conclusie

Een gedeelde map in VMware Workstation is een van de handigste functies in VMware Workstation wanneer u deze behandelt als een workflowbrug en niet als een opslagbackend. Gebruik deze voor configuratiebestanden, broncode, scripts, installatieprogramma's en artefacten die baat hebben bij één enkele bron van waarheid. Bewaar databases en schrijfintensieve workloads op de gastschijf.

Om gedeelde mappen in VMware betrouwbaar te houden, installeert u VMware Tools vroeg, ontwerpt u een minimaal deelbereik, geeft u waar mogelijk de voorkeur aan alleen-lezen en leert u op Linux de mount-commando's en maakt u mounts persistent. Als u deze dingen doet, is een gedeelde map in VMware niet langer een incidentele truc, maar wordt deze een stabiel onderdeel van uw dagelijkse workflow.

Share

Over de auteurs


scale 1
Ready to scale?

Start for free and unlock high-performance infrastructure with instant setup.

Get started arrow button

Help ons verbeteren — deel je feedback

Jouw mening helpt ons een betere service te bouwen.