常识来了
白蓝主题五 · 清爽阅读
首页  > 网络排错

虚拟机怎么备份?这几种方法亲测好用

上周同事小李手一抖,把测试环境的 CentOS 虚拟机给 rm -rf 了系统盘,还好他前一天刚用 VMware 的快照功能打了个点,双击还原,三分钟就满血复活。这事让我想起——很多人其实根本没搞懂虚拟机怎么备份,总以为关机复制个 .vmdk 文件就完事了,结果恢复时发现启动不了、网卡没了、时间错乱……

别只复制文件,虚拟机不是U盘

常见误区:直接在资源管理器里把整个虚拟机文件夹(比如 Ubuntu.vmx、Ubuntu.vmdk)复制到移动硬盘。看似省事,但风险不小:
• 如果虚拟机正在运行,.vmdk 可能被锁定或处于非一致性状态;
• 忘记复制 nvram、snapshot 子目录,下次开机 BIOS 设置全丢;
• 不同版本 VMware Workstation 或 VirtualBox 对配置文件格式有差异,跨平台迁移容易报错。

靠谱的备份方式,按场景选

① 快照(Snapshot)——适合日常调试和短期回滚
这是最轻量、最常用的方法,尤其适合开发/测试环境。
操作路径(以 VMware Workstation 为例):
右键虚拟机 → 快照拍摄快照 → 填个名字,比如「装完 Docker 后」、「改完 Nginx 配置前」。
注意:快照不是备份!它依赖原始磁盘文件,一旦 .vmdk 损坏,所有快照都失效。建议配合定期导出使用。

② 导出为 OVF/OVA —— 标准化、可移植的备份
这是真正意义上的“打包备份”,兼容性好,VirtualBox、VMware、ESXi 都认。
操作步骤:
菜单栏 → 文件导出为 OVF → 选择保存位置 → 等待完成(会生成 .ovf + .vmdk + .mf 三个文件)。
恢复时:新建虚拟机 → 选择 导入 OVF → 指向 .ovf 文件即可。

③ 使用 rsync 做增量同步(Linux 主机上)
如果你在 Linux 下跑 KVM 或 VirtualBox,又习惯命令行,可以写个简单脚本定时同步:

rsync -av --delete /var/lib/libvirt/images/myvm.qcow2 /backup/vm/ && \
virsh shutdown myvm && \
rsync -av --delete /etc/libvirt/qemu/myvm.xml /backup/vm/

关键点:先关机再同步配置文件(XML),避免元数据不一致。

几个不能忽略的细节

备份前务必关机或挂起——除非你明确知道某工具支持热备(如 Veeam Backup for VMware);
检查磁盘模式:IDE/SATA/SCSI 影响驱动加载,导出前最好设成默认兼容模式;
清理临时文件:快照多了会吃空间,定期合并或删除不用的快照;
验证备份有效性:每月挑一个备份,在另一台机器上导入启动一次,别等到真出事才试。

最后提醒一句:备份不是目的,能快速恢复才是。与其堆一堆没验证过的 .vmdk 文件,不如每周花五分钟导出一个 OVA,存在 NAS 或阿里云 OSS 上,手机都能一键下载还原。