Hoe voeg ik een externe USB-opslagdrive toe aan VMware ESXi?

Soms is het een hele klus om een ​​externe USB-opslagdrive soepel te laten werken met VMware ESXi. Of het nu gaat om snelle bestandsoverdracht, het maken van back-ups van virtuele machines of gewoon om problemen met de netwerksnelheid te voorkomen, een USB-stick aansluiten op ESXi is niet zo eenvoudig als hem erin steken. Vooral omdat VMware USB-drives officieel niet ondersteunt als datastores, en er een aantal eigenaardigheden zijn met betrekking tot groottelimieten en drivergedrag die roet in het eten kunnen gooien. Deze handleiding gaat er dan ook over om die problemen op te lossen, zodat je een USB-stick kunt omtoveren tot een bruikbare VMFS-datastore of simpelweg bestanden rechtstreeks kunt overzetten – zonder gedoe met het netwerk of gedeelde opslag. Gewoon een paar stappen om te kijken of je het werkend kunt krijgen zonder gek te worden.

Hoe gebruik je een USB-schijf als VMFS-datastore of hoe breng je bestanden over in VMware ESXi?

Een USB-schijf gebruiken als VMFS-datastore op VMware ESXi

Als je een USB-schijf bij de hand hebt en je opslagruimte wilt uitbreiden – in ieder geval tijdelijk – kun je deze omzetten naar een VMFS-datastore, ook al wordt dit officieel niet door VMware ondersteund. Op die manier kun je VM-bestanden of ISO-images rechtstreeks naar de schijf kopiëren. Houd er wel rekening mee dat ESXi alleen USB-schijven tot 2 TB aankan en dat dit officieel niet wordt ondersteund voor kritieke/stabiele omgevingen. Vertrouw hier dus niet blindelings op voor productieomgevingen. In nieuwere versies (zoals ESXi 7.x of 8.x) is het aanmaken van een VMFS op een USB-schijf vrij eenvoudig via de vSphere GUI, maar als je schijf niet wordt weergegeven, moet je mogelijk wat commando’s gebruiken.

Natuurlijk maakt VMware het soms ingewikkeld. Bij sommige configuraties verschijnt de schijf direct, maar bij andere moet je hem handmatig formatteren met commando’s en alles opnieuw instellen. Bovendien beheert de vmkusb- driver in ESXi 6.5 en later USB-apparaten, en soms worden deze automatisch doorgegeven aan virtuele machines. Dit kan problemen opleveren als je de schijf beschikbaar wilt hebben voor de host zelf. Het uitschakelen van USB-passthrough houdt in dat je de usbarbitratorservice stopt of de bijbehorende geavanceerde instellingen uitschakelt. Dit lijkt misschien wat overdreven, maar het werkt wel.

Stappen om een ​​VMFS voor te bereiden en te maken op een USB-schijf

  • Sluit eerst de USB-schijf aan op uw ESXi-host en ga naar Opslag -> Apparaten. Klik op Opnieuw scannen om te controleren of de schijf wordt weergegeven. Als deze niet wordt weergegeven, controleer dan of de schijf correct is geformatteerd en controleer de apparaatnaam met opdrachten zoals ls /dev/disks/of vdq -q.
  • Als uw schijf niet wordt weergegeven of er vreemd uitziet, moet u deze mogelijk handmatig partitioneren en formatteren. Om de apparaatnaam te achterhalen, voert u het volgende commando uit:
    • ls /dev/disks/
    • Ofwel vdf -q— een lijst van alle schijven
  • Maak een shellvariabele aan die naar uw apparaat verwijst, bijvoorbeeld:
    DISK="/vmfs/devices/disks/mpx.vmhba1:C0:T0:L0"
  • Voordat u een VMFS-bestandssysteem aanmaakt, moet u de schijf wissen en configureren. Verwijder eventuele eerdere partitietabellen met:
    # partedUtil mklabel ${DISK} gpt

    Waarschuwing: alle gegevens op de schijf worden hier gewist.

  • Controleer de schijfsectoren met:
    # partedUtil getptbl ${DISK}

    en stel de partitie in:

    # partedUtil setptbl /${DISK} gpt "1 2048 104856254 AA31E02A400F11DB9590000C2911D1B8 0"
  • Formatteer het naar VMFS met:
    # vmkfstools -C vmfs6 -S usbdrive ${DISK}:1
  • Nadat de schijf is geformatteerd, gaat u naar Opslag in de vSphere Web Client. Uw USB-schijf zou daar als datastore moeten verschijnen. Zo niet, probeer dan opnieuw te scannen of de host opnieuw op te starten. Voor hardnekkige schijven is het soms nodig om deze handmatig te koppelen met de VMFS UUID.
    esxcli storage vmfs snapshot list

    en vervolgens:

    esxcli storage vmfs snapshot mount -u <uuid>

