Ich habe ja bereits im Artikel USB Stick unter vSphere 6.5 als Diagnostic Coredump Laufwerk beschrieben, wie man unter VMware ESXi 6.5 einen UB-Stick als Coredump Partition einrichtet. Der betroffene Host, der den Dump schreiben sollte, ist mittlerweile auch wieder mit einem Purple Screen of Death (PSOD) gestorben, nur leider habe ich auf meinen USB-Stick keinen Dump finden können. Nach einer Suche nach der Ursache bin ich auf mehrere Hinweise gestoßen, dass die Einrichtung einer Partition nicht wirklich sinnvoll ist, da hier die Größe auf 100 MB beschränkt ist.
Die Einrichtung von einem Dumpfile
Als Lösung für das Problem mit der maximalen Größe von 100 MB habe ich die Anleitung gefunden, statt einer Diagnose-Partition ein Diagnose-File auf einem gewöhnlichen Volume zu nutzen. Damit dies gemacht werden kann (vor allem mit Blick auf die vorherige Einrichtung als Dump-Partition), beschreibe ich nun hier im zweiten Versuch Artikel.
Lösen des USB Sticks als Dump Partition
Die aktuelle Konfiguration können wir uns wie folgt anschauen:
esxcli system coredump partition list
Hier sehen wir, dass der USB Stick in meinem Fall noch als Ziel eingerichtet ist. Dies passen wir an mit dem Befehl
esxcli system coredump partition set --partition="mpx.vmhba33:XX"
esxcli system coredump partition set --enable true
Nun können wir den USB Stick erneut formatieren und dieses Mal als VMFS-Speicher hinzufügen.
partedUtil mklabel /dev/disks/naa.ID gpt
Eine Übersicht gibt es mit dem Befehl
partedUtil getptbl /dev/disks/naa.ID
Nun müssen wir eine neue Partition erstellen, das schwierigste hierbei ist das ausrechnen der maximalen Größe der Partition. Man kann dies mit dem folgenden Befehl ausrechnen lassen:
eval expr $(partedUtil getptbl /dev/disks/naa.ID | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1
Notieren Sie die Ausgabe, diese brauchen wir im nächsten Befehl. Wir erstellen nun die Partition mit dem gerade errechneten Wert.
partedUtil setptbl /dev/disks/naa.ID gpt "1 2048 GROESSE_DER_PARTITION AA31E02A400F11DB9590000C2911D1B8 0"
Nach der Erstellung müssen wir die Partition noch formatieren. Ich wähle hierzu das vmfs6-Dateiformat und nenne die Partition USB-Datastore, damit direkt im Namen erkennbar ist, dass es sich um einen USB Stick handelt.
vmkfstools -C vmfs6 -S USB-Datastore /dev/disks/naa.ID:1
Die Angabe von einer Datei als Coredump-Ziel
Nachdem wir nun den USB-Stick formatiert haben, können wir ihn als Ziel für einen Coredump auswählen. Dazu benötigen wir die folgenden Befehle:
esxcli system coredump file add -d Volume_ID -f NAME
esxcli system coredump file list
esxcli system coredump file set -p /vmfs/volumes/Volume_ID/vmkdump/NAME.dumpfile
Gefunden habe ich die Anleitung direkt bei VMware:
kb.vmware.com: Configuring ESXi coredump to file instead of partition (2077516)