ESXi-Boot-Image sichern DD unter VMware

Bootet man seine ESXi-Hosts von einem USB-Stick, kann es für DR-Szenarien nützlich sein, den kompletten USB-Stick von Zeit zu Zeit in ein Sicherungs-Image zu schreiben.

Das Booten eines ESXi-Hosts vom USB-Stick gehört neben Autodeploy zu den beliebtesten Start-Verfahren und wird von VMware auch voll unterstützt. Da lokale Platten in ESXi-Host – sieht man mal vom Einsatz diverser SDN-Lösungen wie VMware VSAN oder HPE VSA, sowie der Verwendung lokaler Cache-SSDs ab – mehr oder weniger nutzlos sind, betreibt man einen ESXI-Host heute in der Regel diskless. Für das Starten des Hypervisors genügt ein 8GB USB-Stick, sofern man etwas Reserve für den Scratch-Bereich einplant; minimal tun es auch 4GB beim Standard-Partitions-Layout.

Und das Beste daran: das Start-Image lässt sich mit ESX-Bordmitteln sehr einfach für den Notfall wegsichern, den bekanntlich sind USB-Sticks nicht besonders langlebig. Zum Einsatz kommt das gute alte Linux-dd, das auch die ESXi-Shell dank busybox beherrscht. Anschließend kann man aus dem dd-Image bei Bedarf jederzeit einen neuen Boot-Stick klonen.

ESXi-Desaster-Recovery

Dieser DR-Workaround ist sehr komfortabel auch wenn es natürlich andere Möglichkeiten gibt. Mit Autodeploy kann man bekanntlich auf eine Installation von ESXI auf Datenträgern auch ganz verzichten. Ferner kann ein ESXI-Host auch aus dem SAN booten und das Neuaufsetzen eines ESXI-Servers aus dem Installations-ISO dauert ja auch nicht ewig, sofern man die eigene ESXi-Config vorher z. B. mit Hilfe von Host-Profilen gesichert hat. Auch Distributed vSwitche lassen über den Web Client komfortabel sichern und nach dem Neuaufsetzen eines Hosts wieder einspielen. Nichts davon geht jedoch so schnell und komfortabel, wir das Kopieren den kompletten USB-Sticks in ein Image. Und das geht wie folgt

Zunächst legt man auf einem für den betreffenden ESXi-Host zugänglichen Datastore ein Zielverzeichnis an. Im Beispiel verwenden wir einen NFS-Datastore, der auf ein freigegebenes Verzeichnis auf einem SAN-Gerät verweist. Der zugehörige Pfad aus Sicht des ESXi-Hosts lautet im Beispiel /vmfs/volumes/73ce4fbc-10a9189c/Backup-Bootdevices. Das Anlegen des Verzeichnisses kann wahlweise im Datastore-Browser des Web- oder Hosts-Clients erfolgen, auf der Kommandozeile mit „mkdir“ oder mit Hilfe eines grafischen SFTP-Client.

Danach muss man die passende Geräte-Datei für das USB-Gerät ermitteln, der als „if“-Parameter für das dd-Kommando dient. Auch das geht wahlweise an der ESXi-Shell oder via SSH mit ….

ls -la /dev/disks/ | grep mpx

oder man schaut einfach mal in die Storage-Adapter Ansicht für den USB-Controller im Web Client.

Die Storage-Adapter-Ansicht liefert den Namen der Geräte-Datei (Thomas Drilling).

 

Nun steht der Verwendung des dd-Kommandos mit den Parametern „if“ (Input File) und „of“ (das eben angelegte Sicherungsverzeichnis nichts mehr im Wege:

dd if=/dev/disks/<USB-Device> of=/vmfs/volumes/<Datastore>/<Ordner>/<Name>.img

im Beispiel:

dd if=/dev/disks/ mpx.vmhba33:C0:T0:L0 of=/vmfs/volumes/73ce4fbc-10a9189c/Backup-Bootdevices/hv1.img

Das Resultat auf dem Datastore sollte dann so aussehen, wie in folgender Abbildung. Anschließend kann man das Image auf einem beliebigen Rechner zur Weiterverarbeitung herunterladen. Auch das kann wahlweise mit dem Datastore-Browser des Web Clients oder wie im Beispiel mit einem SFTP-Client erfolgen:

Der Herunterladen des fertigen Images mit einem SFTP-Client (Thomas Drilling).

 

Danach kann man das Image auf einen Windows-Rechner z. B. mit einem Tool wie Rufus auf einen neuen USB-Stick schreiben, der um Komplikationen zu vermeiden, die gleich Größe haben sollte. Etwaige vorhandene Partitionen sind vorher zu löschen. Es spricht natürlich auch nichts dagegen, auch für das Zurückschreiben dd zu benutzen.

Das schreiben des Boot-Images auf einen Stick mit Rufus (Thomas Drilling).

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.