首页 > 代码库 > Openstack针对nova,cinder,glance使用ceph的虚拟机创建机制优化
Openstack针对nova,cinder,glance使用ceph的虚拟机创建机制优化
今天在开源中国社区看到有如下一个问题:
已经成功把ceph作为cinder和 glance的后端,但是如果作为nova的后端,虚拟机启动速度非常慢,网上查了一下是因为openstack创建虚拟机的时候通过ceph取镜像创建虚拟机再把虚拟机存回ceph的步骤浪费了很多时间,是否有办法不把镜像取到本地,而是直接在ceph的存储池里完成虚拟机的创建呢?
实际上,我当前也是把ceph作为nova,cinder,glance三者的后端,创建虚拟机速度非常慢。查了一下相关和资料,是有新的处理方式,当前openstack代码层面已经做了处理,但貌似还没有最终合入版本,也没有生成正式补丁。
大概原理如下:
1、nova无后端存储时,创建虚拟机时把glance上的镜像下载到虚拟化节点,并产生一个差异盘作为虚拟机的增量文件存放空间,生成第二台一样的虚拟机时,就只需要产生一个差异文件即可,使用的OS就是第一次下载到本地的镜像文件,所以速度回非常快;
2、当nova后端也使用ceph时,创建虚拟机需要把镜像文件从glance先下载到虚拟化节点,然后再上传到对应的nova后端ceph上,所以速度会慢很多;
3、Openstack的改进方案是在nova项目中增加了三个class,功能上当需要下载镜像时,通过nova调用ceph命令,直接在ceph存储层完成镜像拷贝动作(无需消耗太多的nova性能,也无需将镜像下载到hypervisor本地,再上传镜像到ceph),如此创建虚拟机时间将会大大提升。
转载,请注明出处。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。