USB Festplatte in ESXI nutzen

Toby-ch

Lt. Commander
Registriert
Sep. 2006
Beiträge
1.566
Hallo zusammen

Ich möchte gerne eine Externe USB Festplatte als Speicher für VMS nutzen:

Die USB Geräte werden auch angezeigt:

Code:
[root@localhost:~] esxcli storage core device list | grep -i usb
   Display Name: Local USB Direct-Access (mpx.vmhba33:C0:T0:L0)
   Is USB: true
   Is Boot USB Device: false
   Is USB: false
   Is Boot USB Device: false
   Display Name: Local USB Direct-Access (mpx.vmhba32:C0:T0:L0)
   Model: W USB3
   Is USB: true
   Is Boot USB Device: false
   Display Name: Local USB Direct-Access (mpx.vmhba34:C0:T0:L0)
   Is USB: true
   Is Boot USB Device: true

Bsp. Habe hier eine 1 TB HDD extern angeschlossen:
Bildschirmfoto 2016-08-07 um 21.14.05.png
Oder hier die 14.4 GB Reste des Boot stick:
Bildschirmfoto 2016-08-07 um 21.15.10.png

Die 14.4 Gb vom ESXI Boot stick konnte ich ohne Probleme nutzen:
Bildschirmfoto 2016-08-07 um 21.16.37.png

Jedoch die zusätzlich angeschlossene HDD lässt sich nicht nutzen:
Bildschirmfoto 2016-08-07 um 21.17.30.png
Ich kann sie nicht Formatieren :mad:

ich habe dann dieses Anleitung gefunden: LINK


Jedoch erhalte ich beim ersten Befehl das:
Code:
[root@localhost:~] fdisk /vmfs/devices/disks/mpx.vmhba32:C0:T0:L0

***
*** The fdisk command is deprecated: fdisk does not handle GPT partitions.  Please use partedUtil
***

Found valid GPT with protective MBR; using GPT

Ich habe die HDD mit einem Mac mit FAT32 Formatiert.

Besten dank für eure Hillfe
 
second.name schrieb:
Könnte dir das helfen?

Das hat geholfen

Bildschirmfoto 2016-08-07 um 22.15.57.png

Leider weis ich nicht wie ich das Rechnen muss:

To create a partition you need to know the start sector, end sector, which depends on the device size and the GUID.
The start sector is always 2048
The GUID for VMFS is AA31E02A400F11DB9590000C2911D1B8
The end sector can be calculated with the following formula (Use the numbers from getptbl):
~ # partedUtil getptbl /dev/disks/mpx.vmhba36\:C0\:T0\:L0
gpt
1947 255 63 31293440
1947 * 255 * 63 – 1 = 31278554

You can also calculate the endsector with the following command:

Ich habe eine 1TB HDD

Da ich alles 1:1 übernommen habe ist es jetzt nur eine 14 GB Partition...

Das habe ich gemacht:

