第 22 章 备份和恢复虚拟机


如果您的当前主机不可用或无法正常工作,请确保您不会丢失虚拟机的设置和数据,请备份虚拟机的配置和存储。之后,对于灾难恢复,您可以创建一个使用备份的配置和存储的新虚拟机。

注意

如果您计划创建备份以便在主机正常工作时恢复虚拟机,则使用快照可能更为有效。详情请参阅 使用快照保存和恢复虚拟机状态

22.1. 备份虚拟机

如果您的当前主机不可用或无法正常工作,请不要丢失虚拟机的设置和数据,请备份虚拟机的配置和磁盘。这可让您稍后在功能主机上恢复备份。

流程

  1. 将虚拟机的 XML 配置保存到单独的文件中。例如,要将 testguest1 虚拟机的配置保存到 /home/backup/testguest1-backup.xml 文件中,请使用以下命令:

    # virsh dumpxml testguest1 > /home/backup/testguest1-backup.xml
  2. 备份虚拟机的磁盘。为此,请使用 virsh backup-begin 工具。
  3. 可选:自定义备份设置。默认情况下,libvirt 在与原始磁盘相同的目录中的虚拟机中创建所有磁盘的副本。如果要对备份使用不同的配置,请使用所需设置创建一个 XML 文件。例如:

    <domainbackup>
      <disks>
        <disk name='vda' backup='yes'/>
        <disk name='vdb' type='file'>
          <target file='/home/backup/vdb.backup'/>
          <driver type='raw'/>
        </disk>
        <disk name='vdc' backup='no'/>
      </disks>
    </domainbackup>

    此示例配置确保 vda 磁盘使用 libvirt 默认值备份,vdb 磁盘以 raw 格式备份为 /home/backup/vdb.backup,并且 vdc 磁盘没有备份。

  4. 启动虚拟机。

    # virsh start <vm_name>
  5. 使用 virsh backup-begin 工具备份虚拟机磁盘。以下命令使用默认的备份设置,它会创建虚拟机使用的所有磁盘的副本,并将它们保存在与原始磁盘相同的目录中

    # virsh backup-begin <vm-name>

    另外,要应用自定义备份设置,您可以指定之前创建的备份 XML 配置。

    # virsh backup-begin <vm-name> --backupxml <backup-XML-location>

验证

  1. 确保备份操作已完成。

    # virsh domjobinfo <vm-name> --completed

    成功输出示例:

    Job type:         Completed
    Operation:        Backup
    Time elapsed:     20704 ms
    File processed:   40.000 GiB
    File remaining:   0.000 B
    File total:       40.000 GiB
  2. 检查备份磁盘的目标位置。例如,如果您使用默认的备份配置,且虚拟机磁盘位于默认的 /var/lib/libvirt/images/ 目录中,请使用以下命令:

    # ls -l /var/lib/libvirt/images

    成功输出示例:

    -rw-------. 1 qemu qemu 42956488704 Oct 10 15:49 RHEL_10_beta.qcow2
    -rw-------. 1 root root 42956488704 Oct 29 16:12 RHEL_10_beta.qcow.21761750144
    -rw-------. 1 qemu qemu      196688 Oct 10 15:49 extra-storage.qcow2
    -rw-------. 1 root root 196688 Oct 29 16:12 extra-storage.qcow2.1761750144

后续步骤

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部