我正在尝试使用 uvtool 快速创建虚拟机。我曾经使用过 vmbuilder,但它似乎已被弃用,取而代之的是 uvtool(或者不是?)。
当使用 uvt 创建时,我的虚拟机定义了两个虚拟磁盘:
- 第一个文件名为 my-vm-name.qcow,其大小符合我要求的磁盘大小。其类型为 qcow2。
- 第二个文件名为 my-vm-name-ds.qcow,很小(几百 MB)。其类型为 raw。
第二张磁盘是什么?
[编辑] 我在 IRC 日志中发现了这一点:
[15:26] 第二个磁盘映像用于 cloud-init 数据源
[15:26] 它传递 cloud-init 用户数据和元数据。
但这对我来说仍然不清楚...它是做什么的。我可以简单地删除它吗?它应该与虚拟机一起备份吗?...
[EDIT2] 另一条信息似乎证实 vmbuilder 可能会被弃用,而使用 uvtool:https://bugs.launchpad.net/ubuntu/+source/auto-upgrade-testing/+bug/1261416
读取:由于无人维护,vm-builder 包可能会从 trusty 的档案中被拉出。
[EDIT3] 还有另一条信息,解释 cloud-init:http://blog.octo.com/cloudinit-kesako/这是法语。
答案1
回答我自己的问题:
my-vm-name-ds.qcow 有什么用处?
- uvtool 依赖 Ubuntu 云镜像快速创建运行 Ubuntu 的虚拟机
- uvtool(即 uvt-kvm)允许使用 cloud-init 框架与你正在创建的虚拟机进行交互
- cloud-init 需要一种方法来从您那里获取一些数据(您想要运行的脚本等):这就是 my-vm-name-ds.qcow 的用途
我可以删除 my-vm-name-ds.qcow 吗?
- 是的,你可以,但你必须在执行此操作之前从虚拟机中删除 cloud-init 包,否则 cloud-init 将卡在启动时
- 因此,要删除第二个磁盘,首先启动虚拟机并 apt-get purge cloud-init
- 然后,您可以从 VM 定义中删除磁盘(例如使用 virt-manager 或 virsh)
我为什么要删除该磁盘?
- 删除 clout-init 及其磁盘的令人信服的原因是它使用原始格式:这将阻止您使用 virt-manager 的快照功能!
- 删除 -ds.qcow 磁盘(实际上是原始格式)后,您将能够访问 vm shapshots 功能