Code:
The ESXi Shell can be disabled by an administrative user. See the
vSphere Security documentation for more information.
[root@localhost:~] /etc/init.d/usbarbitrator stop
watchdog-usbarbitrator: Terminating watchdog process with PID 33620
usbarbitrator stopped
[root@localhost:~] /etc/init.d/usbarbitrator stop
usbarbitrator is not running
[root@localhost:~] chkconfig usbarbitrator off
[root@localhost:~] ls /dev/disks/
mpx.vmhba32:C0:T0:L0                                                        mpx.vmhba33:C0:T0:L0:8                                                      vml.0000000000766d68626133333a303a30:10
mpx.vmhba32:C0:T0:L0:1                                                      mpx.vmhba33:C0:T0:L0:9                                                      vml.0000000000766d68626133333a303a30:5
mpx.vmhba33:C0:T0:L0                                                        t10.ATA_____TOSHIBA_MK5065GSXF_________________________________8127CPP0T    vml.0000000000766d68626133333a303a30:6
mpx.vmhba33:C0:T0:L0:1                                                      t10.ATA_____TOSHIBA_MK5065GSXF_________________________________8127CPP0T:1  vml.0000000000766d68626133333a303a30:7
mpx.vmhba33:C0:T0:L0:10                                                     vml.0000000000766d68626133323a303a30                                        vml.0000000000766d68626133333a303a30:8
mpx.vmhba33:C0:T0:L0:5                                                      vml.0000000000766d68626133323a303a30:1                                      vml.0000000000766d68626133333a303a30:9
mpx.vmhba33:C0:T0:L0:6                                                      vml.0000000000766d68626133333a303a30                                        vml.01000000002020202020202020202020383132374350503054544f53484942
mpx.vmhba33:C0:T0:L0:7                                                      vml.0000000000766d68626133333a303a30:1                                      vml.01000000002020202020202020202020383132374350503054544f53484942:1
[root@localhost:~] ls /dev/disks/
mpx.vmhba32:C0:T0:L0                                                        mpx.vmhba33:C0:T0:L0:6                                                      vml.0000000000766d68626133323a303a30                                        vml.0000000000766d68626133333a303a30:6
mpx.vmhba32:C0:T0:L0:1                                                      mpx.vmhba33:C0:T0:L0:7                                                      vml.0000000000766d68626133323a303a30:1                                      vml.0000000000766d68626133333a303a30:7
mpx.vmhba33:C0:T0:L0                                                        mpx.vmhba33:C0:T0:L0:8                                                      vml.0000000000766d68626133333a303a30                                        vml.0000000000766d68626133333a303a30:8
mpx.vmhba33:C0:T0:L0:1                                                      mpx.vmhba33:C0:T0:L0:9                                                      vml.0000000000766d68626133333a303a30:1                                      vml.0000000000766d68626133333a303a30:9
mpx.vmhba33:C0:T0:L0:10                                                     t10.ATA_____TOSHIBA_MK5065GSXF_________________________________8127CPP0T    vml.0000000000766d68626133333a303a30:10                                     vml.01000000002020202020202020202020383132374350503054544f53484942
mpx.vmhba33:C0:T0:L0:5                                                      t10.ATA_____TOSHIBA_MK5065GSXF_________________________________8127CPP0T:1  vml.0000000000766d68626133333a303a30:5                                      vml.01000000002020202020202020202020383132374350503054544f53484942:1
[root@localhost:~] ls /dev/disks/
mpx.vmhba32:C0:T0:L0                                                        mpx.vmhba33:C0:T0:L0:6                                                      vml.0000000000766d68626133323a303a30                                        vml.0000000000766d68626133333a303a30:6
mpx.vmhba32:C0:T0:L0:1                                                      mpx.vmhba33:C0:T0:L0:7                                                      vml.0000000000766d68626133323a303a30:1                                      vml.0000000000766d68626133333a303a30:7
mpx.vmhba33:C0:T0:L0                                                        mpx.vmhba33:C0:T0:L0:8                                                      vml.0000000000766d68626133333a303a30                                        vml.0000000000766d68626133333a303a30:8
mpx.vmhba33:C0:T0:L0:1                                                      mpx.vmhba33:C0:T0:L0:9                                                      vml.0000000000766d68626133333a303a30:1                                      vml.0000000000766d68626133333a303a30:9
mpx.vmhba33:C0:T0:L0:10                                                     t10.ATA_____TOSHIBA_MK5065GSXF_________________________________8127CPP0T    vml.0000000000766d68626133333a303a30:10                                     vml.01000000002020202020202020202020383132374350503054544f53484942
mpx.vmhba33:C0:T0:L0:5                                                      t10.ATA_____TOSHIBA_MK5065GSXF_________________________________8127CPP0T:1  vml.0000000000766d68626133333a303a30:5                                      vml.01000000002020202020202020202020383132374350503054544f53484942:1
[root@localhost:~] partedUtil mklabel /dev/disks/mpx.vmhba32\:C0\:T0\:L0 gpt
[root@localhost:~] partedUtil mklabel /dev/disks/mpx.vmhba32\:C0\:T0\:L0 gpt
[root@localhost:~] partedUtil getptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0 gpt gpt
Usage:
 Get Partitions : get <diskName>
 Set Partitions : set <diskName> ["partNum startSector endSector type attr"]*
 Delete Partition : delete <diskName> <partNum>
 Resize Partition : resize <diskName> <partNum> <start> <end>
 Get Partitions : getptbl <diskName>
 Set Partitions : setptbl <diskName> <label> ["partNum startSector endSector type/guid attr"]*
 Fix Partition Table : fix <diskName>
 Create New Label (all existing data will be lost): mklabel <diskName> <label>
 Show commonly used partition type guids : showGuids
 Get usable first and last sectors : getUsableSectors <diskName>
 Fix GPT Table interactively : fixGpt <diskName>

