是否可以从 OpenStack 获取虚拟机容器*?如何?我对获取 ovf 格式的容器特别感兴趣。
*容器格式是指虚拟机镜像是否为包含实际虚拟机元数据的文件格式。( http://docs.openstack.org/developer/glance/formats.html?highlight=ovf )
是否可以从 OpenStack 获取虚拟机容器*?如何?我对获取 ovf 格式的容器特别感兴趣。
*容器格式是指虚拟机镜像是否为包含实际虚拟机元数据的文件格式。( http://docs.openstack.org/developer/glance/formats.html?highlight=ovf )
ovf 似乎不受支持,但 vdi 支持,它是 Virtualbox 磁盘映像格式。因此,如果您的目标是将 openstack 虚拟机导入 Virtualbox,您也可以执行以下操作(Virtualbox 是否支持开箱即用的 qcow2 磁盘映像?):
我做了以下假设:您没有使用 cinder 作为您尝试导入 VirtualBox 的虚拟机的存储。
首先我们需要获取要导入的虚拟机的实例名称:
nova list
nova show <uuid of instance you want to export>
# Note down the name of the instance which should be something like instance-00000xx
现在我们需要去存储实例的实际位置
cd /var/lib/nova/instances/instance-00000xx # change this to actual instance name
qemu-img convert -O vdi disk virtual-box-disk.vdi
现在您可以转到创建新虚拟机并选择使用现有磁盘:virtual-box-disk.vdi。
尚未验证这是否可行。如果您在 devstack 或不同的操作系统上,路径也可能不同。
在 Icehouse 中,步骤略有不同:
$ nova list --all-tenants | grep somevm
| 1aa2252f-cc62-4581-94a6-73a836e5491c | somvm | 63ce0c9526474e34b59fbcf6bb8b9cc2 | ACTIVE | - | Running | qalt-net=192.168.122.30, 10.128.13.171 |
然后,您可以获取第一个字段,即 VM 的 ID,它存在于此目录中:/var/lib/nova/instances
.