热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OpenStackQ版本新功能以及各核心组件功能对比

OpenStackQ版本已经发布了一段时间了。今天,小编来总结一下OpenStackQ版本核心组件的各项主要新功能,再来汇总一下最近2年来OpenStackN、O、P、Q各版本核心

OpenStack Q版本已经发布了一段时间了。今天, 小编来总结一下OpenStack Q版本核心组件的各项主要新功能, 再来汇总一下最近2年来OpenStack N、O、P、Q各版本核心组件的主要新功能。仅供参考, 如有遗漏、错误请指正。

1.1         Q版新功能总结

Q版相对于P版, 主要还是各功能的增强和优化, 其中主要功能有: 计算组件中的vGPU支持、冷迁移至指定主机、PCI NUMA亲和性、卷共享等,镜像组件中的web方式导入镜像, 网络组件中的浮动IP QoS、DVR/DHCP增强,块存储组件中的异步克隆卷,编排组件中对Octavia lbaas的编排和对项目标签的编排。

以上功能中计算的vGPU、冷迁移指定主机、PCI NUMA亲和性、卷共享以及网络的浮动IP限速在NFV和边缘计算场景比较有用。另外, 从API角度来看, 变化不大, 废弃了部分老API版本,API版本支持情况可以参考文末的附表。

1.1.1 重要功能汇总如下:

身份认证(keystone): 新增统一配额管理, 提供对用户的第三方应用程序进行身份注册和认证服务, 增加新的作用域: 系统级。

计算(Nova): 新增虚拟机对vGPU的支持, 冷迁移时可以指定主机, 支持PCI设备的NUMA亲和性, 支持挂载1个卷到多个虚拟机上。

镜像(Glance): 交互式镜像导入中增加web-download方式

网络(Neutron): 支持浮动IP的QoS限速, 增加新的DVR agent type: dvr_no_external。

块存储(Cinder): 支持异步克隆卷。

编排(Heat): 支持当栈创建/更新取消时进行回滚, 支持Octavia lbaas和项目的标签。

OpenStack各版本核心组件重要新增功能汇总

1.2         身份认证Keystone

1.2.1 Q版新功能:

1、新增: 统一配额管理, 把各模块单独的配额限制控制移到keystone统一管理, 并新增对应的API。该功能目前为试验性质的。

2、新增: 提供对用户的第三方应用程序进行身份注册和认证服务(Application Credentials)。

3、新增: 增加新的作用域(scope): 系统(system)。现在作用域分为三级: 系统(system), 域(domain), 项目(project)。

4、新增: 支持项目的标签, 用于过滤和搜索

5、废弃: policies API。Keystone目前不做策略管理。

6、废弃: /OS-FEDERATION/projects, /OS-FEDERATION/domains, 使用/v3/auth/projects和/v3/auth/domains代替。该API在Juno就已经被标记为废弃。

1.2.2 P版新功能:

1、优化: 注册默认策略, 使运维更容易维护策略文件

2、优化: 增强保存在SQL中的密码安全性, 使用更安全的hash

1.2.3 O版新功能:

1、新增: 每用户多因素身份验证规则(MFA规则), 可以指定在 Keystone 发出令牌之前使用多种认证方式。 例如,一些用户可能只需要密码,而其他用户则必须提供基于时间的一次性密码和另一种身份验证形式。

2、新增: 自动配置联合身份, 当用户登录联合系统时, Keystone 将动态地为该用户创建角色

优化: 验证过期的令牌:现在,耗时长的操作(如上传快照)将不会失败了。 你可以配置每个项目是否接受过期的令牌。

1.2.4 N版新功能:

1、新增: REST API 支持了证书加密

2、优化: 简化的配置步骤

1.3         计算Nova

1.3.1 Q版新功能

1、新增: 虚拟机初步支持vGPU。目前还有不少限制, 处于试验阶段: 一个计算节点只能支持1种类型的vGPU, 挂起虚拟机/调整虚拟机大小/迁移还不能分配vGPU, NVIDIA GRID显卡有vGPU使用个数的限制等问题。

2、新增: 冷迁移时可以指定主机

3、新增: 支持PCI设备的NUMA亲和性, 支持3种类型的策略: required(必须使用), legacy(如果支持的话就使用), preferred(希望使用)。

4、新增: 支持挂载1个卷到多个虚拟机上, 该卷创建时必须把multiattach置为true。

5、优化: 重建虚拟机时增加新的参数key_name及user_data, 可以在重建时重新设置或者删除密钥及user_data。

6、优化: 对部分API增加、优化了分页支持

7、优化: 对VMware虚拟机增加了优雅关闭的方式(graceful shutdown)

