如何将特定的虚拟机快照导出为原始磁盘映像

Bry*_*unt 5 virtualbox snapshot diff export kvm-virtualization

我为我的朋友创建了一个 Linux 设备。这是一个小型的 Ubuntu 安装,配置了 Trac、lighthttp 和 ufw。

我是用 VirtualBox 做的。

现在我想导出最新的快照版本,其中所有内容都受到保护并配置为原始磁盘映像,以便与 KVM 一起使用。

现在我想知道我是否因为不知道如何导出而浪费了几个小时的工作。

我已经浏览了互联网,但材料数量巨大,而且我还没有找到与我想做的事情类似的描述。

是否可以?

Bry*_*unt 7

我想我已经想通了。

第1步)

转到快照目录。您可以通过咨询虚拟媒体管理器(ubuntu 下的 ctrl-D)找出哪些 uuid 编码的文件名指的是您的快照。

cd ~/.VirtualBox/Machines/ubuntu-minimal
VBoxManage clonehd 7020aee6-f3aa-49d1-805a-30a127132c90 /home/vm-exports/ubuntu-minimal.vdi -format raw
Run Code Online (Sandbox Code Playgroud)

步骤 2) 好的,现在我们已经导出了整个磁盘状态。所以我们所要做的就是将其转换为 KVM 可以理解的格式。

du -h /home/vm-exports/ubuntu-minimal.vdi
8.0G    /home/vm-exports/ubuntu-minimal.vdi
Run Code Online (Sandbox Code Playgroud)

它似乎是磁盘的大小。

步骤 3)

摆脱那个大的 8GB MOFO。让我们转换为 qcow 格式。

cd /home/vm-exports/
qemu-img convert -f raw ubuntu-minimal.vdi -O qcow2 ubuntu-minimal.qcow
Run Code Online (Sandbox Code Playgroud)

第四步)

让我们用 KVM 测试一下

kvm -m 512 -hda ubuntu-minimal.qcow
Run Code Online (Sandbox Code Playgroud)

好极了。它有效,快乐的日子!


dya*_*sny 1

通常,您想看看 virt-v2v,但据我所知它不支持 virtualbox。那么,为什么不直接将虚拟机映像到附加到基于 kvm 的虚拟机的类似大小的虚拟磁盘中呢?dd over netcat 是最基本的选择,但 Clonezilla 似乎也是一个不错的解决方案