Vmware-Esxi

自動化 VMWare 配置備份

  • May 23, 2020

我正在尋找一種方法來自動化我的 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”的目錄結構

這使得重建特定主機非常容易……

  1. 重新安裝正確的 ESXi 主要版本。
  2. 將其修補到最新備份的正確內部版本號。我發現最簡單的方法是使用該esxcli software profile update命令並將其指向您需要的內部版本號的正確下載位置。在本文發佈時,可在https://tinkertry.com/easy-update-to-latest-esxi找到正確位置的列表。
  3. 使用“Set-VMHostFirmware”命令恢復最新備份:Set-VMHostFirmware -VMHost ESXi_host_IP_address -Restore -SourcePath <Backup Location>
  4. 重新啟動並重新連接。

引用自:https://serverfault.com/questions/1018104