分享

OpenStack Kilo版本新功能分析—— Cinder、Neutron、Keystone、Swift

yuwenge 发表于 2015-5-13 23:11:29 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 0 25458

导读
OpenStack Kilo版本已经于2015年4月30日正式Release,这是OpenStack第11个版本,距离OpenStack项目推出已经整整过去了5年多的时间。本文就Cinder、Neutron、Keystone、Swift几大模块的新功能进行分析。





Cinder新功能
  • 实现服务逻辑代码与数据库结构之间的解耦,支持Rolling更新
  • 一致性组是指具备公共操作的卷,逻辑上化为一组。在K版本中对增强一致性组的功能:可以添加、删除卷,从已经存在的快照创建新的组,关于一致性组的详细操作可以参考:http://docs.openstack.org/admin-guide-cloud/content/consistency-groups.html


[mw_shl_code=bash,true]cinder consisgroup-update
[--name NAME]
[--description DESCRIPTION]
[--add-volumes UUID1,UUID2,......]
[--remove-volumes UUID3,UUID4,......]
CG [/mw_shl_code]

[mw_shl_code=bash,true]cinder consisgroup-create-from-src
[--cgsnapshot CGSNAPSHOT]
[--name NAME]
[--description DESCRIPTION] [/mw_shl_code]

卷类型的增强功能主要包含两个:为某一项目创建私有的卷类型和为卷类型增加描述信息
[mw_shl_code=bash,true]cinder type-create --is-public

cinder type-create 12 [/mw_shl_code]


Neutron新功能

DVR支持OVS中的VLANs
新的V2版本的LBaas的API
新的插件的更新,详情请见更新日志中
一些高级服务的分离,例如:L3, ML2, VPNaaS, LBaaS
网络方面我不是权威,希望有高人能出来讲讲Kilo中的Neutron新功能。

Keystone新功能

项目嵌套,创建一个新的Project时候,可以指定parent的Project

[mw_shl_code=bash,true]POST /projects

{
    "project": {
        "description": "Project space for Test Group",
        "domain_id": "1789d1",
        "enabled": true,
        "name": "Test Group",
        "parent_id": "7fa612"
    }
} [/mw_shl_code]


  • Keystone与Keystone的联盟,有了这个功能两个或者更多的云服务提供者就可以共享资源,这个功能在J版本引入,在K版本中主要针对该功能的进一步增强,具体的使用方法可参考这篇博文:http://blog.rodrigods.com/playing-with-keystone-to-keystone-federation/
  • 针对新人授权的一些增强功能
  • keystone的配置中有部分配置发生了变化,例如:keystone.token.backends.memcache被keystone.token.persistence.backends.memcache取代,更多详细内容请参考更新日志

Swift新功能
  • 纠删码的加入应该是这个版本最大的亮点,但是纠删码作为beta版本发布,并不推荐应用于生产环境,关于纠删码的详细介绍可以参考:http://docs.openstack.org/developer/swift/overview_erasure_code.html
  • 复合型令牌,简而言之就是需要用户加上服务的Token才能对Swfit存放的内容进行操作,如下图所示:


[mw_shl_code=bash,true]client
   \
    \   <request>: <path-specific-to-the-service>
     \  x-auth-token: <user-token>
      \
    SERVICE
       \
        \    PUT: /v1/SERVICE_1234/<container>/<object>
         \   x-auth-token: <user-token>
          \  x-service-token: <service-token>
           \
          Swift [/mw_shl_code]

具体的设计文档:http://docs.openstack.org/developer/swift/overview_backing_store.html
  • 全局性的集群复制优化,大幅提高效率,避免经过广域网传播的数据




没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条