ESXi : Bundle Backup en Powershell
Posted by NiTRo | Filed under HowTo, Tips & Tricks, VMware
MAJ 15/05/2015 : 6 ans plus tard cette technique est toujours autant d’actualité et c’est donc tout naturellement que nous vous proposons un joli onliner qui viendra poser les bundles dans c:\temp
Get-View -ViewType HostSystem |?{$_.config.product.ProductLineId -eq "embeddedEsx"} |?{$_.Runtime.ConnectionState -eq "connected"}|%{Get-VMHostFirmware -VMHost $_.Name -BackupConfiguration -DestinationPath C:\temp\}
Les plus observateurs aurons remarquez que le backup passe maintenant par la cmdlet Get-VMHostFirmware mais pour restaurer un bundle, c’est toujours Set-VMHostFirmware qu’il faut utiliser. En local sur l’ESXi (aka “ESXi shell”) c’est avec la commande vim-cmd que ça se passe.
Un des gros avantages d’ESXi est qu’il a été à l’origine conçu pour être booté via PXE. Pour cette raison entre autres, la config complète (hors VM bien sûr) d’ESXi est backupée toutes les heures (par la crontab /var/spool/cron/crontabs/root) sous la forme d’un package (state.tgz) qui servira au prochain boot (statefull ou stateless) ou à la cmdlet Set-VMHostFirmware. Le script suivant sauvegarde le configBundle de chaque ESXi, facilement utilisable dans une tache planifiée sur votre vCenter :
$backpath = "c:\bundle_backup\" $eVMHs = Get-View -ViewType HostSystem |?{$_.config.product.ProductLineId -eq "embeddedEsx"} |?{$_.Runtime.ConnectionState -eq "connected"} Foreach ($eVMH in $eVMHs) {Set-VMHostFirmware -VMHost $VMH.name -BackupConfiguration -DestinationPath $backpath}
Sur le screenshot, vous pouvez constater que pour 39 ESXi, la taille totale du backup dépasse à peine 1Mo. En détail, le configBundle d’un host standalone pèse environ 10ko et celui d’un host membre d’un cluster HA pèse environ 100ko (à cause de l’agent AAM). Malgré sa petite taille, ce bundle contient chaque paramètre de la configuration de l’ESXi, y compris le certificat SSL. Ce qui signifie qu’il est possible d’échanger une machine sans impact grâce à ce bundle.
/!\ le bundle est lié à la version de l’ESXi dont il provient et ne peut doit être restauré que sur un ESXi de version identique /!\
Tags: ESXi, powershell, scripting, state.tgz
November 1st, 2009 at 22:02
:hello:
Il semble s’agit du même résultat que de lancer la commande-script vMA vicfg-cfgbackup, tu confirmes Nitro?
November 1st, 2009 at 22:05
Absolument, j’ai oublié de le préciser
December 1st, 2009 at 2:21
[...] falloir à un moment ou à un autre partager ou extraire les fichiers configBundle de la vMA (ou d’un Windows avec Power CLI) pour que le serveur TFTP puissent les transmettre aux ESXi lors du boot. Mais il y a aussi plus [...]
May 7th, 2010 at 2:22
[...] Backing up multiple hosts! – There is a script to backup multiple ESXi hosts on the VMware communities site here. Also in PowerCLI here! [...]
December 12th, 2010 at 3:48
[...] devez remplacer une carte réseau utilisée par une interface vmkernel de management ou si vous restaurez la configuration d’un serveur sur un autre (panne hardware par ex), vous vous retrouver dans une situation où l’adresse MAC de la carte [...]
May 2nd, 2015 at 0:52
http://kb.vmware.com/kb/2042141