8、优化: 修正cell_v2中的部分问题。 cell_v2中增加delete_host属性, 可以把host从cell中删除。 另外, 在cell_v2 delete_cell中增加选项force, 可以强制删除整个cell, 而不管cell是否有host。

9、优化: 对下列虚拟机动作增加记录: attach_interface, detach_interface, attach_volume, detach_volume, swap_volume, lock, unlock, shelveOffload, createBackup, createImage.

10、优化: 对flavors的API增加描述description字段

11、优化: nova-novncproxy服务可以配置TLS安全证书和VNC server进行加密通信

12、优化: 支持新的厂商libvirt卷存储挂载驱动: StorPool。

13、废弃: Nova将不再支持Block Storage(Cinder) v2 API。

14、废弃: 废弃Nova API extension, os_compute_api:XXX

1.3.2 P版新功能

1、新增: 支持Cell v2的多Cell部署, 可以使用Cell v2 API创建多Cell环境, 适应更大规模集群。废弃Cell v1 API。

2、新增: 支持卷的multi-attach、支持卷动态伸缩、支持卷作为临时盘

3、新增: 防止虚拟机占用宿主机上的所有物理CPU,通过使用 reserved_host_cpus 配置项来为 hypervisor 预留部分CPU

4、优化: 支持在故障时,自动将自己进行隔离

5、优化: 支持通过ironic virt驱动对裸机网卡的添加和删除

6、优化: 优化配额管理,在配额不足时,提前给出提示而不是报错

7、优化: 优化PCI设备调度,避免无PCI请求的虚拟机调度到具备PCI设备的主机上

1.3.3 O版新功能

1、优化: Nova过滤器和调度器现在将会使用 Placement API,它会根据 CPU/内存/磁盘容量来过滤计算节点。

2、优化: Nova现在将会在所有部署中使用 Cell v2; 目前每个部署只支持一个Cell

3、优化: 现在是默认网络选项为neutron网络

4、优化: 增强升级能力, 使用新的 “nova-status upgrade check” CLI 命令来查看升级到 Ocata 所需做的事情。

1.3.4 N版新功能

1、新增: 自动网络配置, 可以让用户一键配置网络, 简化虚拟机配置

2、新增: Placement API,给用户更好的可见性,以及资源的控制,例如资源提供者、库存、分配和使用记录

3、新增: Cells v2,可以将你的数据中心合并为统一的管理,以及很好的扩展性。相比于上个版本,进行了大的改动,并完成了全部的特性。

4、优化: 可变的配置,允许管理员在Nova服务启动时更改配置即可生效,不再需要重新启动

1.4         镜像Glance

1.4.1 Q版新功能

1、新增: 交互式镜像导入中增加web-download方式, 即从远端URL中下在镜像

2、新增: 加入一个新的plugin, 可以自动把镜像元数据在交互式镜像导入过程中, 注入到非管理员创建的镜像中

3、废弃: glance registry服务和相关API被废弃, S版本时将会被移除。

注: glance-registry用于存储、处理、获取Image Metadata,通过响应从glance-api发送过来的Image Metadata REST Request,然后与MySQL进行交互,实现Image Metadate的存储、处理、获取。 v1的实现上,有glance-api和glance-registry两个WSGI 服务,都提供REST API,只不过glance-API的REST API对外使用,glance-registry的API只由glance-api使用。而 v2在实现上,把 glance-registry 的功能合并到了 glance-api 中,减少了一个中间环节。

1.4.2 P版新功能

新增: 增加交互式镜像导入方式,目前只支持glance-direct方式,即直接从文件导入镜像。直接导入镜像的流程包含3部分:

1. 使用镜像创建api创建镜像记录并得到镜像id。

2.通过镜像暂存(Stage) API上传镜像到暂存区域。

3.执行镜像导入调用, 完成镜像导入。

1.4.3 O版新功能

1、优化: 镜像的公开性增强, 用户现在可以创建可供其他人使用的‘社区‘镜像。 您还可以将镜像设置为‘共享‘给指定用户。

2、优化: 加强Keystone中的多重认证, 在Keystone中改善对MFA的支持,包括OTP(一次性密码)支持和每用户令牌过期规则。

1.4.4 N版新功能

1、新增: Glance Artifact仓库:Glare,可以提供不仅仅是镜像的支持

2、优化: 为永久快照提供的信任机制有效避免长时间运行的操作错误。

3、优化: 新增默认的限制性访问策略,意味着默认都是锁定的,除非用户作了明确的授权。

1.5         网络Neutron

1.5.1 Q版新功能

1、新增: 支持浮动IP的QoS

2、新增: 增加新的DVR agent type: dvr_no_external, 该模式使得浮动IP流量在南北向(DNAT)路由时为集中式处理, 而东西向路由时为分布式处理。

