ESXi 6.5 Partitions Deep Dive

Zuletzt wurde ich mit einem vSAN Host Problem konfrontiert. Im Laufe des Support Tickets bei VMware kristalllisierte sich ein Host des Clusters als „Problemkind“ es gab laut Support im Log Einträge wonach das Cluster sehr instabil war und dieser sich zeitweise nicht mehr im Cluster befand. Geäußert hatten sich die Probleme ursrpünglich in extrem hohen Storage I/O Latenzen welche aber auch nur im Monitoring des Kunden und nicht direkt im VMware vSphere Web Client ersichtlich waren. Im Zuge des Troubleshooting wurde der Host mit der alternativen Bootbank gestartet und das Problem war behoben. Ich war darüber nicht im Bilde, weshalb ich mich dazu entschied das hier Festzuhalten.

Das Partitionlayout eines ESXi Servers ist von VMware gegeben. Bei der Installation eines ESXi gibt es keine direkte Möglichkeit hierauf Einfluss zu nehmen. Meinen Recherchen zufolge gibt es zwischen den Versionen 6.x keine Unterschiede.

Um die ESXi Partitionen zu untersuchen sollten wir uns zunächst die vorhandenen Disks ausgeben lassen. Hierzu verbinden wir uns per SSH auf einen Host und geben folgendes Kommando ein.

ls /dev/disks -lh

Nun werden einige Disks mit „vm1.“ beginnend farblich hervorgehoben aufgelistet. Dies sind die ESXi System Disks.
Untersuchen wir nun die erste der Disks (ohne „:x“ am Ende) mit partedUtil erhalten wir die Tabelle der Partitionen.

partedUtil getptbl vm1.<uuid>

Die Aufgelisteten Partitionen der Disk stellen folgende Bereiche dar.

1 = system Partition –> 4 MB Bootloader
Für den Start des Betriebssystems erforderlich. (System Partition)

2 = Linux native –> 4 GB Scratch Lokation (bei SD oder USB nicht vorhanden) (/scratch)
Eine vier GB große VFAT formatierte Partition um Dateien des VM-Support (vmkernel Log) zu speichern. Diese Dateien sind für die Fehler Suche und Identifikation von Problemen essentiell. Sollte bei der Installation des ESXi Host erkannt werden, dass auf USB oder SD Karte oder einem Speichermedium kleiner 5 GB installiert wird, fehlt diese Partition und man erhält den Hinweis im vSphere Client. (siehe https://varni.de/2016/vmware/was-ist-eine-esxi-scratch-partition-und-wozu-brauche-ich-die/)

3 = lokaler VMFS Datastore
Diese Partition nimmt den gesamten übrigen Speicherplatz ein und wird je nach ESXi Version in der dazugehörigen VMFS Version formatiert. Im laufenden Host wird dieser dann als lokaler Datastore auch im vSphere Client gelistet.

5 = Linux nativ –> 250 MB Bootbank (/bootbank)
Das Hypervisor Image (s.v00) liegt hier. Die Partition ist FAT formatiert. Während des Bootvorgangs wird das hier abgelegte ca. 124 MB große Image entpackt und in den RAM geladen.

6 = Linux nativ –> 250 MB Alternative Bootbank (/altbootbank)
Bei Neuinstallationen ist diese Partition leer. Erst bei einem Upgrade des ESXi Host wird das aktuelle Hypervisor Image hier abgelegt. So ist es möglich die vorherige (funktionierende) Version zu booten. Hierzu muss bei Startvorgang die Tastenkombination „Strg + R“ gedrückt werden.

7 = vmk Diagnose –> 110 MB erste Diagnose Partition
Stürzt der ESXi Host ab oder zeigt einen lilafarbenen Diagnose Screen ( Purple Screen Of Death / PSOD ) wird hier die Host Dump Datei abgelegt.

8 = Linux nativ –> 286 MB Store (/store)
VMware speichert hier eine Vielzahl von ISO Dateien der VMware Tools für die unterstützten Gast Betriebssysteme. Beim Einhängen einer VMware Tools Installations CD wird das ISO Abbild auf dem jeweiligen ESXi Host aus dieser Store Partition heraus zugewiesen.

9 = vmk Diagnose –> 2,5 GB zweite Diagnose Partition
Diese ist eine zweite Diagnose Partition. Die jeweils aktive Partition kann mit folgendem Befehl herausgefunden werden:

esxcli system coredump partition list