查看原文
其他

[龙芯有云第五话] 龙芯平台OpenStack适配工作全景介绍

自主创新的 龙芯中科 2022-07-03


OpenStack概述


▶OpenStack与云计算

大家比较公认的云计算架构分为三层,从下往上,依次是基础设施层、平台层、软件服务层,如图1所示。OpenStack就处于基础设施层,也就是IaaS层。IaaS层的核心在于虚拟化技术,通过虚拟化技术可以将各种计算设备、网络设备、存储设备等虚拟化为虚拟资源池中的资源。


图1  云计算架构图

 

▶OpenStack是什么
OpenStack是一个云操作系统,可控制整个数据中心内的大型计算,存储和网络资源池,所有资源均通过具有通用身份验证机制的API进行管理和配置。

还提供了一个仪表板,可让管理员进行控制,同时授权其用户通过Web界面配置资源。

除了标准的基础架构即服务功能外,其他组件还提供业务流程,故障管理和服务管理等其他服务,以确保用户应用程序的高可用性。

另外,OpenStack还与一些流行的企业(如 设备商、运营商)和开源技术(如 ceph、docker)一起使用。

图2  OpenStack功能图

▶OpenStack社区发展

OpenStack从2010年到现在,已经发布了22个版本,版本名称是按照字母顺序从A到Z排列的,今年5月份发布了U版本,10月份发布了V版本。

U版本中新增的功能有:Kuryr添加了对IPV6的支持(OpenStack与容器网络之间的桥梁);Ironic 增加了对硬件退回工作流的支持,以实现托管云中的自动化停用;Kolla(OpenStack的容器化部署)增加了对后端API服务的TLS加密的初始支持;Magnum提供对Kubernetes版本升级支持、对Kubernetes集群的操作系统升级支持等。

V版本的核心亮点有:推进OpenStack与容器融合,增强裸金属管理功能、对多计算架构和标准的支持以及针对复杂网络问题提供高效解决方案的能力。

从OpenStack最近几个版本的新增功能来看,OpenStack社区的发展趋势为:跨开源项目的融合与协作——OpenStack与硬件、智能、容器等相关开源社区项目的整合与调适。
 
▶OpenStack 全景图
OpenStack有很多服务,我们可以根据需要安装和使用这些服务。图3提供了OpenStack的全景视图,我们可查看这些服务的位置以及它们如何协同工作。

图3  OpenStack全景图


 

龙芯平台OpenStack适配情况

我们在龙芯平台loongnix-server系统上对OpenStack做了适配和测试。

▶适配版本和组件

据了解,国内主流厂商使用的版本有Ocata、Pike、Rocky等。我们目前适配的版本为Rocky。

下载地址:
http://www.loongnix.org/index.php/OpenStack

为什么要适配Rocky版本呢?
(1)Rocky版本是2018年8月发布的,龙芯是在2019年开始做OpenStack相关适配工作。
(2)OpenStack基金会非常看重这个版本,在这个版本中,大大增强了核心组件稳定性,增加了对很多新兴技术的兼容,如:人工智能、机器学习、NFV、边缘计算、软件容器、支持裸机架构等。

服务名称

组件名称

描述

版本

compute

nova

为云主机提供计算资源

rocky

network

neutron

为云主机提供网络资源及网络连接

rocky

image

glance

为云主机提供镜像

rocky

identify

keystone

提供身份和权限验证服务

rocky

block storage

cinder

为云主机提供块存储资源

rocky

object storage

swift

提供对象存储服务,类似于AWS的S3

rocky

 表1 龙芯平台已适配的基础组件列表


如表1所示,目前做了适配分析的OpenStack组件有:nova、neutron、glance、keystone、cinder、swift这6个基础组件。另外,客户端工具OpenStackClient以及horizon组件也是支持的,在龙芯平台上可以正常使用。

 

▶部署工具
OpenStack环境的搭建是比较复杂的,我们从主流的环境部署工具中选择了packstack来做适配,它集成了OpenStack puppet模块,非常成熟和稳定,使用方法也比较简单。具体的使用方法可以参考龙芯社区的《OpenStack安装和使用文档》。

▶测试工具
测试工具,我们选择了rally,这是OpenStack社区推出的一款开源测试工具。我们使用“rally + tempest”对6大基础组件做了功能测试。

▶功能测试结果

表2列出了在龙芯平台和x86平台上,OpenStack基础组件功能测试的结果对比。