[root@localhost:~] partedUtil getptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0 gpt gpt
Usage:
 Get Partitions : get <diskName>
 Set Partitions : set <diskName> ["partNum startSector endSector type attr"]*
 Delete Partition : delete <diskName> <partNum>
 Resize Partition : resize <diskName> <partNum> <start> <end>
 Get Partitions : getptbl <diskName>
 Set Partitions : setptbl <diskName> <label> ["partNum startSector endSector type/guid attr"]*
 Fix Partition Table : fix <diskName>
 Create New Label (all existing data will be lost): mklabel <diskName> <label>
 Show commonly used partition type guids : showGuids
 Get usable first and last sectors : getUsableSectors <diskName>
 Fix GPT Table interactively : fixGpt <diskName>

[root@localhost:~] eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0| tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1
1953520064
[root@localhost:~] eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0| tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1
1953520064
[root@localhost:~] partedUtil setptbl /dev/disks/mpx.vmhba32\:C0\:T0\:L0 gpt "1 2048 31278554 AA31E02A400F11DB9590000C2911D1B8 0"
gpt
0 0 0 0
1 2048 31278554 AA31E02A400F11DB9590000C2911D1B8 0
[root@localhost:~] vmkfstools -C vmfs5 -S USB-HDD /dev/disks/mpx.vmhba32\:C0\:T0\:L0:1
create fs deviceName:'/dev/disks/mpx.vmhba32:C0:T0:L0:1', fsShortName:'vmfs5', fsName:'USB-HDD'
deviceFullPath:/dev/disks/mpx.vmhba32:C0:T0:L0:1 deviceFile:mpx.vmhba32:C0:T0:L0:1
ATS on device /dev/disks/mpx.vmhba32:C0:T0:L0:1: not supported
.
Checking if remote hosts are using this device as a valid file system. This may take a few seconds...
Creating vmfs5 file system on "mpx.vmhba32:C0:T0:L0:1" with blockSize 1048576 and volume label "USB-HDD".
Successfully created new volume: 57a7963d-55e57ef2-1b2e-685b35cc83ae
[root@localhost:~]
 
Das ist nicht schlimm - ist mir kürzlich auch passiert. Hab dein ssh jetzt nicht im Detail studiert, vermute aber, dass die falsche GPT-Partition ausgewählt wurde. ...Evtl. mit einem virtuellen gparted mal genau die Partitionstabellen betrachten.
...Bei mir hat's nach paar Anläufen dann doch noch geklappt.
Ergänzung ()

...Denk aber daran, dass du danach keine Host-USB-Devices mehr an die Client-VM's durchreichen kannst. Das könnte ein großer Nachteil werden!?
 
Hm ich habe mit diesem Befehl

partedUtil getptbl "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0" angepasst auf mein Volumen

eine andere Zahl bekommen.. jetzt ist er am arbeiten...

...Denk aber daran, dass du danach keine Host-USB-Devices mehr an die Client-VM's durchreichen kannst. Das könnte ein großer Nachteil werden!?

Hm der ESXI Host ist ein Mac mini die VMs nutze ich mit Vmwarefusion imac da konnte ich USB sticks vom iMac in die VM einbinden mit der Software geht dies danach auch nicht mehr?
ist eine Übergangs Lösung
evtl. rüste ich noch auf einen 2012 mac mini auf in den baue ich dann eine 2TB HDD via Sata und das Problem ist gelöst.
Ergänzung ()

So nun Habe ich es Endlich geschaft:

Stoppt das USB Routing in die VM's
Code:
/etc/init.d/usbarbitrator stop

Macht den oberen Befehl wieder rückgängig!
Code:
chkconfig usbarbitrator off

