VMware vSphere: Sichern der Config eines Hosts und Rücksichern
Mir ist es schon mal vorgekommen, dass der Update-Manager des vCenter einzelne Hosts nicht mehr updaten konnte, weil bei einem früheren Update irgendwas schiefgelaufen ist. Dann ist es am einfachsten, den Host zu sichern, neu aufzusetzen und die Sicherung zurückzuspielen. Oder man will das USB-Bootmedium des Hosts turnusmäßig erneuern. Dann kann man auch das folgende Verfahren verwenden. Dies funktioniert übrigens wunderbar auch mit VSAN-Hosts. Alle Daten bleiben erhalten und der Host ist danach „wie vorher“.
Für dieses Verfahren ist Zugriff per SSH auf den Host notwendig.
Wichtig ist, dass man sich die aktuelle Build-Nummer der vSphere-Installation aufschreibt. Zum Beispiel vSphere 6.0 Build 5224934
. Um das Backup zurückspielen zu können muss der Host mit dieser oder einer neueren Build-Nummer installiert bzw. vorbereitet werden.
Zunächst muss der Host in den Wartungsmodus versetzt werden. Am besten über den vCenter-Server. Handelt es sich um einen VSAN-Host, sollte vorher der Wert für den Rebuild des Clusters von 60 Minuten auf 180 Minuten hochgesetzt werden. Die Befehle das zu müssen per SSH auf jedem Host im Cluster durchgeführt werden:
esxcli system settings advanced set -o /VSAN/ClomRepairDelay -i 180
/etc/init.d/clomd restart
Jetzt wird die Sicherung erstellt. Die Befehle dazu lauten:
vim-cmd hostsvc/firmware/sync_config
vim-cmd hostsvc/firmware/backup_config
Es wird jetzt eine Datei in /scratch/downloads/xxxxxxx-xxxf-xxxx-xxxx-xxxxxxxx/configBundle-hostname.tgz
angelegt. Diese per SSH herunterladen und gut ablegen. Alternativ kann sie auch über die angezeigte URL heruntergeladen werden. Dort muss lediglich der Stern gegen den Hostnamen getauscht werden.
Jetzt kann der Host heruntergefahren und neu installiert werden. Wichtig ist hier, nicht als Installationsmethode Update zu wählen sondern Install. Das alte Medium kann dabei überschrieben werden. Hier sollte das aktuellste zur Verfügung stehende Medium verwendet werden.
Nach der Installation muss der Host noch auf das richtige Patchlevel gehoben werden. Dazu sollten zur Sicherheit alle seit erscheinen das Installationsmediums erschienenen Patche nacheinander eingespielt werden. Dies muss leider manuell erfolgen. Wir haben alle Patche auf einem NFS-Laufwerk abgelegt, das sich mit folgendem Befehl einbinden lässt:
esxcli storage nfs add --host=fileserver --share=/storage/software --volume-name=software
Danach können die Patche mit folgenden Befehlen eingespielt werden. Ein Reboot ist erst ganz am Ende nötig.
vim-cmd hostsvc/maintenance_mode_enter
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/update-from-esxi6.5-6.5_update03.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-201908001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-201910001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-201911001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-201912001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-201912002.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202005001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202006001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202007001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202010001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202011001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202011002.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202102001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202107001.zip
esxcli software vib update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202110001.zip
esxcli system shutdown reboot -r -
Andere Variante:
[root@saria:~] esxcli software sources profile list -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202110001.zip
Name Vendor Acceptance Level
-------------------------------- ------------ ----------------
ESXi-6.5.0-20211001001s-no-tools VMware, Inc. PartnerSupported
ESXi-6.5.0-20211001001s-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20211004001-standard VMware, Inc. PartnerSupported
ESXi-6.5.0-20211004001-no-tools VMware, Inc. PartnerSupported
[root@saria:~] esxcli software profile update -d /vmfs/volumes/software/RZ/VMware\ ESX/ESXi/vSphere\ 6.5/Updates/ESXi650-202110001.zip -p ESXi-6.5.0-20211004001-standard
Jetzt sollte der Hot auf dem richtigen Patchlevel sein und es können die Daten zurückgesichert werden. Zunächst muss die Datensicherung in den Ordner /tmp kopiert werden und in configBundle.tgz umbenannt werden. Der Befehl zum laden der Sicherung lautet:
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
Der Host startet sofort neu mit der alten Konfiguration.
Sollte am Anfang der Rebuild-Timeout für VSAN hochgesetzt worden sein, dann diesen auf allen Hosts wieder zurücksetzen:
esxcli system settings advanced set -o /VSAN/ClomRepairDelay -i 60
/etc/init.d/clomd restart