其中,对x86平台测试结果需要说明的是:我们使用的x86平台环境是使用虚拟机搭建的,有些测试例的测试条件不满足,导致fail较多。列出这个对比结果,是为了说明龙芯平台部署的OpenStack环境能支持6大基础组件的绝大部分功能

组件名称

结果

(Success/Skip/Fail) (MIPS64)

结果

(Success/Skip/Fail) (x86_64)

nova

(551/28/4)

(503/29/51)

neutron

(265/2/0)

(265/2/0)

cinder

(203/0/0)

(195/6/2)

swift

(139/1/1)

(139/1/1)

keystone

(60/27/0)

(60/27/0)

glance

(127/97/0)

(127/97/0)

表2 OpenStack基础组件功能测试结果对比

 

▶分析过的重点功能

在对基础组件功能测试结果分析的过程中,遇到了很多问题,多数都与配置有关。表3列出了我们分析验证过的基础组件的部分重要功能。

序号

内容

(关联)组件

1

nova 过滤器的使用

nova

2

实例获取不到 IP 地址

nova、neutron

3

实例的迁移问题

nova

4

实例的密钥功能使用

nova

5

openvswitch的支持性分析

neutron

6

实例的浮动ip不生效

neutron

7

multiattach-volume 与多个实例的连接/分离

nova、cinder

8

cinder 多后端存储的使用

cinder

9

swift 的权限问题

swift

10

nova + cinder 各种场景的功能测试

nova、cinder

11

OpenStack 帐号锁定、密码修改问题

keystone

12

使用config drive实现元数据注入

nova

...

...


分析过的基础组件的重点功能列表

 

注:关于基础组件的使用方法,可参考龙芯社区的文档《OpenStack ssh VM的网络配置和操作》、《OpenStack实例迁移配置和使用指南》、《cinder组件的配置和使用文档》。


▶与架构有关的bug
解决的架构问题多数与nova组件有关。在龙芯平台,nova通过libvirt管理KVM云主机。与架构有关的问题,见表4。

序号

问题描述

涉及组件/工具

1

创建实例失败,不支持mips64el CPU架构

nova

2

缺少键盘功能,无法操作实例的控制台

nova

3

不支持设备热插拔功能

nova

4

自动部署工具packstack不支持loongnix-server系统

puppet / packstack

表4 龙芯平台OpenStack架构相关问题
 

▶运行情况


dashboard登录
我们在龙芯平台上部署了openstack环境,图4是openstack环境的登录界面。图5是登录后的实例概况界面。

图4 openstack环境登录界面

图5 实例概况界面
  
实例运行情况
在龙芯平台上部署的OpenStack环境中,对实例进行的各项操作都是正常的。

图6是一个网络拓扑图,外部网络是flat类型,内部网络是vxlan类型。图7是实例vm-03控制台(vnc)的截图,表示可以和外网正常通信。

图6 网络拓扑图

 图7 实例控制台


龙芯未来工作规划

虽然OpenStack已经发展了10年时间,但龙芯涉足OpenStack领域的时间只有1年,还有许多工作要做。其中,首要任务是对基础组件和其它重要组件的适配测试工作,使OpenStack能够在龙芯平台跑起来,并满足基本功能的使用。
 
▶组件适配计划
我们以图3作为组件适配工作的蓝图,结合客户的反馈、运营商/银行/铁路/网络设备商等OpenStack用户的组件使用情况,制定了两个阶段的组件适配计划。

表5是第一阶段的适配计划,主要是对基础组件和客户反馈所需要组件的适配分析。表6是第二阶段的适配计划,是在调研了运营商/银行/铁路/网络设备商等行业对OpenStack组件的使用情况后,做出规划。

组件名称

备注

6大基础组件

功能测试、常见场景测试

ironic组件

镜像构建工具(DIB)、docker、PXE

magnum组件

提供容器集群部署

sahara组件

支持各种不同的Hadoop发行版

表5 组件适配计划-阶段1
 

组件名称

备注

tacker组件

open NFV编排

heat组件

编排器,模板文件、自动化的云部署

ceilomete组件

计量与监控,获取平台中用户对各种资源的使用情况

aodh组件

告警,当收集的计量或事件数据违反定义的规则时,遥测警报服务将触发警报

octavia 组件

负载均衡

表6 组件适配计划-阶段2

 



News

相关阅读


[龙芯有云第四话] 龙芯平台Alpine Linux适配最新进展


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存