首页主机资讯CentOS下如何备份VirtualBox虚拟机

CentOS下如何备份VirtualBox虚拟机

时间2025-12-11 20:53:03发布访客分类主机资讯浏览545
导读:CentOS 宿主机上备份 VirtualBox 虚拟机的实用方案 一、方法总览与选择建议 快照(Snapshot):适合短期回滚(如补丁、升级前),操作最快,但依赖原磁盘链,长期保留和跨主机迁移不友好。 导出为 OVF/OVA:适合迁...

CentOS 宿主机上备份 VirtualBox 虚拟机的实用方案


一、方法总览与选择建议

  • 快照(Snapshot):适合短期回滚(如补丁、升级前),操作最快,但依赖原磁盘链,长期保留和跨主机迁移不友好。
  • 导出为 OVF/OVA:适合迁移与长期归档,一份文件(或一组文件)即可在任意主机导入恢复,推荐作为主备手段。
  • 手动复制虚拟机目录:灵活、可配合 rsync/ tar 做增量与异地备份,适合有自定义存储布局与自动化需求的场景。

二、方法一 快照 快速回滚(适合临时保护)

  • 操作路径
    • 图形界面:选中虚拟机 → 点击顶部或侧边的快照拍摄快照(填写名称与描述)。
    • 命令行:VBoxManage snapshot “< VM 名称> ” take “< 快照名> ” --description “< 描述> ”
  • 恢复
    • 图形界面:快照列表中选择目标快照 → 恢复
    • 命令行:VBoxManage snapshot “< VM 名称> ” restore “< 快照名> ”
  • 说明
    • 快照保存的是“差异链”,便于快速回滚;但长期保留多个快照会影响性能与占用空间。
    • 迁移到其他主机时,通常不携带快照链,建议用导出方式迁移。

三、方法二 导出为 OVF/OVA 迁移与归档(推荐)

  • 导出步骤
    • 图形界面:管理 → 导出虚拟电脑 → 选择虚拟机 → 选择保存位置与格式(OVF/OVA)→ 导出。
    • 命令行:VBoxManage export “< VM 名称> ” -o “< 导出路径/xxx.ova> ”
  • 导入步骤
    • 图形界面:管理 → 导入虚拟电脑 → 选择 .ovf/.ova → 导入。
    • 命令行:VBoxManage import “< xxx.ova> ”
  • 迁移与校验要点
    • 若导出时勾选了包含 ISO 光盘镜像,迁移后需确保 .ovf 中引用的 ISO 路径正确,或在导入前把 ISO 放到指定目录并更新引用。
    • 导入后如网络不可用,检查管理 → 工具 → 网络管理器中的虚拟网卡配置(如 Host-Only/NAT)。

四、方法三 手动复制虚拟机目录 配合 rsync 或 tar 做增量备份

  • 定位虚拟机目录
    • 图形界面:选中虚拟机 → 设置 → 常规 → 高级 → 查看/复制虚拟机文件夹路径。
    • 命令行:VBoxManage showvminfo “< VM 名称> ” | grep -i “Config file” 得到 .vbox 配置路径,其所在目录即为虚拟机目录。
  • 备份与恢复
    • 全量打包:tar czf vm_backup_$(date +%F).tar.gz -C “< 虚拟机目录> ” .
    • 增量同步:rsync -aAX --delete “< 虚拟机目录> /” “< 备份目标目录> /”
  • 注意事项
    • VDI 虚拟磁盘有唯一 UUID,直接复制后可能无法在新环境中注册。可用命令行克隆生成新 UUID:
      • VBoxManage clonehd “< 原VDI> ” “< 新VDI> ”
    • 若虚拟机使用快照,建议先“删除/合并快照”为单一磁盘再备份,避免依赖链复杂化迁移。

五、自动化与异地备份示例脚本

  • 快照 + 导出 OVA 的自动化
    • 示例脚本(按需修改 VM 名称与路径):
      • #!/usr/bin/env bash set -e VM=“centos7-test” TS=$(date +%F_%H%M%S) BACKUP_DIR=“/backup/vm/${ VM} ” mkdir -p “$BACKUP_DIR”

        1) 快照

        VBoxManage snapshot “$VM” take “backup_${ TS} ” --description “Auto backup ${ TS} ”

        2) 导出 OVA

        VBoxManage export “$VM” -o “${ BACKUP_DIR} /${ VM} _${ TS} .ova”

        3) 可选:清理 7 天前的快照(谨慎,确保业务允许)

        VBoxManage snapshot “$VM” list | awk ‘/^Name: backup_/ { split($2,a,“_”); if (a[2] < "’$(date -d ‘7 days ago’ +%F)‘") print $2} ’ | xargs -r -I{ } VBoxManage snapshot “$VM” delete “{ } ”

    • 定时任务(每天 2 点):
      • 0 2 * * * /usr/local/bin/vm_backup.sh > > /var/log/vm_backup.log 2> & 1
  • 异地/离线拷贝
    • 若备份介质为 U 盘/移动硬盘,注意文件系统:FAT32 不支持单个大于 4GB文件,建议用 exFAT/NTFS
    • 拷贝完成后做大小与数量校验,并在目标主机做一次导入验证

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS下如何备份VirtualBox虚拟机
本文地址: https://pptw.com/jishu/769770.html
VirtualBox虚拟机在CentOS中如何进行磁盘克隆 CentOS SSH连接不稳定怎么回事

游客 回复需填写必要信息