科技正能量 · 2021年11月17日

技术贡献解读 浪潮云海OpenStack X版本技术贡献中国第一

10月6日,OpenStack社区发布第24个版本 Xena(简称X版本),浪潮云海在Nova、Cyborg、Cinder、Masakari、Manila等核心项目的技术贡献排名再次获得「中国第一」、全球前三,已连续4个版本荣登社区技术贡献国内榜首,引领OpenStack重要技术发展。
其中,浪潮云海OS技术团队向OpenStack社区贡献的可视化日志管理项目——Venus,是国内首个在智能运维领域贡献的开源项目。

在此版本中,浪潮云海团队分别从以下四个方面做了大量技术贡献:
一、GPU高级虚拟化功能增强及优化
二、加密卷、文件等存储场景增强优化
三、云平台上稳定性和持久内存的易用性增强
四、基于Kolla的Venus项目集成实践,实现生产级镜像加速部署

一、GPU高级虚拟化功能增强及优化
AI技术快速发展,市场上对深度学习、图形图像处理及科学计算等多种场景的需求不断增加,但GPU价格昂贵,对云平台来说,如果一个GPU设备只能提供给一个虚拟机或物理机使用,GPU的利用率会大大降低。为满足客户多台虚拟机同时使用一个物理GPU,浪潮云海OS团队基于硬件加速设备管理项目Cyborg实现了对GPU/vGPU资源的精细化调度和管理功能,支持根据vGPU显存大小进行调度创建vGPU虚拟机,极大程度上提升GPU资源利用率。
浪潮云海OS可支持GPU高级虚拟化(vGPU)功能,以支持一个GPU设备(即GPU:vGPU = 1: n(n≥1))启动多个高性能虚拟机,此时一个物理GPU设备可支持多台虚拟机运行,提升GPU对用户业务的并行处理能力。浪潮云海OS操作系统集云计算、大数据和人工智能于一体,作为云数据中心的“中枢神经系统”,实现了数据中心资源融合,资源管理及服务交付,同时支持GPU设备细粒度、精细化调度;支持根据GPU厂商、产品号、名称等属性调度所需的GPU或vGPU设备。
1.png
vGPU设备管理架构

浪潮云海OS通过GPU或vGPU设备为虚拟机提供了无与伦比的图形性能和应用程序兼容性,同时在多个工作负载之间共享GPU以带来成本效益和可扩展性。

二、加密卷、文件等存储场景增强优化
随着云平台规模的增大,如何保障云平台的高可用性成为了各个云厂商关注的热点话题。浪潮云海OS从真实客户需求出发,综合虚拟机、物理机等多种应用场景,为客户提供多平面感知的高可用能力,以下是在X版本贡献的多项核心技术:
云海OS团队在文件存储Manila组件方面贡献了多个高级功能。例如增加文件存储回收站功能,通过软删除方式将Share放入回收站,回收站中的Share默认在七天之后被彻底删除,进一步提升文件安全性。支持用户对回收站内的Share进行查看、恢复以及彻底删除(暂不支持对Share更新、扩容、迁移等操作);管理员和普通用户默认支持使用回收站功能,在一定程度上提升了用户使用云平台的安全性,降低由于操作不规范、误删文件等带来经济损失的可能。

2.png
纳管卷实现原理

以OpenStack平台为例,浪潮云海技术团队优化了核心项目Cinder加密卷的处理逻辑,并将此优化推送到社区。具体来说,卷加密功能是基于LinuxLUKS架构,在卷挂载到虚拟机之前首先判断卷的数据格式。如果卷数据格式非LUKS格式,会将目标卷格式化为LUKS之后再映射给虚拟机使用。此种情况下,如果纳管存储上已经存在数据的卷,就可能出现数据丢失风险。另外如果目标卷是加密类型的,纳管时需要有密钥支持,无密钥则无法解析加密卷。
3.png
卷上传镜像架构

在对接iSCSI协议的存储时,卷映射虚拟机后,在宿主机上会生成SCSI相关协议的链路信息(Multipath、SCSI设备映射等)。在融合部署cinder-volume服务与nova-compute服务时,卷上传镜像操作在读取卷所使用的链路信息时,会与虚拟机使用的链路信息保持一致。如果上传镜像操作处理完时需要解除卷与虚拟机的映射信息,此时也会解除虚拟机所使用的链接映射,并造成虚拟机故障。
针对此问题,浪潮云海针对此问题进行了深入研究,设计修复方案并完成开发,完成了对云海OS产品的优化,并将针对此问题的技术实现推送到OpenStack开源社区,得到了众多开源项目维护者及社区开发者的认可。

三、云平台上稳定性和持久内存的易用性增强
4.png
主机多平面故障检测
当计算集群发生大规模故障时,计算资源急剧收缩,可能存在资源不足的情况,此时疏散可能给云平台造成更大的伤害。另外,计算节点上云主机根据承载的业务不同,有的业务应用实例价值高,有的就可能没那么重要。
如何保障高价值的业务优先恢复?
这就需要通过定义用户业务实例的优先级,然后通过排队、熔断、限流、降级重试等策略保障用户业务的可用性,从而保障云平台业务的稳定性。
5.png
PMEM设备虚拟机离线迁移实现原理
6.jpg
PMEM设备虚拟机离线迁移实现时序图

浪潮云海技术团队和英特尔中国CESG ESS部门及英特尔中国OpenStack社区研发团队共同合作,对持久化内存(PMEM)进行了深入研究,完善并深度优化PMEM设备虚拟机的相关功能,例如支持PMEM设备虚拟机离线迁移,支持将已有的PMEM数据的虚拟机迁移到目标PMEM服务器节点上。
7.jpg
PMEM设备管理

为了更进一步实现异构加速器设备的管理,浪潮云海技术团队编写了PMEM设备的驱动程序,并将其贡献到OpenStack Cyborg社区,以支持通过智能加速器设备管理项目统一管理PMEM设备,支持PMEM设备的自动发现、自动上报、Nova创建虚拟机智能调度,更好支持虚拟机在创建时请求PMEM设备。

四、基于Kolla的Venus项目集成实践,实现生产级镜像加速部署
作为OpenStack平台部署项目,Kolla通过构建OpenStack容器化组件镜像,将不同的组件根据角色配置部署到不同的节点上,实现了生产级别的镜像加速部署,最大程度简化OpenStack部署和运维成本。
8.jpg
Venus项目容器化部署实现原理

Venus是浪潮云海技术团队提出的基于OpenStack云平台的可视化日志管理项目,且已成为OpenStack社区官方项目,提供了一站式日志采集、清洗、索引、分析、警告、可视化等能力。浪潮云海技术团队在Kolla项目中率先集成了Venus,通过Kolla项目分层模式实现Venus镜像构建,Kolla-ansible容器化实现Venus配置文件自动生成、数据注册、创建数据及启动容器化服务等,从而提升Venus项目的部署效率及后期运维能力。

一直以来,浪潮云海通过在架构优化、权威基准测试、规模化应用、社区贡献、生态完善等方面的持续创新,构建了开放、融合、敏捷、智能的云操作系统,为各行各业提供数字转型、智能升级、融合创新的云基础设施;同时持续推动OpenStack等开源技术在中国及世界范围的发展,为打造创新技术引擎不懈努力着。
未来,浪潮云海在不断推进OpenStack创新发展的同时,会努力为更多新兴业务提供安全可靠的云基础设施,为构筑云数智融合的智算底座不懈努力。

推荐阅读
关注数
2834
内容数
255
新基建、云计算、数字经济、数字化转型
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息