热门标签 | 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版本新功能以及各核心组件功能对比


推荐阅读
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 深入理解T-SQL中的NULL与三值逻辑
    本文探讨了SQL Server中的三值逻辑,解释了谓词计算结果为TRUE、FALSE和UNKNOWN的规则。通过具体示例,详细说明了如何正确处理NULL值,并探讨了在不同约束条件下的行为。 ... [详细]
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • Redis Hash 数据结构详解
    本文详细介绍了 Redis 中的 Hash 数据类型及其常用命令。Hash 类型用于存储键值对集合,支持多种操作如插入、查询、更新和删除字段值。此外,文章还探讨了 Hash 类型在实际业务场景中的应用,并提供了优化建议。 ... [详细]
  • FinOps 与 Serverless 的结合:破解云成本难题
    本文探讨了如何通过 FinOps 实践优化 Serverless 应用的成本管理,提出了首个 Serverless 函数总成本估计模型,并分享了多种有效的成本优化策略。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文介绍了一种适用于小型创业公司的小规模每日数据备份及健康检查的自动化解决方案。通过简单的Shell脚本实现本地数据库的每日全量备份,并将备份文件上传至中心备份服务器。同时,编写了自动检测脚本来确保备份的完整性和及时性,一旦发现异常,会通过邮件和短信通知相关人员。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • 深入理解Lucene搜索机制
    本文旨在帮助读者全面掌握Lucene搜索的编写步骤、核心API及其应用。通过详细解析Lucene的基本查询和查询解析器的使用方法,结合架构图和代码示例,带领读者深入了解Lucene搜索的工作流程。 ... [详细]
  • 在开发Android应用程序时,特别是在处理方向事件时,我们通常会接收到包含方位角、俯仰和滚转三个浮点数值的SensorEvent。这些值反映了设备相对于现实世界坐标系的旋转状态。对于类似迷宫的应用程序,如何允许用户以任意角度握住设备并确保应用正常工作是一个挑战。 ... [详细]
  • HBase运维工具全解析
    本文深入探讨了HBase常用的运维工具,详细介绍了每种工具的功能、使用场景及操作示例。对于HBase的开发人员和运维工程师来说,这些工具是日常管理和故障排查的重要手段。 ... [详细]
  • 本文介绍如何在PostgreSQL数据库中正确插入和处理JSON数据类型,确保数据完整性和避免常见错误。 ... [详细]
  • 2018年3月31日,CSDN、火星财经联合中关村区块链产业联盟等机构举办的2018区块链技术及应用峰会(BTA)核心分会场圆满举行。多位业内顶尖专家深入探讨了区块链的核心技术原理及其在实际业务中的应用。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
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社区 版权所有