De USB VMFS-datastore aansluiten en detecteren

Als de schijf wel wordt weergegeven maar niet correct wordt gekoppeld, kan deze worden herkend als een snapshot of iets dergelijks. U kunt snapshots weergeven esxcli storage vmfs snapshot listen deze vervolgens handmatig koppelen met behulp van de UUID. In sommige configuraties werkt dit niet altijd even goed, maar met een beetje moeite krijgt u de datastore weer bruikbaar.

Hoe bestanden van een USB-schijf naar ESXi over te zetten

Het is niet nodig om de schijf naar een VMFS-bestandssysteem te converteren als u alleen snel bestanden wilt kopiëren. Voor FAT32-, NTFS- of Ext3-partities kunt u de gegevens rechtstreeks vanuit de ESXi-console benaderen zonder opnieuw te formatteren. Schakel wel eerst de USB-arbitrageservice uit, omdat deze vaak problemen veroorzaakt. Anders blijft ESXi de USB-schijf rechtstreeks naar elke VM doorsturen of kan er verwarring ontstaan.

Om de USB-arbitrator uit te schakelen:

  1. Log in op je host via SSH.
  2. Loop:# /etc/init.d/usbarbitrator stop
  3. Als je wilt voorkomen dat het programma na een herstart opstart:
    # chkconfig usbarbitrator off

Als dat eenmaal is gedaan, kunt u bestanden kopiëren met commando’s zoals mcopy of ntfscat. Voor FAT32- of Ext3-partities is lezen/schrijven over het algemeen geen probleem. Voor NTFS-schijven bent u meestal beperkt tot het kopiëren van bestanden van de schijf, niet terug naar de schijf, tenzij u speciale stuurprogramma’s installeert of de overdracht eerst uitvoert op Windows/Linux.

Hier is een voorbeeld van een FAT32-overdracht:

# /bin/mcopy -i "/dev/disks/naa.5000000000000001:2" ::/some.iso /vmfs/volumes/your_datastore_name/iso/some.iso

Houd er rekening mee dat FAT32 geen bestanden groter dan 4 GB aankan, dus het overzetten van grote VMDK-bestanden kan lastig zijn. Je kunt ze eventueel splitsen voordat je ze kopieert, of nog beter, overzetten via het netwerk als dat mogelijk is.

En voor NTFS-schijven kunt u het volgende proberen:

# /bin/ntfscat -f /dev/disks/naa.5000000000000001:2" some.iso > /vmfs/volumes/your_datastore_name/iso/some.iso

Maar inderdaad, ntfscat maakt geen deel uit van ESXi 7.x of nieuwer, dus het kopiëren van grote bestanden via het netwerk (zoals WinSCP of SCP) is vaak eenvoudiger en betrouwbaarder voor NTFS-schijven.

In geval van nood kunt u uw USB-stick aansluiten op een Windows- of Linux-computer, de bestanden kopiëren en ze vervolgens via SSH of SCP overzetten. Het gebruik van commandoregeltools binnen ESXi kan wat lastig zijn, vooral bij grotere bestanden of niet-ondersteunde bestandssystemen.

Hopelijk bespaart dit iemand een hoop kopzorgen. Succes!

Samenvatting

  • Scan je opslagapparaten opnieuw om je USB-stick te vinden.
  • Gebruik CLI-opdrachten om indien nodig een VMFS-datastore aan te maken of te formatteren.
  • Schakel USB-passthrough uit als de schijf niet correct wordt herkend.
  • Gebruik mcopyFAT32 ntfscatvoor bestandsoverdracht, maar houd er rekening mee dat FAT32 een limiet heeft van 4 GB voor de bestandsgrootte.
  • Overweeg bij grote bestanden eerst om ze via het netwerk over te zetten of op te splitsen.

Samenvatting

Het is niet altijd even makkelijk om USB-drives met ESXi te laten werken, maar met wat gepuzzel via de commandoregel en een beetje geduld is het zeker mogelijk. Of je nu tijdelijke opslag toevoegt of gewoon bestanden wilt overzetten zonder netwerkproblemen, de sleutel is om te begrijpen hoe je bestanden correct formatteert, koppelt en overdraagt. Verwacht niet dat VMware je bij de hand neemt – soms zijn de stappen via de commandoregel de beste manier. Hopelijk helpt dit iemand om frustratie te voorkomen.