中国领先的IT技术网站
|
|

OpenStack Kilo版本新功能分析—— Nova、Glance

OpenStack Kilo版本已经于2015年4月30日正式Release,这是OpenStack第11个版本,距离OpenStack项目推出已经整整过去了5年多的时间。虽然OpenStack在今年经历了一些初创型企业的倒闭,但是随着国内的传统行业用户对OpenStack越来越重视,我们坚信OpenStack明天会更好。

作者:来源:个人博客|2015-05-12 10:31

沙龙活动 | 去哪儿、陌陌、ThoughtWorks在自动化运维中的实践!10.28不见不散!


OpenStack Kilo版本新功能分析

Nova新功能

Nova Scheduler

  • 标准化了conductor,compute与scheduler的接口,为之后的接口分离做好准备
  • 对Scheduler做了一些优化,例如:Scheduler对于每一个请求都会重新进行Filters/Weighers,为了优化这个问题,将filter/weighter的初始化从handler移到scheduler,这样每次请求的时候都可以重新使用了。
  • 在下一个版本的时候,Scheduler将会分离到Gantt,所以在这个版本中为分离做了一些准备

Libvirt NFV相关功能

  • NUMA(Non Uniform Memory Architecture),在这个架构下,每个处理器都会访问“本地”的内存池,从而在CPU和存储之间有更小的延迟和更大的带宽。
  • 在Kilo版本中针对此功能的实现包括:基于NUMA的调度的实现;可以将vCPU绑定在物理CPU上;超大页的支持。以上提到的三点都是通过Flavor的Extra Spces完成定义的。

EC2 API

  • EC2 API被从Nova中踢出去了
  • 取而代之的是在stackforge的EC2 API转换服务

API Microversioning

先来解释一下为什么需要API的微版本:主要原因在于现在这种API扩展方式,对于API实现的代码的增加或减少管理非常不方便,容易导致不一致性。引入微版本主要目的就是让开发人员在修改API代码时能够向前兼容,而不是加入一个新的API扩展;用户通过指定API的版本,在请求时也能决定是使用的具体的动作。

包含版本的返回:

  1. GET / 
  2.  
  3.  
  4. "versions": [ 
  5.  
  6.  
  7. "id""v2.1"
  8.  
  9. "links": [ 
  10.  
  11.  
  12. "href""http://localhost:8774/v2/"
  13.  
  14. "rel""self" 
  15.  
  16.  
  17. ], 
  18.  
  19. "status""CURRENT"
  20.  
  21. "version""5.2" 
  22.  
  23. "min_version""2.1" 
  24.  
  25. }, 
  26.  
  27.  
  28. }1234567891011121314151617 

客户端的Header信息:

  1. X-OpenStack-Nova-API-Version: 2.1141 

一个已知的问题:Evacuate

这个问题的产生主要是因为Evacuate的清理机制,主机名的变化会导致nova-compute重启过程中误删所有虚拟机,所以一个变通的方法是设置

  1. destroy_after_evacuate=False1 

这个问题会在Liberty中得到修复,相关的Spec:https://review.openstack.org/#/c/161444/3/specs/liberty/approved/robustify_evacuate.rst

Glance新功能

  • 自动进行镜像格式转化,例如,Ceph是使用RAW格式的,假如我们上传的是QCOW2,创建虚拟机时,就会经历一番上传下载的过程,速度异常缓慢。而且RAW格式通常都是原始大小,上传时候非常慢,完全可以通过上传小镜像自动转换为指定格式。
  • Glance支持多字段排序
    1. /images?sort_key=status&sort_dir=asc&sort_key=name&sort_dir=asc&sort_key=created_at&sort_dir=desc1 
  • 临时将镜像设置为非活跃状态,假如一个镜像里有病毒,管理员就会将该镜像设置为非活跃状态,在清理后重新发布该镜像,在这个过程中,所有非管理员用户都无法使用或者下载这个镜像
  • 免重启动态加载配置文件,配置文件改动后重启服务,现在可以给glance服务发送SIGHUP触发,这样升级就可以零当机时间。
  • 使用多个Swift容器存储镜像,减少大规模部署时的请求瓶颈
     

【编辑推荐】

  1. OpenStack集群支持多虚拟化技术的实现方法
  2. 【博文推荐】OpenStack Neutron网络连通性测试指导
  3. 如何在OpenStack环境下进行容器编排
  4. OpenStack Kilo版本社区贡献分析
  5. OpenStack Kilo版本新功能分析——Horizon
【责任编辑:Ophira TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

《网管员必读——网络管理》

本书在全面介绍微软最新网络操作系统Windows Server 2003的基础上,简要地介绍了UNIX和Linux两大操作系统的代表产品:Sun(太阳)公司的Sol...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python最火的编程语言