Het gebruik van NFS-opslag met VMware klinkt eenvoudig genoeg, maar soms gaan er vreemde dingen mis. Het kan voorkomen dat je een NFS-share niet kunt ontkoppelen of verwijderen zonder duidelijke reden. Misschien geeft vSphere een foutmelding dat de share nog in gebruik is, of blijft de datastore inactief. Geloof me, dit is een veelvoorkomende frustratie – en als je dit hebt meegemaakt, ben je niet de enige. Het goede nieuws is dat er een aantal stappen zijn om dit probleem op te lossen zonder gek te worden.
Het zit zo: NFS-datastores op ESXi kunnen weigeren te ontkoppelen als ze nog steeds als ‘in gebruik’ worden beschouwd vanwege draaiende VM’s, snapshots of verkeerd geconfigureerde instellingen. Soms, door achtergebleven configuraties of opslagbeheerinstellingen (zoals Storage I/O Control), wil het systeem de datastore gewoon niet loslaten. Gelukkig kun je dit oplossen met een paar commando’s en wat zorgvuldige controles. Verwacht dat je VM’s van de datastore moet verplaatsen, indien nodig opslagbeheer moet uitschakelen of zelfs wat commando’s via SSH moet uitvoeren. Soms is het gewoon een hardnekkig probleem en moet je wat aan de slag om het uiteindelijk op te lossen.
Hoe los je problemen met het ontkoppelen van NFS-schijven in VMware ESXi op?
Methode 1: Opschonen via de GUI en vSphere Client
Dit is de meest eenvoudige route als je eerst de gebruikelijke stappen wilt proberen. Normaal gesproken ga je in vSphere naar Configureren > Opslag, klik je met de rechtermuisknop op je NFS-datastore en kies je Ontkoppelen. Als er een foutmelding verschijnt over VM’s of dat de resource in gebruik is, komt dat doordat een VM nog steeds op de een of andere manier aan die NFS-share is gekoppeld. Je moet dus het volgende doen:
- Schakel alle VM’s op dat datastore uit of migreer ze met behulp van Storage vMotion — zorg ervoor dat er niets achterblijft.
- Controleer of er snapshots, ISO-images of VMDK-bestanden zijn gekoppeld of geregistreerd die het ontkoppelen mogelijk blokkeren.
- Controleer of Storage DRS het datastore niet beheert of dat het geen onderdeel is van een datastorecluster.
- Bekijk de geavanceerde systeeminstellingen van de ESXi-host, met name instellingen zoals
global.logDirenScratchConfig. CurrentScratchLocation, om te zien of er logbestanden of swapbestanden direct op die datastore worden opgeslagen.
In sommige gevallen is dit wellicht al voldoende. Maar als dat niet het geval is en je foutmeldingen krijgt zoals “De bron is in gebruik”, dan zul je een andere aanpak moeten kiezen.
Methode 2: Gebruik SSH- en ESXCLI-opdrachten om hardnekkige datastores te verwijderen.
Deze methode is iets bewerkelijker, maar vaak noodzakelijk wanneer de grafische gebruikersinterface (GUI) niet werkt. Schakel eerst SSH in op uw ESXi-host (onder Host > Services > Secure Shell inschakelen ).Zodra SSH is geactiveerd, maakt u verbinding via een terminal of PuTTY en voert u de volgende opdrachten uit:
# esxcli storage nfs list
Dit toont alle gekoppelde NFS-shares. Zoek de share die problemen geeft – laten we zeggen dat deze heet datastore_nfs02. Voor meer informatie kunt u het volgende commando uitvoeren:
# vim-cmd hostsvc/datastore/info datastore_nfs02
Om het te ontkoppelen, gebruikt u:
# esxcli storage nfs remove -v "datastore_nfs02"
Tip: Als de datastorenaam spaties bevat, plaats deze dan tussen aanhalingstekens. Met dit commando wordt de NFS-share van die ESXi-host losgekoppeld. Dit moet u doen op elke host die is verbonden en deel uitmaakt van uw omgeving.
Soms krijg je een foutmelding omdat Storage I/O Control (SIOC) is ingeschakeld op het datastore. Je moet dit eerst uitschakelen als je wilt verwijderen wat als ‘in gebruik’ wordt beschouwd. Je kunt dit controleren en wijzigen via de vSphere CLI of met PowerCLI-scripts.
Opmerking: Nadat u de verwijderingsopdracht hebt uitgevoerd, kan het een paar seconden duren voordat de verbinding is verbroken. Als er niet direct iets verschijnt, wacht dan even en klik vervolgens op Vernieuwen of Opslag opnieuw scannen in het tabblad Configuratie van de host. Soms blijft het datastore grijs of inactief totdat dit is voltooid.
Bij het omgaan met inactieve of ‘dode’ datastores
Als de NFS-share aan de serverzijde is losgekoppeld voordat deze werd ontkoppeld, of als de virtuele machine deze nog steeds vasthoudt, kunt u fouten zoals de volgende zien:
Error performing operation: NFS Error: Unable to Unmount filesystem: Busy
Of Windows geeft aan dat het datastore al is verwijderd of niet volledig is aangemaakt. Dat is meestal een teken dat het systeem denkt dat het nog steeds in gebruik is of dat er iets vastloopt. Controleer in deze gevallen of de NFS-server het volume niet nog steeds deelt en of de firewallregels poort TCP/2049 toestaan – ja, want Linux NFS-servers moeten bereikbaar zijn zodat ESXi zijn werk kan doen.
Commando’s zoals deze helpen ervoor te zorgen dat uw firewall niets blokkeert:
$ esxcli network firewall ruleset set --ruleset-id nfs41Client --enabled=true $ esxcli network firewall ruleset set --ruleset-id nfsClient --enabled=true
Nadat u de verbinding hebt gecontroleerd, kunt u de verwijderingsopdrachten opnieuw uitvoeren. Als het datastore-bestand nog steeds niet is verwijderd, moet u mogelijk de opslag-I/O-controle uitschakelen of bepaalde functies in de systeeminstellingen opnieuw instellen.
En vergeet niet: als het datastore als inactief wordt weergegeven, moet u de verwijdering uitvoeren via de console, niet alleen via de vSphere GUI, vooral als de opslag niet langer toegankelijk is.
Controleer natuurlijk altijd alles nog een keer voordat je iets verwijdert – niemand wil per ongeluk iets belangrijks verwijderen.
In mijn ervaring lossen deze stappen de meeste hardnekkige ontkoppelingsproblemen op, maar het is een combinatie van het controleren van VM-associaties, netwerkregels en soms het uitvoeren van commando’s via SSH. Het lijkt misschien veel werk, maar als je er eenmaal aan gewend bent, is het gewoon een kwestie van de stappen volgen.
Samenvatting
- Schakel virtuele machines uit of migreer ze van het NFS-datastore.
- Controleer of er geen snapshots of ISO-images in de gedeelde map aanwezig zijn.
- Gebruik SSH
esxcliom de datastore te verwijderen als de GUI-methoden niet werken. - Controleer de firewallregels en verbreek de verbinding met het netwerk.
- Zorg ervoor dat Storage I/O Control indien nodig is uitgeschakeld.
Samenvatting
Het verwijderen van een hardnekkige NFS-datastore is niet altijd even makkelijk, maar met deze stappen lukt het meestal zonder al te veel frustratie. Wees geduldig, controleer de status van de VM’s en snapshots goed en vergeet de netwerkconfiguraties niet. Hopelijk bespaart dit iemand een paar uur. Succes!