Glance Create Image from Existent Image in Ceph

当使用 Ceph + Glance 时 , 镜像需要使用 RAW 格式 , 这会导致创建镜像时非常的慢 。 有的时候 , 也需要把 Ceph 中现有的镜像导入到 Glance 中 。 这时可以使用 --location 参数来指定镜像所在的远程位置 。 也就可以使用现有的 Ceph 镜像来快速创建 。

可以先用 rbd 上传镜像 , 转换格式 ( 也会比较慢 , 还不如直接上传 RAW 格式的镜像 )。 然后再做好对应的 snap , 并加以保护 。 是后一步的 location 必须按格式写 ( 见 [0]), 这样才会使用 rbd 的 COW clone 功能 。

# image format 2 support layering
rbd --image-format 2 import /tmp/ubuntu14.04.2.dsk $uuid

# Convert to raw image type
qemu-img convert -O raw rbd:$pool/$uuid rbd:$pool/$uuid

# Make Snapshot and protect it which is require by image clone in nova libvirt.
rbd --pool images snap create --snap snap $uuid
rbd --pool images snap protect --image $uuid --snap snap

# Create Image in Glance
glance image-create --id $uuid --name ubuntu14.04.2 --disk-format raw --container-format bare --is-public True --location rbd://$fsid/images/$uuid/snap

REF

Comments