Red Hat Training

A Red Hat training course is available for RHEL 8

第 7 章 保存和恢复虚拟机

要释放系统资源,您可以关闭该系统中运行的虚拟机(VM)。然而,当您再次需要虚拟机时,您必须引导客户端操作系统(OS)并重启应用程序,这可能需要大量时间。要减少这个停机时间并让虚拟机工作负载更早开始运行,您可以使用保存和恢复功能来完全避免操作系统关闭和引导序列。

本节提供有关保存虚拟机的信息,以及在没有完全引导虚拟机的情况下将虚拟机恢复到同一状态的信息。

7.1. 保存和恢复虚拟机的工作方式

保存虚拟机(VM)会将其内存和设备状态保存到主机的磁盘中,并立即停止虚拟机进程。您可以保存处于运行状态或暂停状态的虚拟机,在恢复后,虚拟机将返回到那个状态。

这个过程释放了主机系统中的 RAM 和 CPU 资源以交换磁盘空间,这样可提高主机系统的性能。当虚拟机被恢复时,因为不需要引导客户机操作系统,也避免使用较长的启动周期。

要保存虚拟机,您可以使用命令行界面(CLI)。具体步骤请参阅使用命令行界面保存虚拟机

要恢复虚拟机,您可以使用 CLIWeb 控制台 GUI

7.2. 使用命令行界面保存虚拟机

要使用命令行保存虚拟机,请按照以下步骤执行。

先决条件

  • 确保有足够的磁盘空间来保存虚拟机及其配置。请注意,虚拟机消耗的空间取决于分配给该虚拟机的 RAM 量。
  • 确保虚拟机具有持久性。
  • 可选: 根据需要备份虚拟机中的重要数据。

流程

  • 使用 virsh managedsave 工具。

    例如,以下命令可停止 demo-guest1 虚拟机并保存其配置。

    # virsh managedsave demo-guest1
    Domain demo-guest1 saved by libvirt

    保存的虚拟机文件默认位于 /var/lib/libvirt/qemu/save 目录中,即 demo-guest1.save

    下次启动虚拟机时,它将自动从上述文件中恢复保存的状态。

验证

  • 您可以确保虚拟机处于保存的状态,或使用 virsh list 实用程序关闭。

    要列出已启用了保存的受管虚拟机,请使用以下命令。列为 saved 的虚拟机启用了受管保存。

    # virsh list --managed-save --all
    Id    Name                           State
    ----------------------------------------------------
    -     demo-guest1                    saved
    -     demo-guest2                    shut off

    列出具有受管保存镜像的虚拟机:

    # virsh list --with-managed-save --all
    Id    Name                           State
    ----------------------------------------------------
    -     demo-guest1                    shut off

    请注意,要列出处于关闭状态的保存的虚拟机,则必须使用 --all--inactive 选项。

故障排除

  • 如果保存的虚拟机文件变得损坏或不可读,恢复虚拟机将启动标准虚拟机引导。

其它资源

7.3. 使用命令行界面启动虚拟机

您可以使用命令行界面启动关闭虚拟机(VM)或恢复保存的虚拟机。按照以下步骤操作。

先决条件

  • 已定义的一个不活跃地虚拟机。
  • 虚拟机的名称。
  • 对于远程虚拟机:

    • 虚拟机所在主机的 IP 地址。
    • 对主机的 root 访问权限。

流程

  • 对于本地虚拟机,使用 virsh start 工具。

    例如,以下命令启动 demo-guest1 虚拟机。

    # virsh start demo-guest1
    Domain demo-guest1 started
  • 对于位于远程主机上的虚拟机,使用 virsh start 工具以及到主机的 QEMU+SSH 连接。

    例如,以下命令在 192.168.123.123 主机上启动 demo-guest1 虚拟机。

    # virsh -c qemu+ssh://root@192.168.123.123/system start demo-guest1
    
    root@192.168.123.123's password:
    Last login: Mon Feb 18 07:28:55 2019
    
    Domain demo-guest1 started

其它资源

  • 对于更多 virsh start 参数,请使用 virsh start --help
  • 有关简化远程主机上的虚拟机管理,请参阅修改 libvirt 和 SSH 配置
  • 您可以使用 virsh autostart 工具配置虚拟机,以便在主机引导时自动启动。有关 autostart 的详情请参考 virsh autostart 帮助页。

7.4. 使用 web 控制台启动虚拟机

如果虚拟机(VM)处于关闭状态,您可以使用 RHEL 8 web 控制台启动它。

先决条件

流程

  1. Virtual Machines 接口中,点您要启动的虚拟机行。

    行会展开,以显示有关所选虚拟机以及用于关闭和删除虚拟机的基本信息 Overview 窗格。

  2. Run

    虚拟机启动,您可以连接到其控制台或图形输出

  3. 可选:要将虚拟机设置为在主机启动时自动启动,点 Autostart 复选框。

其它资源


为了尽快向用户提供最新的信息,本文档可能会包括由机器自动从英文原文翻译的内容。如需更多信息,请参阅此说明。