web-dev-qa-db-ja.com

VMWare構成のバックアップを自動化する

災害復旧のためにVMWareESXi構成の夜間バックアップを自動化する方法を探しています。

構成のバックアップはまったく同じビルドを実行しているマシンにのみ復元できるため、スクリプトはvCenterサーバーに接続し、ホストをポーリングしてから、実行中の現在のESXiバージョンを含む論理ディレクトリ構造で構成をバックアップするのが理想的です。

そのようなスクリプトはどこかにありますか?

1
Glenn Sullivan

確かにあります。 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. 再起動して再接続します。
1
Glenn Sullivan