3、新增: 可在dhcp agent的配置项中配置dhcp的renewal和rebinding时间

4、优化: 可通过模糊匹配IP地址来过滤出端口

5、优化: 可通过agent配置项, 配置隧道外层报头中的dscp值

6、优化: 通过配置项, 外层报头中的dscp可继承自内层报头中的dscp值

7、优化: ovs agent支持通过ssl方式连接ovsdb服务, 增强了安全性

8、废弃:linuxbridge中的tos配置项被废弃, 使用更精确的配置项dscp

1.5.2 P版新功能

1、新增: 支持ovs驱动通过SR-IOV实现硬件卸载, ovs现在可直接绑定SR-IOV端口

2、优化: 优化性能和稳定性, 优化基于ovs的防火墙的稳定性; 优化neutron服务端和L2 agent之间通信, 降低neutron的服务端负载; 减少更新资源产生竞争的可能性;减少Metadata代理的内存使用

3、优化: 优化QoS, 支持ovs和 linux bridge驱动中的双向限速; 支持SR-IOV的出口带宽限制规则; 支持对路由器网关的限速;支持查看QoS规则类型详情

4、优化: 优化分布式路由(DVR)相关功能, 包括多个bug修复, 支持DVR快速退出等, 并增强稳定性

5、优化: 支持O版本无缝升级到P版, 提高可维护性

6、优化: 每个网络可单独配置MTU, 可以更改

7、优化: 支持为每个Port配置独立的DNS Domain

8、优化: 所有主要资源都可配置用户自定义标签

1.5.3 O版新功能

1、新增: 支持linux bridge qos的出方向最小带宽限速, 和dscp marking

2、优化: vhost-user机制增强, 支持重连

3、优化: 资源标记TAG功能支持子网、端口、子网池及路由器

4、优化: 对dhcp的ipv6模式进行了不少改进

5、优化: 新增keepalived vrrp 健康检查特性,增强master router到所有网关之间的连接验证。

1.5.4 N版新功能

1、新增: 支持vlan aware vms (即vlan trunk), 支持虚拟机之间带VLAN转发, 主要用于NFV等场景

2、新增: 支持对DHCP和L3 agent的可用域, 允许用户指定哪个节点上使用相关网络服务。

3、新增: 支持QoS功能, 支持对虚拟机端口、网络的限速和dscp marking。

4、新增: 支持基于角色的网络访问控制(RBAC), 允许其他项目访问自己的资源。

5、新增: 支持自动创建网络, 简化创建虚拟机时需要配置网络信息的步骤。只需要事先指定默认的外部网络和subnet pools, 创建虚拟机时, 可以让neutron自动根据默认配置, 创建网络,子网,分配ip, 路 由器, 连接外网。

6、新增: 支持查询网络及其子网的所有ip个数和使用过的ip个数

7、新增: 支持部分网络资源的描述、tag标签、创建、更新的时间戳

8、优化: API服务支持不间断升级

1.6         块存储Cinder

1.6.1 Q版新功能

1、新增: 支持异步克隆卷

2、新增: 支持新的策略: 不允许mutiattach操作

3、新增: 通过备份创建卷

4、优化: 支持快照的可用域过滤

5、优化: 支持和优化更多的厂家设备驱动: DataCore’s SANsymphony, Hyper-converged Virtual SAN storage, Inspur InStorage, VMware VStorageObject, VMDK, Dell EMC VMAX等等。

6、废弃: Cinder API v1在Juno版时, 现在完全删除。

7、废弃: 一致性组API被废弃, 可以使用通用卷组API。

8、废弃: 废弃并删除多个卷驱动: Block device driver, Blockbridge, Coho, FalconStor FSS, Infortrend, QNAP, Reduxio, Tegile, Violin, X-IO, ZTE, Hitachi HNAS, HBSD, VSP等。

1.6.2 P版新功能

1、新增: 支持”还原到快照” (revert to snapshot)功能,允许用户将卷数据回滚到上一次做快照的时间点

2、新增: 支持对正在被使用的卷进行热伸缩。 只限于libvert驱动,并限于iscsi和fc卷

3、新增: 支持对volume type进行更多的权限控制

4、优化: "复制组"(replication group)功能, 允许普通用户操作"复制组", 并有众多厂商驱动优化对”复制组”的支持

5、优化: 对分布式锁的使用

6、优化: 修复多个厂商驱动中的Bug

7、优化: 多后端环境中可单独为每个后端配置可用域

1.6.3 O版新功能

1、新增: 支持将一个卷附加给多个虚机功能,该功能预计在下一个版本中发布

2、新增: 支持主/主 HA, Cinder 现在可以运行在主/主群集模式下,来防止并发操作冲突。与过去的版本相比,Cinder 还优化了过程中出现的服务失败的处理过程

