第 13 章 使用快照保存和恢复虚拟机状态
要保存虚拟机的当前状态,您可以创建一个虚拟机的 快照。之后,您可以恢复到快照,来将虚拟机返回到保存的状态。
VM 快照包含虚拟机的磁盘镜像。如果您从正在运行的虚拟机创建一个快照(也称为 实时快照),则快照还包含虚拟机的内存状态,其中包括正在运行的进程和应用程序。
例如,对于以下任务,创建快照可能很有用:
- 保存客户机操作系统的干净状态
- 确保您在对虚拟机执行具有潜在的破坏性操作之前有一个恢复点
13.1. 对虚拟机快照的支持限制
红帽仅在使用 external 快照时支持对 RHEL 上虚拟机(VM)的快照功能。目前,只有在满足以下要求时,才能在 RHEL 上创建外部快照:
- 您的主机使用 RHEL 9.4 或更高版本。
- 虚拟机使用基于文件的存储。
您只能在以下场景之一创建虚拟机快照:
- 虚拟机已关闭。
-
如果虚拟机正在运行,您可以使用
--disk-only --quiesce
选项或--live --memspec
选项。
大多数其他配置会创建 内部 快照,它们在 RHEL 9 中已弃用。内部快照可能适用于您的用例,但红帽不提供对它们的全面测试和支持。
警告
不要在生产环境中使用内部快照。
要确保快照被支持,请显示快照的 XML 配置,并检查快照类型和存储:
# virsh snapshot-dumpxml <vm-name> <snapshot-name>
支持的快照的输出示例:
<domainsnapshot> <name>sample-snapshot-name-1<name> <state>shutoff</state> <creationTime>1706658764</creationTime> <memory snapshot='no'/> <disks> <disk name='vda' snapshot='external' type='file'> <driver type='qcow2'/> <source file='/var/lib/libvirt/images/vm-name.sample-snapshot-name-1'/> </disk> </disks> <domain type='kvm'> [...]
不支持的快照的输出示例:
<domainsnapshot> <name>sample-snapshot-name-2</name> <state>running</state> <creationTime>1653396424</creationTime> <memory snapshot='internal'/> <disks> <disk name='vda' snapshot='internal'/> <disk name='sda' snapshot='no'/> </disks> <domain type='kvm'> [...]