已经成功把ceph作为cinder和glance的后端,但是如果作为nova的后端,虚拟机启动速度非常慢,网上查了一下是因为openstack创建虚拟机的时候通过ceph取镜像创建虚拟机再把虚拟机存回ceph的步骤浪费了很多时间,是否有办法不把镜像取到本地,而是直接在ceph的存储池里完成虚拟机的创建呢?
我听说过有这个方案,请问有具体实现的操作吗??
我找过相关的文档,但是好像需要修改大量的nova后台代码。
我当前也是把ceph作为nova,cinder,glance三者的后端,创建虚拟机速度非常慢。查了一下相关和资料,是有新的处理方式,当前openstack代码层面已经做了处理,但貌似还没有最终合入版本,也没有生成正式补丁。
大概原理如下:nova无后端存储时,创建虚拟机时把glance上的镜像下载到虚拟化节点,并产生一个差异盘作为虚拟机的增量文件存放空间,生成第二台一样的虚拟机时,就只需要产生一个差异文件即可,使用的OS就是第一次下载到本地的镜像文件,所以速度回非常快;当nova后端也使用ceph时,创建虚拟机需要把镜像文件从glance先下载到虚拟化节点,然后再上传到对应的nova后端ceph上,所以速度会慢很多;Openstack的改进方案是在nova项目中增加了三个class,功能上当需要下载镜像时,通过nova调用ceph命令,直接在ceph存储层完成镜像拷贝动作(无需消耗太多的nova性能,也无需将镜像下载到hypervisor本地,再上传镜像到ceph),如此创建虚拟机时间将会大大提升。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
我听说过有这个方案,请问有具体实现的操作吗??
我找过相关的文档,但是好像需要修改大量的nova后台代码。
我当前也是把ceph作为nova,cinder,glance三者的后端,创建虚拟机速度非常慢。查了一下相关和资料,是有新的处理方式,当前openstack代码层面已经做了处理,但貌似还没有最终合入版本,也没有生成正式补丁。
大概原理如下:nova无后端存储时,创建虚拟机时把glance上的镜像下载到虚拟化节点,并产生一个差异盘作为虚拟机的增量文件存放空间,生成第二台一样的虚拟机时,就只需要产生一个差异文件即可,使用的OS就是第一次下载到本地的镜像文件,所以速度回非常快;当nova后端也使用ceph时,创建虚拟机需要把镜像文件从glance先下载到虚拟化节点,然后再上传到对应的nova后端ceph上,所以速度会慢很多;Openstack的改进方案是在nova项目中增加了三个class,功能上当需要下载镜像时,通过nova调用ceph命令,直接在ceph存储层完成镜像拷贝动作(无需消耗太多的nova性能,也无需将镜像下载到hypervisor本地,再上传镜像到ceph),如此创建虚拟机时间将会大大提升。