我为朋友创建了一个 Linux 设备。这是一个小型 Ubuntu 安装,其中配置了 Trac、lighthttp 和 ufw。
我使用 VirtualBox 制作了它。
现在,我想导出最新的快照版本,其中所有内容都是安全的,并配置为原始磁盘映像以供 KVM 使用。
现在我想知道我是否浪费了几个小时的工作,因为我不明白如何导出。
我搜索过互联网,但材料数量太多,我还没有找到任何与我想要做的事情类似的描述。
是否可以?
答案1
我想我已经明白了。
步骤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
步骤 2) 好的,现在我们已经导出了整个磁盘状态。所以我们要做的就是将其转换为 KVM 可以理解的格式。
du -h /home/vm-exports/ubuntu-minimal.vdi
8.0G /home/vm-exports/ubuntu-minimal.vdi
它看起来像是磁盘的大小。
步骤3)
摆脱那个 8GB 的大 MOFO。让我们转换为 qcow 格式。
cd /home/vm-exports/
qemu-img convert -f raw ubuntu-minimal.vdi -O qcow2 ubuntu-minimal.qcow
步骤4)
使用 KVM 进行测试
kvm -m 512 -hda ubuntu-minimal.qcow
耶。成功了,开心的一天!
答案2
通常情况下,你会想要看看 virt-v2v,但据我所知它不支持 virtualbox。那么,为什么不直接将虚拟机映像到连接到基于 kvm 的虚拟机的类似大小的 v-disk 中呢?通过 netcat 进行 dd 是最基本的选择,但 clonezilla 似乎也是一个不错的解决方案