Listet euch alle Laufwerke auf
Code:
ls /dev/disks/
Bildschirmfoto 2016-08-08 um 21.59.59.png

Erstellt eine GPT Partition
Code:
 partedUtil mklabel /dev/disks/mpx.vmhba36\:C0\:T0\:L0 gpt

Berechnet nun die sektoren
partedUtil getptbl /dev/disks/mpx.vmhba36\:C0\:T0\:L0
Dieser Befehl zeigt euch eine zahlen folge bei mir sah die so aus:
Bildschirmfoto 2016-08-08 um 22.03.40.png

dies bedeutet in meinem Beispiel: 121601 x 255 X 63 -1 = 1953520064

Prüft euer ergebnis mit:
Code:
eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba36\:C0\:T0\:L0 | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1
Bildschirmfoto 2016-08-08 um 22.07.14.png

nun haben wir den anfangs sector 2048
The GUID for VMFS is AA31E02A400F11DB9590000C2911D1B8
Der Endsector in diesem Beispiel: 1953520064

Nun erstellt ihr die VMFS Partition
Code:
partedUtil setptbl /dev/disks/mpx.vmhba36\:C0\:T0\:L0 gpt "1 2048 31278554 AA31E02A400F11DB9590000C2911D1B8 0"
ist die Eingabe erfolgreich sieht dies so aus:
Bildschirmfoto 2016-08-08 um 22.10.04.png

Es folgt die Datenträger Bezeichnung:
Code:
vmkfstools -C vmfs5 -S USB-Stick /dev/disks/mpx.vmhba36\:C0\:T0\:L0:1
ist es erfolgreich sieht es so aus:
Bildschirmfoto 2016-08-08 um 22.12.34.png

und VShere Client sieht es so aus:

Bildschirmfoto 2016-08-08 um 22.13.54.png

Das Englische original gibt es hier

Besten dank an second.name für den Link
 
Zuletzt bearbeitet:
Schön, dass es funktioniert hat. Wie sieht's mit dem Durchreichen der Host-USB-Geräte aus? ..."/etc/init.d/usbarbitrator stop" sollte dies (leider) deaktivieren, oder?
 
second.name schrieb:
Schön, dass es funktioniert hat. Wie sieht's mit dem Durchreichen der Host-USB-Geräte aus?
Dies habe ich noch nicht ausprobiert, mache ich aber die Tage und werde berichten.
 
Was ist eigentlich, wenn man eine USB-Festplatte nicht als Datastore für VMs zur Verfügung stellen möchte, sondern nur als reinen Datenspeicher für den ESXi-Host, damit man von anderen vmfs-Datastores bspw. ein 1:1 file copy durchführen kann?

Man muss den Datastore auch irgendwie mounten, und das ist mit dem ESXi-OS denke ich zwar möglich - nur wie? :confused_alt:
 
@Misdemeanor

Ich stehe irgend wie auf dem schlauch.. Möchtest du die HDD/Stick minuten auf der ESXI-os drauf ist und da VMS drauf hauen?

Wen ja lass es bleiben mir wurde davon abgeraten dies zu machen... OS und VMs müssen bzw sollten getrennt sein.. das OS ist meistens auf einem Stick oder micro sd karte drauf die sich im Server befindet.
Dafür vergeudet mann keinen 2.5" HDD Schacht ( Produktiv System).
 
Oh hey, sorry - aber besser spät als nie, oder? :freak:

Ich wollte mit der externen Festplatte lediglich einen mount zur Verfügung stellen, auf dem man 1:1 eine VMDK-Kopie ablegen kann, also das gesamte Verzeichnis einer VM 1:1 auf diese ext. HDD zu kopieren.

ESXi ist ja aber in seiner Konnektivität zu recht eingeschränkt (was schon alleine aus Sicherheitsgründen an und für sich gut ist), bzw. einige Dinge sind nur über Umwege machbar. Inzwischen ist diese Fragestellung nicht mehr akut, interessiert mich aber dennoch ... ich nahm an man kann eine (wie auch immer formatierte) externe Festplatte anschließen, mounten und dann für einen simplen Datei-Austausch darauf zugreifen.
 
Zurück
Oben