在原生 KVM 及基于 KVM 的平台上备份虚拟机
2026-04-30
服务器虚拟化技术极大地提高了物理服务器资源的利用率。目前主流的虚拟机监控程序包括 ESXi、Hyper-V、KVM、Xen 等。其中,ESXi 最为流行,而 KVM 凭借其快速、经济等优势,也吸引了大量用户。
虚拟机备份始终是IT管理员必备的技能,您可以使用以下章节中的KVM备份脚本,来保护虚拟环境中的数据。
如何在 KVM 中创建快照以实现短期备份?
快照可视为一种快速备份方式,通常在为系统打补丁或升级前创建,用于保存虚拟机(包括运行状态、内存等内容)的当前状态。从快照恢复虚拟机后,虚拟机将回退至创建快照时的状态。
创建快照所需时间远少于创建备份,且在恢复虚拟机时,快照的工作方式与备份类似;但仍然建议对 KVM 虚拟机执行备份。使用快照恢复 KVM 虚拟机依赖于虚拟机文件和快照文件两者,因此无法从严重灾难中恢复虚拟机。此外,长时间(超过 72 小时)保存快照会增加虚拟机负载,并影响其性能。因此,KVM 快照 是一项有用功能,但需正确将其用作备份手段。
在 KVM 环境中创建快照备份 需要使用 virsh 命令。只需输入以下命令:
virsh snapshot-create-as domain snapshot-name
域名是 KVM 虚拟机的名称,快照名称是您为该快照指定的名称。
要查看 KVM 虚拟机快照列表,请键入以下命令:
virsh snapshot-list domain
要从 KVM 虚拟机快照恢复虚拟机,请键入以下命令:
virsh snapshot-revert domain snapshot-name
要删除一个 KVM 虚拟机快照,请键入以下命令:
virsh snapshot-delete domain snapshot-name
如何使用命令行为 KVM 创建备份?
Virsh 命令还可用于导出虚拟机配置和虚拟硬盘,您可利用这些命令创建新的虚拟机。
要导出虚拟机配置,请键入以下命令:
# virsh dumpxml vm_name > /etc/libvirt/qemu/vm_name_backup.xml
Vm_name 是 KVM 虚拟机的名称,最后部分是您希望存储配置文件的目录。
要查看虚拟硬盘目录,请键入以下命令:
# virsh domblklist vm_name
要复制虚拟硬盘,请键入以下命令:
# cp /var/lib/libvirt/images/vm_name.qcow2 /var/lib/libvirt/images/vm_name_backup.qcow2
请将此命令中的目录替换为您已确认的实际目录。
要修改配置文件,请输入以下命令:
# vim /etc/libvirt/qemu/vm_name_backup.xml
注意:由于虚拟机尚未注册,不支持使用 virsh 进行编辑,仅可通过 vi/vim 编辑。
需要修改的内容:
1. 元数据
将 vm_name 更改为 vm_name_backup
2. UUID
修改任意数字,使其与原始数字不同
3. 虚拟磁盘标签
切换到新目录
4. VNC 端口
VNC 端口必须唯一
要注册虚拟机,请键入以下命令:
# virsh define /etc/libvirt/qemu/vm-name_backup.xml# virsh start vm_name_backup
如何通过命令行克隆 KVM 虚拟机?
virt-clone 是用于克隆 KVM 虚拟机的命令行工具。在使用该工具克隆虚拟机之前,请确保目标虚拟机处于关机状态。
例如,如果您在 Red Hat 虚拟化环境中有一个名为 demo 的 QEMU 虚拟机,请输入以下命令来克隆它:
# virt-clone --connect qemu:///system --original demo --name newdemo --file /var/lib/libvirt/images/newdemo.img --file /var/lib/libvirt/images/newdata.img
如需执行简单的自动克隆,请键入以下命令:
# virt-clone --original demo --auto-clone
如何简单地在基于 KVM 的平台上备份和恢复虚拟机?
在原生 KVM 上备份虚拟机可能耗时较长,但您可通过更优方案实现基于 KVM 平台的虚拟机备份。Vinchin 备份与恢复 是一款专为基于 KVM 的平台(如 Proxmox、oVirt、Oracle Linux KVM、Red Hat Virtualization 等)设计的专业备份与灾难恢复解决方案。(当前暂不支持原生 KVM)
所有虚拟机备份与恢复任务的配置均通过用户友好的网页控制台向导完成。您只需将主机添加到 Vinchin 备份服务器中,即可无需安装代理程序,直接备份该主机上的任意虚拟机。
此外,Vinchin 备份与恢复软件还可帮助您管理异构虚拟化环境,支持在不同虚拟化平台之间迁移虚拟机。
以下是备份 Proxmox 虚拟机的示例:
1. 选择 Proxmox 虚拟机
2. 选择备份存储位置
3. 选择备份策略
4. 提交任务
您可以使用60天全功能免费试用版尝试此解决方案。只需几分钟即可在您的虚拟环境中完成部署。
下载免费试用版
适用于多种数据备份
* 15天全功能免费安全下载
KVM 备份常见问题解答
1. KVM 备份可以实现自动化吗?
是的,您可以使用脚本来自动备份 KVM 虚拟机,但建议使用 Vinchin 备份与恢复等专业备份解决方案,以更好地保护数据。
2. 应该多久备份一次 KVM 虚拟机?
这取决于您的恢复点目标(RPO)要求。通常情况下,企业可每周执行一次完整的虚拟机备份,每天执行一次增量备份。对于关键工作负载,您可以使用持续数据保护解决方案对其进行保护。
3. 您能否仅从 KVM 备份中恢复文件?
是的,Vinchin 细粒度恢复功能可帮助您从 KVM 虚拟机备份中提取文件,然后将这些文件恢复到您指定的位置。
结论
KVM 越来越受欢迎,而 KVM 备份始终必不可少。要执行备份,您可以使用本文中提供的命令来备份和克隆虚拟机。
手动输入命令的操作流程可能较为繁琐。您可以使用 Vinchin 备份与恢复软件,轻松为基于 KVM 平台的虚拟机配置备份和恢复任务,大幅提升工作效率。立即免费试用,切勿错过!