zoukankan      html  css  js  c++  java
  • 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),如此创建虚拟机时间将会大大提升。


    转载,请注明出处。


  • 相关阅读:
    上传按钮样式优化 <input type="file" />
    javascript多重继承
    javascript prototype和__proto__
    Android开发之通过Intent启动其他App的Service
    Android开发之bindService()侦听service内部状态
    Android 开发之 bindService() 通信
    Android开发之异步消息处理机制AsyncTask
    Android开发之异步消息处理机制Handler
    Android开发UI之在子线程中更新UI
    Android开发之在子线程中使用Toast
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6921382.html
Copyright © 2011-2022 走看看