温馨提示×

centos virtualbox如何迁移数据

小樊
40
2026-09-14 20:33:40
栏目: 智能运维

CentOS + VirtualBox 环境下,“迁移数据”通常有几种场景,我先按常见情况给你分类说明,你可以根据自己需要选择。


一、迁移 VirtualBox 虚拟机(整机迁移)

适合:把整台 CentOS 虚拟机从一台电脑搬到另一台

方法 1:使用 VirtualBox 导出 / 导入(推荐)

源机器:

# 关闭虚拟机
VBoxManage controlvm "CentOS" poweroff

# 导出为 OVA
VBoxManage export "CentOS" -o centos.ova

目标机器:

VBoxManage import centos.ova

✅ 优点:简单、跨平台
❌ 缺点:文件较大


方法 2:直接复制虚拟机文件

  1. 关闭虚拟机
  2. 复制以下目录:
    • CentOS.vdi(虚拟硬盘)
    • CentOS.vbox(配置文件)
  3. 在目标机器:
    • 新建虚拟机
    • 选择“使用已有虚拟硬盘”

二、只迁移 CentOS 中的数据(文件 / 数据库)

适合:只搬网站、代码、数据库等

方法 1:SCP(最常用)

scp -r /data user@目标IP:/data

方法 2:rsync(断点续传)

rsync -avz /data user@目标IP:/data

方法 3:共享文件夹(VirtualBox)

  1. 设置 → 共享文件夹
  2. CentOS 中挂载:
sudo mount -t vboxsf sharename /mnt/share

三、迁移数据库(如 MySQL / MariaDB)

# 导出
mysqldump -u root -p --all-databases > db.sql

# 传输
scp db.sql user@目标IP:/root

# 导入
mysql -u root -p < db.sql

四、迁移 Docker 数据(如用了容器)

# 备份
docker export container_id > centos.tar

# 恢复
docker import centos.tar

或备份 volume:

tar czf data.tar.gz /var/lib/docker/volumes

五、常见坑提醒

  • ❗ 迁移前一定 关机
  • UUID 冲突可用:
VBoxManage internalcommands sethduuid CentOS.vdi
  • 网络配置可能变化(IP / MAC)

如果你能告诉我:

  • 整机迁移 还是 只搬数据
  • 源和目标是否都是 VirtualBox
  • 数据类型(文件 / 数据库 / Docker)

我可以给你更精确的命令步骤

0