OpenStack 社区 16 日发布了最新版本 Train,这是部署最广泛的开源云基础设施软件 的第 20 个版本。该软件已支持全球 75 个公有云数据中心和数千个私有云项目,规模超过 1000 万个计算核心。OpenStack 适合于各种架构的部署,包括裸金属、虚拟机 (VMs)、图形处理单元(GPUs)和容器。
在 Train 版本提供的数十项功能增强中,有三个亮点:
1. 增强安全性和数据保护;
2. 人工智能(AI)和机器学习(ML)用例改进;
3. 改善资源管理和跟踪功能。
增强安全性和数据保护
• 支持构建 software RAID:Ironic 裸金属组件可以保护服务免受磁盘故障影响;
• 数据保护编排:Karbor 组件可为制定计划、创建检查点、恢复、调度和触发等操作添加事件通知,用户可备份根磁盘上映像引导服务器中的新数据。
新增加速器为人工智能/机器学习提供支持
• 加速器生命周期管理:在 Cyborg 项目中,合并了 Cyborg-Nova 交互规范,最终目标蓝图是采用加速器启动和管理 VMs。
改善资源管理和跟踪功能
• Train 版本完成了 Placement 向独立服务的过渡,Placement 服务可独立于 Nova 使用。在 Train 版本中,服务响应时间在 Stein 版本 16.9s 的基础上缩短了 0.7s。
• Nova 对调度器进行了改进,可以更智能的过滤来自 Placement 服务的结果。
• Watcher 可从 Placement 接收数据,改进 Watcher 组件的计算数据模型。
• 用户在使用 libvirt 计算驱动程序时,Nova 可以提供虚拟持久性内存(VPMEM)。
作为 OpenStack 基金会白金和黄金会员,英特尔和浪潮 OpenStack 团队一直积极投入社区建设,在此前的 Stein 版本中浪潮的贡献跻身全球前十。在 Train 版本社区贡献全球领先,尤其在 Nova、Neutron、Cinder、Manila 等核心项目中贡献尤为突出。浪潮携手英特尔进行 upstream,在 Train 版本期间积极互动,完成了大量的 Commit 和 Bug 修复,为社区项目的 稳定发展提供了有效保证,在 Train 版本浪潮完成了 4 个 BP/ SPEC 申请(BP 代表一个公司在 OpenStack 项目上提出的想法和功能,反映了其推动 OpenStack 发展的贡献程度。对衡量一个公司的技术实力指标有着重要意义),一个 BP 因为版本功能 冻结,未能完全体现在 Train 版本。
其中,Neutron 提出 IPAM_DLM 驱动方案,基于原有的 IP 分 配算法对分配 IP 过程增加分布式锁,解决 IP 分配冲突。采用 etcd 作为分布式锁后端,并发 800 创建虚拟机,平均创建时长缩短近 18 秒,load duration 时间大幅减少,性能得以大 幅度提升;Nova 提出虚拟机挂载卷的时候设置“delete_on_ termination”功能,允许用户在创建虚拟机的时候设置删除虚拟机时对已挂载卷的处理方式,大大降低管理员的运维成本; Manila 提出了修改文件存储类型名称、描述、与可见性的功能特性,使用该特性我们可以灵活调整文件存储类型的属性,修改可见性为运营商在使用云平台的过程中提供了更大的管理权限。修改名称、描述为用户提供了更高的易用性。
今年 9 月初,浪潮 InCloud OpenStack Team 携手英特尔使用 云海 InCloud OpenStack 5.6(ICOS 5.6)完成单一集群规模达 200 节点、500 节点的测试,这是目前基于 Rocky 版本进 行的单一集群全球最大规模实践。测试期间英特尔和浪潮时刻关注社区最新进展,并且为了验证 Train 版本新特性,对云海 ICOS5.6 进行了升级。在此期间设计极限测试用例,并对 Train 版本的新特性进行压力测试,即对英特尔® 傲腾™ 数据中心级持久内存进行测试,测试中发现的缺陷及时在 Train 版本 Nova VPMEM(虚拟持久性内存)的 Commit 中进行了交流,完善了 Train 版本 VPMEM 的功能,有效推动其在 Train 版本的合并,将推动 OpenStack 在大规模单一集群领域建立起科学评估的参考基线。
在上海的 Open Infrastructure Summit 上,浪潮将携手英特尔 共同发布基于 500 节点大规模单一集群测试技术白皮书,同时也将就 “云计算中全栈安全信任链及最佳实践”、“为大数据分析负载工作提升私有云性能”等话题进行内容分享。
英特尔数据中心政企事业部门中国区首席架构师宋毅良博士表示,“英特尔团队在开源社区不遗余力,积极参与并贡献技术开发,致力于打造软、硬优化的基础架构,满足业务需求的开源云解决方案。”
英特尔和浪潮结合社区发布的最新内容,对 OpenStack Train 版本热门项目亮点功能的集中概括如下:
Keystone 项目主要亮点功能:
1. 所有的 keystone API 权限策略已经调整为支持 reader, member,admin 角色,这样的话就可以更细粒度的控制用户的访问权限;
2. 所有 API 支持 system scope,这样就意味着可以开启 keystone.conf 配置中的 [oslo_policy]/enforce_scope 选项, 这样可以区分出是项目的请求,还是系统请求,可以安全地授予管理员对特定 keystone 项目的访问权限,而不授予管理员对 keystone 的所有 API 的访问权限,但需要注意的是各个组件的权限控制有所不同,也需要具体分析;
3. 支持 keystone-manage bootstrap 创建不可变的角色、项目和域,避免意外修改或删除重要资源。
Nova 项目主要亮点功能:
1. Libvirt compute 驱动支持配置了 NUMA 策略,CPU 绑定或者配置了大页内存的虚拟机进行热迁移;
2. Libvirt compute 驱动支持对接了 SR-IOV 网卡的虚拟机进行热迁移;
3. 支持对网络绑定了资源规则的虚拟机进行冷迁移或调整 flavor;
4. 改进 scheduler 服务,使用 Placement 服务可以更加智能的筛选资源,API 性能提升 50% 以上;
5. 通过 Placement 服务和数据库 API 提高 multi-cell 配额的计 算能力;
6. 改进了超级管理员或者用户使用的 API,例如,指定 AZ 取消搁置,挂载卷支持设置 delete_on_termination 属性等 API;
7. 增强外部节点重启期间与裸机服务的协调性;
8. Libvirt compute 驱动支持 VPMEM(虚拟持久性内存),相比于 DRAM,它以低成本、大容量保障了了整个电源周期中的数据的持久性存储功能,在 HPC 和内存数据库方面(例如 redis,rocksdb,oracle,SAP HANA,和 Aerospike.)有很大的提升。
Cinder 项目主要亮点功能:
1. 许多驱动程序增加了对 multi-attach 和一致性组的支持,例 如 Inspur G2 Driver,NEC Driver 等;
2. 支持 qcow2 格式的卷压缩数据上传镜像,有效缩短了 qcow2 镜像卷的上传时间;
3. 新增升级检查机制,从低版本升级到 Train 版本时可以运行升级检查,检查是否存在兼容性问题。
Neutron 项目主要亮点功能:
1. OVN 现在可以发送 “Fragmention Needed” 的 ICMP 包。在不配置任何额外路由的情况下,允许租户网络里的虚拟机通过巨型帧访问外部网络;
2. 只要 subnet pools 属于同一个 address scope,可以在网络上创建来自多个 subnet pools 的多个子网;
3. 增加新的 API,extraroute-atomic,用于路由器。此扩展允许用户向路由表添加或删除单个条目,而不必更新整表;
4. 添加扩展 l3-conntract-helper。用户可以路由器设置目标规则;
5. 通过 IP 分配使用分布式锁的申请,有效降低 IP 冲突的几率。
Cyborg 项目主要亮点功能:
1. 通过了 Nova-Cyborg 交互的目标规范申请,Nova 将可以使用 accelerators 创建和管理虚拟机;
2. 更新 Cyborg API 到 v2.0,支持与 Nova 的交互,使用 v2 APIs,支持用户 create/delete 设备配置文件和 create/bind/ unbind/delete accelerators 请求;
3. 新增 Ascend 驱动,改进 FPGA,GPU 驱动。
Manila 项目主要亮点功能:
1. 文件存储网络可以由多个子网创建,而且它们可以在不同的可用域;
2. 在使用 DHSS 的情况下,NetApp 后端加入支持副本特性;
3. 集群文件系统后端加入目录扩容/缩容特性;
4. 加入普安科技驱动,支持文件存储 NFS 和 CIFS;
5. ceph 文件系统加入支持 IPv6 导出和访问列表;
6. 加入浪潮驱动,支持文件存储 NFS 和 CIFS;
7. 文件存储类型支持修改名称,描述和/或者可见性;
Placement 项目主要亮点功能:
1. 由本次 Train 版本开始,Placement 项目从 nova 项目中分离,成为独立项目;
2. 基于广泛的基准测试和性能测试来优化 Placement 服务大幅度提高了 Placement 服务在大规模场景下的性能;
3. 增加了对主机聚合调度时资源预留的支持,可以达到指定的主机聚合资源的专项使用;
4. 增加了对资源提供者的 NUMA 拓扑、多设备、网络多种资源的组合调度的支持特性,可以根据资源的亲和性和不同需求使用组合调度策略。该特性有助于 NFV 和高性能要求场景下的资源调度和使用。
Designate 项目主要亮点功能:
1. 移除 95% 的废弃警告代码;
2. 删除 v1 版本的代码;
3. API 控制层面和 DNS 的数据层面完全支持 IPv6;
4. 审核日志的数量和质量;
5. T 版本支持 python2.7。
Senlin 项目主要亮点功能:
1. 添加了 webhook v2 版本,该版本支持用户在调用 webhook 的时候通过 body 传递任何数据;
2. 支持管理员查看任何集群的 profile 的详细信息;
3. 允许集群删除动作自动分离策略,当删除集群时也可以支持删除 receiver。
Trove 项目主要亮点功能:
1. 针对服务租户部署模型做了很多改进,该模型也是在生产环境中强烈推荐的,允许云管理员定义 trove 实例的管理资源,如密钥对、安全组、网络等;
英特尔、英特尔标识、Core、酷睿、Xeon 和至强是英特尔公司在美国和/或其他国家的商标。 *其他的名称和品牌可能是其他所有者的资产。英特尔公司 © 2019 年版权所有。所有权保留;
英特尔携手浪潮共同揭秘 OpenStack 新版本 Train 新特性白皮书。
2. 使用 trovestack 脚本为云管理员或开发人员创建 trove guest 镜像变得更加容易。
3. 用户可以对外公开 trove 实例,同时可以限制对数据库访问的源 IP。
CloudKitty 项目主要亮点功能:
1. 引入了一个 v2 API,包括五个新的 endpoints,现在标记为实验的,支持时区,目标是比 v1 endpoints 更通用和更高效;
2. 引入了 Prometheus scope fetcher,可以从 Prometheus 发现动态的范围,并计划引入 Prometheus collector;
3. 改善了 processor 的容错能力和性能,每个 processor 可以孵化出多个 workers,在失败的情况下可以自动重启;
4. 引入了针对 Elasticsearch 的 v2 存储 driver。
Ironic 项目主要亮点功能:
1. 支持基本的软 raid 配置;
2. Redfish 驱动增加了虚拟介质启动;
3. 增强了传感器数据收集;
4. 增加新的 ramdisk 镜像制作工具;
5. 修复一系列关于 ansible 部署接口的 BUG,例如增加 target_ raid_config 字段用于 raid 配置、修复裸机镜像使用 GPT 分 区时的部署问题、修复 raw 格式镜像和私有镜像时的部署问题等。
Octavia 项目主要亮点功能:
1. 负载均衡监听器支持 ACL,每个监听器端口可以配置允许访问的源地址列表;
2. 支持 Amphora 日志转储,controller 端配置 syslog 目标来记录 Amphora 管理日志及租户负载均衡器的连接日志;
3. Amphorae 现在支持从 Cinder 卷引导;
4. 优化 Amphora 镜像,减小镜像大小及内存消耗。
Vitrage 项目主要亮点功能:
1. 为 Kapacitor 添加新的数据源;
2. 为 Monasca 添加新的数据源;
3. 增加 Vitrage 状态和模板版本的 API;
4. 支持使用 Alembic 工具升级 Vitrage 的数据库。
Watcher 项目主要亮点功能:
1. 审计(audit)增加 force 字段。创建审计时用户设置 force=True 时,如果有审计在执行,新创建的审计仍然能够运行;默认 force=False,如果有审计在执行,新创建的审计不能运行;
2. 度量数据来源,增加 Grafana 后端;
3. 从 Placement 服务同步数据,更新 watcher 的数据模型;
4. 增加了 watcher 数据模型查询的 API 接口;
5. 增加了节点资源整合策略。