Я ищу способ автоматизировать ночное резервное копирование моих конфигураций VMWare ESXi для аварийного восстановления.
В идеале сценарий должен подключаться к моему серверу vCenter, опрашивать его для узлов, а затем создавать резервную копию конфигурации в логической структуре каталогов, включая текущую запущенную версию ESXi, поскольку резервные копии конфигурации могут быть восстановлены только на машине, на которой выполняется точно такая же сборка.
Есть ли где-нибудь такой скрипт?
Конечно, есть. Вот пример использования Power-CLI:
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
$backupbasedir = "<Base directory to store the backups>"
$username = "<Username with the correct right in vCenter>"
$password = "<Password for that user>"
$VCenterServer = "<FQDN of the vCenter server>"
if ($backupbasedir.Substring($backupbasedir.Length - 1, 1) -ne "\") {
$path = $backupbasedir + "\"
}
else {
$path = $backupbasedir
}
Connect-VIServer $VCenterServer -User $username -Password $password
Get-VMHost | ForEach-Object {
$path = $path + $_ + "\" + $_.ExtensionData.Config.Product.Version + "\" + $_.ExtensionData.Config.Product.Build
if (!(Test-Path $path)) { New-Item -ItemType directory -Path $path }
Get-VMHostFirmware -VMHost $_ -BackupConfiguration -DestinationPath $path
}
Этот сценарий сначала отключает сообщение об ошибке при возникновении ошибок сертификата, а затем проходит через все узлы в конкретном vCenter и создает резервную копию их конфигурации в структуре каталогов "\ ServerName \ ESXiVersion \ BuildNumber"
Это очень упрощает восстановление конкретного хоста ...
esxcli software profile update
и укажите ее в правильном месте загрузки для нужного вам номера сборки. Список правильных мест был найден на https://tinkertry.com/easy-update-to-latest-esxi на момент публикации.Set-VMHostFirmware -VMHost ESXi_host_IP_address -Restore -SourcePath <Backup Location>