如何备份 ESXi 主机配置
search cancel

如何备份 ESXi 主机配置

book

Article ID: 344720

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免责声明:本文为 How to back up ESXi host configuration (2042141) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。



本文提供使用 vSphere 命令行界面 (vSphere CLI) 和 vSphere PowerCLI 备份和还原 ESXi 主机配置的步骤。


Symptoms:


Environment

VMware vSphere ESXi 5.5
VMware vSphere ESXi 5.0
VMware ESXi 4.1.x Embedded
VMware vSphere ESXi 6.0
VMware ESXi 4.0.x Embedded
VMware vSphere ESXi 5.1
VMware ESXi 4.0.x Installable
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 6.5

Resolution

备份 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 主机的配置数据,请执行以下步骤:
  1. 关闭要还原的主机上正在运行的所有虚拟机的电源。
  2. 登录到安装了 vCLI 的服务器。
  3. 运行带 -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 选项可替代此要求。

  1. 运行以下命令,将主机置于维护模式:

    Set-VMHost -VMHost ESXi_host_IP_address -State 'Maintenance'

    其中,ESXi_host_IP_address 是 ESXi 主机的 IP 地址。


  2. 运行以下命令,从备份包还原配置:

    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


  1. 运行以下命令,将主机置于维护模式:

    vim-cmd hostsvc/maintenance_mode_enter

  2. 将备份配置文件复制到主机可访问的位置,并运行以下命令:

    在此情况下,配置文件复制到主机的 /tmp 目录。有关详细信息,请参见 Using SCP to copy files to or from an ESX host (1918)
vim-cmd hostsvc/firmware/restore_config /tmp/configBundle.tgz

注意:执行此命令将在命令完成后启动主机的自动重新引导。


Additional Information

注意:有关虚拟机的信息不会存储在配置备份中,且必须在配置备份还原后从数据存储浏览器中将虚拟机重新列入清单。此外,引导槽信息也不会存储在配置备份中。如果需要,必须以压缩的 tar 文件形式单独备份和下载此信息。

有关详细信息,请参见: 注意:如果已安装了 5.1 版本以上的 vSphere,请参见 VMware 文档库中有关该版本的命令行文档和 PowerCLI 参考。

PowerCLI 说明
  • 请注意,PowerCLI 的 64 位版本安装在 C:\Program Files 下,32 位版本安装在 C:\Program Files (x86) 下。
  • 务必以管理员身份运行 PowerCLI。
要在更新本文时收到提醒,请在“Actions”框中单击 Subscribe to Article。