备份 ESXi 主机配置数据
使用 vSphere CLI
要使用 vSphere CLI 备份 ESXi 主机的配置数据,请运行以下命令:
vicfg-cfgbackup --server=ESXi_host_IP_address --username=root -s output_file_name
如果使用的是适用于 Windows 的 vSphere CLI,请运行以下命令:
vicfg-cfgbackup.pl --server=ESXi_host_IP_address --username=root -s output_file_name
其中,
ESXi_host_IP_address
是 ESXi 主机的 IP 地址,
output_file_name
是您创建的备份文件的名称。
注意:使用适用于 Windows 的 vSphere CLI 时,确保从以下位置执行命令:
C:\Program Files\VMware\VMware vSphere CLI\bin 例如:
vSphere CLI:
vicfg-cfgbackup --server=10.0.0.1 --username=root -s ESXi_test1_backup.tgz
适用于 Windows 的 vSphere CLI:
vicfg-cfgbackup.pl --server=10.0.0.1 --username=root -s ESXi_test1_backup.tgz
注意:使用 --password=root_password
选项(其中,root_password
是主机的 root 密码)以避免在运行脚本时系统提示输入 root 用户密码。
备份文本文件保存在运行 vicfg-cfgbackup 脚本的当前工作目录中。也可以为该文件指定完整输出路径。
使用 vSphere PowerCLI
要使用 vSphere PowerCLI 备份 ESXi 主机的配置数据,请运行以下命令:
Get-VMHostFirmware -VMHost ESXi_host_IP_address -BackupConfiguration -DestinationPath output_directory
其中,ESXi_host_IP_address
是 ESXi 主机的 IP 地址,output_directory
是将在其中创建输出文件的目录的名称。
例如:
Get-VMHostFirmware -VMHost 10.0.0.1 -BackupConfiguration -DestinationPath C:\Downloads
注意:备份文件保存在使用 -DestinationPath
选项指定的目录中。
使用 ESXi 命令行
要将已更改的配置与持久存储同步,请运行以下命令:
vim-cmd hostsvc/firmware/sync_config
要备份 ESXi 主机的配置数据,请运行以下命令:
vim-cmd hostsvc/firmware/backup_config
注意:此命令应输出 Web 浏览器可能用于下载此文件的 URL。备份文件位于 /scratch/downloads 目录中,且形式为 configBundle-HostFQDN.tgz
还原 ESXi 主机配置数据
还原主机配置的同时也会还原 ESXi 主机的状态以及 vSphere 标准交换机的网络配置。
使用 vSphere CLI
注意:还原配置数据时,此主机的内部版本号必须与创建备份文件的主机的内部版本号匹配。使用 -f
选项(强制)可替代此要求。
要使用 vSphere CLI 还原 ESXi 主机的配置数据,请执行以下步骤:
- 关闭要还原的主机上正在运行的所有虚拟机的电源。
- 登录到安装了 vCLI 的服务器。
- 运行带
-l
标记的 vicfg-cfgbackup
脚本,以便从指定的备份文件加载主机配置:
vSphere CLI:
vicfg-cfgbackup --server=ESXi_host_IP_address --username=root -l backup_file
适用于 Windows 的 vSphere CLI:
vicfg-cfgbackup.pl --server=ESXi_host_IP_address --username=root -l backup_file
其中,ESXi_host_IP_address
是 ESXi 主机的 IP 地址,backup_file
是用于还原的备份文件的名称。
例如:
vicfg-cfgbackup --server=10.0.0.1 --username=root -l ESXi_test1_backup.txt
适用于 Windows 的 vSphere CLI:
vicfg-cfgbackup.pl --server=10.0.0.1 --username=root -l ESXi_test1_backup.txt
注意:
- 运行此命令时,系统将提示您在继续之前进行确认。您可以使用
-q
选项替代此安全功能。 - 使用
--password=root_password
选项(其中,root_password
是主机的 root 密码)以避免在运行脚本时系统提示输入 root 用户密码。
要将 ESXi 主机还原为常用配置设置,请运行以下命令:
vicfg-cfgbackup --server=ESXi_host_IP_address --username=root -r
例如:
vicfg-cfgbackup --server=10.0.0.1 --username=root -r
使用 vSphere PowerCLI
注意:还原配置数据时,此主机的内部版本号必须与创建备份文件的主机的内部版本号匹配。使用 -force
选项可替代此要求。
- 运行以下命令,将主机置于维护模式:
Set-VMHost -VMHost ESXi_host_IP_address -State 'Maintenance'
其中,ESXi_host_IP_address
是 ESXi 主机的 IP 地址。
- 运行以下命令,从备份包还原配置:
Set-VMHostFirmware -VMHost ESXi_host_IP_address -Restore -SourcePath backup_file -HostUser username -HostPassword password
其中,ESXi_host_IP_address
是 ESXi 主机的 IP 地址,backup_file
是用于还原的备份包的名称,username
和 password
是对主机进行身份验证时使用的凭据。
例如:
Set-VMHostFirmware -VMHost 10.0.0.1 -Restore -SourcePath c:\bundleToRestore.tgz -HostUser root -HostPassword exampleRootPassword
使用 ESXi 命令行:
注意:还原配置数据时,主机的内部版本号必须与备份文件上的主机内部版本号匹配,同时主机的 UUID(可使用“esxcfg-info -u”命令获取)应与备份文件上的主机 UUID 匹配。
使用数值1作为强制选项以替代不匹配的 UUID。
示例:vim-cmd hostsvc/firmware/restore_config 1 /tmp/configBundle.tgz
- 运行以下命令,将主机置于维护模式:
vim-cmd hostsvc/maintenance_mode_enter
- 将备份配置文件复制到主机可访问的位置,并运行以下命令:
在此情况下,配置文件复制到主机的 /tmp 目录。有关详细信息,请参见 Using SCP to copy files to or from an ESX host (1918)。
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz
注意:执行此命令将在命令完成后启动主机的自动重新引导。