openstack使用cirros镜像创建vmware虚拟机
背景:
opesntack压力测试,需要支持并发创建200台虚拟机,若采用一般镜像,centos最小为700m,在vmware复制镜像文件时就会花费大量时间,成为瓶颈,因此需要创建最小镜像,以突破瓶颈。
调研方向:
从openstack官网找到测试专用的镜像cirros:
http://download.cirros-cloud.net/
但cirros提供的都是qcow2格式的镜像,还需要转换为vmdk格式才能被vmware识别。
操作步骤
- 首先下载cirros镜像: - http://download.cirros-cloud.net/0.3.5//cirros-0.3.5-x86_64-disk.img 
- 下载成功后使用qemu-img工具从qcow2转化为vmdk格式: - qemu-img convert -f qcow2 cirros-0.3.5-x86_64-disk.img \ -O vmdk cirros-0.3.5-x86_64-disk.vmdk
- 通过openstack接口创建镜像: - openstack image create \ --container-format bare --disk-format vmdk \ --property vmware_disktype="sparse" \ --property vmware_adaptertype="ide" \ cirros-x86_64 < cirros-0.3.5-x86_64-disk.vmdk- 注意,此处必须注明vmware的磁盘格式和适配器类型。 - 通过qemu-img转化来的vmdk磁盘文件通常都是单片稀疏(monolithic sparse)的,并且适配器类型是ide。 - 具体可以通过下面的命令查看 - $ head -20 <vmdk file name>- 下面是执行结果: - [root@controller ~]# head -20 cirros-0.3.5-x86_64-disk.vmdk KDMV # Disk DescriptorFile version=1 CID=61e4a14a parentCID=ffffffff createType="monolithicSparse" # Extent description RW 80325 SPARSE "cirros-0.3.5-x86_64-disk.vmdk" # The Disk Data Base #DDB ddb.virtualHWVersion = "4" ddb.geometry.cylinders = "79" ddb.geometry.heads = "16" ddb.geometry.sectors = "63" ddb.adapterType = "ide"- 可见, - createType="monolithicSparse"和- ddb.adapterType = "ide"。
然后就可以使用此镜像创建虚拟机了。
 