1.6.4 N版新功能

1、优化: 微版本,允许开发者在毋需破坏大版本的情况新增新的特性。

2、优化: 回滚更新,Newton之后的版本可以直接更新而无需动整个云平台。

3、优化: 配置项新增enabled_backends,对卷的创建定义了哪些后端类型。

4、优化: 可以重新更换加密的卷为不加密的,在创建之后再更改回来。

5、优化: 删除卷及其快照,使用了级联的特性,而不是首先删除快照。

6、优化: Cinder的备份服务现在可以扩展为多个实例,拥有了更佳的灵活性和扩展性。

1.7         编排Heat

1.7.1 Q版新功能

1、新增: 支持当栈创建/更新取消时不进行回滚

2、新增: Zun容器资源中增加hostname, hints, security_groups, mounts属性。

注: ZUN于 2016年6月建立。Zun的目标是提供统一的Openstack API用于启动和管理容器,支持多种容器技术。

3、新增: 支持Octavia Lbaas Service的编排, 包括: OS:Octavia:LoadBalancer, OS:Octavia:Listener, OS:Octavia:Pool, OS::Octavia:PoolMember, OS:Octavia:HealthMonitor, OS:Octavia:L7Policy, OS:Octavia:L7Rule

4、新增: 支持项目(租户)的tag标签的编排

5、新增: 支持OS:Trove:Cluster中配置网络资源

6、优化: 修复"强制删除‘SOFT-DELETED‘状态的虚拟机但是删除不了"的问题

7、废弃: 使用OS:Aodh:GnocchiAggregationByResourcesAlarm来替代OS:Aodh:Alarm.

8、废弃: 使用 OS:Designate:Zone和OS:Designate:RecordSet来替代OS:Designate:Domain和OS:Designate:Record

1.7.2 P版新功能

1、新增: 支持对Neutron:Trunk (即VLAN Trunk) 的编排

2、新增: 支持对网络主要资源标签的配置

3、新增: 支持创建虚拟机时, 使用’自动分配网络’

4、新增: 支持Nova:ServerGroup的策略: 弱亲和性(soft-affinity)和反弱亲和性(soft-anti-affinity)

1.7.3 O版新功能

新增: 新增通知和应用程序工作流。 使用OS::Zaqar::Notification来订阅Zaqar队列中的通知, 或使用OS::Zaqar::MistralTrigger来只订阅Mistral通知。

1.7.4 N版新功能

1、新增: 可以使用DNS解析, 并支持整合外部的DNS。

2、优化: 使用属性external_id attribute来访问额外的资源。

1.8         OpenStack各版本的API区别

 

另外, 小编注意到了从P版开始Ceilometer API就废弃了,使用aodh(alarms)、gnocchi(metrics)、Panko(events)替代。

从API表格来看, 各组件的API接口演进比较平滑, 新版本一般都能通过协商机制来兼容老版本,这给我们的环境升级带来了极大的方便。

1.9         参考文档

https://releases.openstack.org/queens/index.html

OpenStack各版本发布时间
Series            Status                        Initial Release Date    Next Phase                            EOL Date
Austin            End Of Life                    2010年10月21日        
Bexar            End Of Life                    2011年2月3日        
Cactus            End Of Life                    2011年4月15日        
Diablo            End Of Life                    2011年9月22日                                                2013年5月6日
Essex            End Of Life                    2012年4月5日                                                2013年5月6日
Folsom            End Of Life                    2012年9月27日                                                2013年11月19日
Grizzly            End Of Life                    2013年4月4日                                                2014年3月29日
Havana            End Of Life                    2013年10月17日                                                2014年9月30日
Icehouse        End Of Life                    2014年4月17日                                                2015年7月2日
Juno            End Of Life                    2014年10月16日                                                2015年12月7日
Kilo            End Of Life                    2015年4月30日                                                2016年5月2日
Liberty            End Of Life                    2015年10月15日                                                2016年11月17日
Mitaka            End Of Life                    2016年4月7日                                                2017年4月10日
Newton            End Of Life                    2016年10月6日                                                2017年10月25日
Ocata            Extended Maintenance        2017年2月22日            Unmaintainedestimated TBD    
Pike            Maintained                    2017年8月30日            Extended Maintenanceestimated         2019-03-03    
Queens            Maintained                    2018年2月28日            Extended Maintenanceestimated         2019-08-25    
Rocky            Maintained                    2018年8月30日          Extended Maintenanceestimated         2020-02-24    
Stein            Development                    2019-04-10           estimated(schedule)    Maintained estimated 2019-04-10    

OpenStack Q版本新功能以及各核心组件功能对比


推荐阅读
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
author-avatar
梁言一聚
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有