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.
von Thomas Drilling, IT-Trainer VMware, Consultant und IT-Fachjournalist
Als VMware-Trainer müssen wir uns in unseren IT-Trainings im Interesse aller Teilnehmer an einen groben inhaltlich/fachlichen und zeitlichen Fahrplan richten. Insofern können wir dort nicht jeden Spezialfall oder nützlichen Tipp behandeln. Dies holen wir hier im Blog nach.
Das Booten eines ESXi-Hosts vom USB-Stick gehört neben Autodeploy zu den beliebtesten Start-Verfahren und wird von VMware auch offiziell unterstützt. Da lokale Platten in ESXi-Host – sieht man mal von SSDs für Read-Cache oder VSAN ab – als Shared-Storage nicht zu gebrauchen sind, betreibt man einen ESXI-Host heute in der Regel diskless. Für das Starten des Hypervisors genügt ein 8GB USB-Stick. USB-Sticks sind aber nicht sonderlich haltbar, sodass es sich empfiehlt, den kompletten Stick zu sichern, um bei Bedarf einen Neuen erzeugen zu können. Hierfür kann der vSphere-Admin das gute alte Linux-dd, das auch die ESXi-Shell kennt, verwenden. Aus diesem dd-Image lässt sich dann bei Bedarf jederzeit einen neuer Boot-Stick klonen.
ESXi-Desaster-Recovery
1. Dazu 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.
2. Danach ermittelt man die passende Geräte-Datei für das USB-Gerät, der dann 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.
3. 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/ of=/vmfs/volumes///.img
im Beispiel:
dd if=/dev/disks/ mpx.vmhba33:C0:T0:L0 of=/vmfs/volumes/73ce4fbc-10a9189c/Backup-Bootdevices/hv1.img
4. 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:
5. Danach kann man das Image auf einen Windows-Rechner z. B. mit einem Tool wie https://rufus.akeo.ie/ 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.