是否可以从OpenStack镜像创建AMI?

3

我正在从OpenStack运行的实例中创建一张图片

nova image-create <server-name>

我在想,这张图片能上传到EC2吗?还是说我需要基于它创建一个AMI?

有人可以指导我该如何操作吗?

1个回答

1
一眼看去,OpenStack镜像服务能够存储多种类型的镜像:
Raw
Machine (kernel/ramdisk outside of image, a.k.a. AMI)
VHD (Hyper-V)
VDI (VirtualBox)
qcow2 (Qemu/KVM)
VMDK (VMWare)
OVF (VMWare, others)

参考: http://www.openstack.org/projects/image-service/

基本上,您可以直接将 AMI 上传到 OpenStack。

示例:

KERNEL_ID=`glance image-create --name="tty-linux-kernel" --disk-format=aki --container-format=aki < ttylinux-uec-amd64-12.1_2.6.35-22_1-vmlinuz | awk '/ id / { print $4 }'`
INITRD_ID=`glance image-create --name="tty-linux-ramdisk" --disk-format=ari --container-format=ari < ttylinux-uec-amd64-12.1_2.6.35-22_1-loader | awk '/ id / { print $4 }'`
glance image-create --name="tty-linux" --disk-format=ami --container-format=ami --property kernel_id=${KERNEL_ID} --property ramdisk_id=${INITRD_ID} < ttylinux-uec-amd64-12.1_2.6.35-22_1.img

当对正在运行的实例执行image-create时

如果计算机配置为使用qcow2映像(默认设置),则只能从运行的实例创建映像。您可以通过将以下行添加到nova.conf来显式启用qcow2图像的使用:

但是假设您已经进行了配置,那么它将以AMI格式输出。

参考:

http://docs.openstack.org/trunk/openstack-compute/admin/content/creating-images-from-running-instances.html


那么,将图像转换为AMI以在EC2上运行是不可能的吗? - Pavan
1
OpenStack没有任何集成的图像转换功能。因此,如果图像一开始不是qcow格式,它就无法转换为AMI格式。如果图像是qcow格式,则将其快照作为AMI兼容图像。 - Matt Joyce
1
但是存储在 /opt/stack/data/glance/images 中的图像是 qemu qcow 镜像。因此,可以通过将其转换为 AMI,在 ec2 中用于启动实例? - Pavan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接