多层次服务实验教学云平台的构建与应用

2019-06-11 09:13吕念玲邓洪波秦慧平梁志明
实验室研究与探索 2019年5期
关键词:计算资源组件实验教学

李 磊,高 岩,吕念玲,邓洪波,王 云,秦慧平,梁志明

(1.华南理工大学 电子与信息学院,广州 510641;2.工业和信息化部电子第五研究所 软件质量工程研究中心,广州 510610)

0 引 言

近些年,随着云计算在教育中的应用和普及,很多高校都构建了面向教学和科研的云计算平台,降低了投资和运营成本,简化了应用程序的部署和管理,提高了应用程序和基础设施的灵活性,优化了教学和科研的资源环境[1-3]。然而,面对不同类型的服务和计算资源的需求,如何能充分发挥云计算基础设施即服务(IaaS)在实验开发环境方面的快速部署、平台即服务(PaaS)在计算实验环境的快速扩展和实现软件即服务(SaaS)在教学资源共享平台弹性构建的优点,从而能进一步提高资源环境的使用效率和服务质量,成为云计算在教学应用中的关注点之一[4-5]。

1 多层次服务实验教学云平台的结构

前期构建的OpenStack教学科研云计算平台[6]已经具备了弹性资源和按需使用等优点,利用OpenStack Neutron服务组件实现了对网络资源的共享和隔离,可按照不同的实验项目对虚拟机资源进行二层网络资源隔离,提高了计算资源服务的可管理性[7]。然而,在面对不同层次的实验教学资源服务需求时,传统架构的OpenStack云平台[6,8-10]无法实现硬件的配置与服务所需资源的匹配,难以保证计算资源服务的质量和使用效率,无法实现云平台服务的异构化[11]。因此,在基于前期构建的OpenStack教学科研云计算平台[6]的基础上,实验教学云平台的构建应该针对实验教学服务的多层次(IaaS、PaaS和SaaS)类型进行资源的按需划分和规划,多层次服务实验教学云平台的结构如图1所示。

图1 多层次服务实验教学云平台结构图

在计算资源服务的部署上,对比于传统的OpenStack实验教学平台[6,8-10],多层次服务实验教学云平台充分利用了OpenStack多区域(Region)结构对不同层次服务进行区域划分[12],包括了IaaS、PaaS和SaaS 3个层次服务区域;同时在基础组件服务的基础上,将用户信息和权限管理功能组件Keystone、虚拟机镜像服务组件Glance和基于Djiango架构的Web网页接入服务Horizon组件统一部署并整合为OpenStack公共组件服务。因此,多层次服务实验教学云平台结构不仅实现了对不同类型服务的资源划分,也为针对性的硬件配置优化奠定了基础;同时也保留对用户信息认证、网络接入和虚拟机镜像服务的统一管理,实现了资源异构服务。

2 多层次服务实验教学云平台硬件资源的配置和规划

依据IaaS、PaaS和SaaS服务所面向不同层次教学服务的特点,3个层次区域内计算节点的硬件资源配置和规划如表1所示。

IaaS服务主要是提供实验环境的快速构建,硬件配置需要兼顾计算和存储能力。考虑以最大配置为8个vCPU(虚拟CPU)、8GB RAM虚拟机为例,其中每个虚拟CPU需要一个独立线程进行处理,每台虚拟机一般为50%的使用概率[13],最大可提供30台虚拟机。在表1的配置中,IaaS区域的每个计算节点可同时满足3台虚拟机对CPU的需求,并综合考虑内存容量,其计算节点数量为:

(1)

PaaS服务主要是提供云端实验计算环境的快速扩展,如Hadoop和Spark[14-15]实验计算平台。一般而言,PaaS服务计算节点的CPU和内存配置要高于IaaS服务的硬件资源配置。以每个实验提交的计算任务数据为100 MB,每个CPU处理任务一般为50%的使用概率[13],同时可提交60个计算任务和支持10个实验课程为例。在表1的配置中,综合考虑CPU计算能力和内存容量,PaaS区域的计算节点数量为:

(2)

SaaS服务主要是提供在线的教学服务,如资料下载、在线教学视频播放等。其中在线教学视频一般为FLV视频格式,播放时CPU占用率较低[16]。因此,SaaS服务的CPU和内存的配置可低于IaaS服务的硬件资源配置。考虑以单个视频播放CPU负载为25%,同时最大可支持150个教学视频播放为例。在表1配置中,SaaS区域服务的计算节点数量为:

(3)

IaaS和SaaS服务为了保证实验数据和教学相关资料存储的安全性,其计算节点采用了2块硬盘作为RAID配置,提供相关数据的冗余存储和备份;PaaS服务主要是面对数据流的计算服务,为了节省硬件的成本,采用单硬盘存储可满足需求。综上所述,通过不同层次服务的资源配置和规划,使得云平台在面对不同的服务时可按需进行物理资源的配置和划分,提高资源的可管理性和硬件使用的效用比,实现服务的异构化。

3 基于OpenStack多层次服务区域的部署

按照3个层次区域的硬件资源配置规划,多层次服务实验教学云平台的每个区域由一套完整的Nova、Cinder和Neutron组件服务负责该区域内虚拟机、网络存储和网络资源的管理和调度,主要的部署流程如图2所示。

图2 多区域服务组件部署的主要流程

在前期工作的基础上[6],按照相同的过程在3个区域内完成Nova、Cinder和Neutron服务组件的部署后,基于OpenStack平台的多层次服务云平台部署流程包括:①在公共组件服务的Keystone服务内分别为3个区域创建Nova、Cinder和Neutron服务组件的Endpoint(服务端点)名称;②将区域内的服务组件权限认证地址修改为公共组件Keystone服务的地址和端口;③修改区域内服务组件对应的配置文件,使得区域内的服务能接入到平台的公共组件Keystone、Glance和Horizon服务中;④统一各个区域内各个服务的管理密码内容;⑤修改各个区域内的Nova服务的镜像配置为公共服务的Glance API地址。完成部署后,多层次服务实验教学云平台内区域的结构如图3所示。

图中每个区域内的网络节点具备3个网络端口,分别用于管理网络、虚拟机内网和外网的接入。其中管理网络负责和区域内不同服务组件之间管理和控制信息的交互;虚拟机内网利用Neutron服务的2层网络隔离实现区域内不同实验资源之间的网络资源隔离,使得不同实验的虚拟机集群的IP可以重复,避免了不同教学实验项目虚拟机资源的相互干扰;外网接入使得每个实验虚拟机集群可通过独立的公网IP访问公网,提供云计算资源的对外接入访问。

图3 区域内的服务组件结构原理图

区域管理节点负责运行Nova、Cinder和Neutron的管理服务组件,负责和公共组件服务进行通信,实现云平台对资源调度的统一管理;存储节点通过运行LVM服务提供网络卷存储服务,使用iSCSI网络协议和Cinder服务提供虚拟机在线网络存储的挂载,实现数据存储的扩展和备份[17];计算节点运行nova-compute和neutron-server服务对该节点启动的虚拟机和网络资源进行调度和管理。

由于网络是云平台的资源访问的重要途径,因此为了提高网络接入的高可用性,每个区域网络节点采用了高可用性结构进行部署,即采用多台服务器同时运行neutron-l3-agent服务,实现多节点的网络接入的负载均衡,避免网络单点化故障。

4 云平台虚拟资源规划和实验教学应用

4.1 服务镜像和虚拟机的配置规划

根据不同层次服务(IaaS、PaaS和SaaS)的特点,多层次服务云平台的虚拟机镜像制作面向不同服务需求的虚拟机镜像提供不同的资源服务,其配置如表2所示。

表2 虚拟机镜像配置表

为了实现计算资源的按需使用,云平台规划了多种CPU、内存和硬盘的虚拟机配置组合,满足不同服务资源的需求,使得计算资源可以按需进行使用,配置如表3所示。

表3 虚拟机配置组合列表

4.2 多层次服务实验教学云平台的应用

在实验教学的应用方面,实验课程管理员(主要是课程或者实验室的相关负责人)作为一个OpenStack操作的租户(Tenant),每个租户按照实验课程的资源和服务类型构建所需的IaaS、PaaS和SaaS资源提供实验教学所需的环境。

4.2.1 面向IaaS服务的实验教学应用

在面对不同的实验教学项目时,管理员可按需快速地启动已安装好开发软件的虚拟机提供在线实验环境的快速部署。以嵌入式系统课程为例,管理员按照实验所需的资源配置快速创建一定数量的虚拟机,包括具备gcc、Eclipse和Intellij idea开发环境的虚拟机,并在实验课程开始前将虚拟机按需分配给参与实验教学的学生,虚拟机管理界面如图4所示。其中实验开发环境主要是满足计算和编译服务,因此需要同时考虑CPU的计算能力和内存的容量,虚拟机的配置一般为M1.medium和M1.large。

图4 IaaS服务虚拟机管理界面

4.2.2 面向PaaS服务的实验教学应用

在面对数据分析、分布式计算和机器学习等相关实验课程时,管理员可利用云平台快速地扩展实验课程需要的PaaS实验计算环境。在实验课程开始前,管理员按照实验教学所需的计算能力启动一定数量的Hadoop或者Spark服务镜像虚拟机,并按照网络的实际参数修改镜像的配置,例如修改Hadoop的Master和Slave虚拟机的IP、端口以及集群管理模式等参数,实现PaaS实验计算环境的快速扩展。同时利用Neutron服务的2层网络隔离功能,使得多个实验计算环境集群在弹性扩展时,计算集群内的IP独立、可连续并且不受其他集群配置的干扰,提高资源的可管理性。

其中Hadoop和Spark是不同类型的计算框架,Hadoop主要是考虑CPU的计算能力和硬盘的存储,虚拟机的配置一般为M1.small和M1.large;Spark是内存计算类型,主要考虑到CPU的计算能力和内存容量,虚拟机的配置一般为M1.medium和M1.xlarge。PaaS服务计算资源结构示意图如图5所示。

图5 PaaS服务计算资源结构示意图

4.2.3 面向SaaS实验教学的应用

SaaS服务主要是提供实验课程的在线学习服务,云平台采用了Moodle软件提供在线教学服务的快速构建[18]。每个实验课程管理员可直接按需启动表2中的SaaS服务虚拟机镜像,包括了负载均衡、Apache PHP网页服务和MySQL数据库服务镜像,按照在线教学服务的需求快速构建一套完整的Moodle在线服务集群。在完成服务集群的构建后,参与课程的学生和老师可直接利用Moodle软件提供的功能实现在线教学服务,包括课程的讲义、题库、实验代码和在线教学视频服务等。

由于Moodle软件是将配置信息存储于数据库内,为了保证集群在不同时段的服务处理能力,Apache PHP网页服务可以利用云计算的弹性特点实现在线的扩容,即当Apache PHP网页服务端负载较高时,可由管理员新启动一个虚拟机,并修改相关的数据库信息配置,将该虚拟机增加到所属负载均衡服务的后端内完成服务计算能力的扩展。以嵌入式系统实验课程为例,SaaS在线学习服务资源结构示意图如图6所示。

图6 SaaS在线学习服务资源结构示意图

5 结 语

云计算的应用不仅能改善实验资源的环境,也降低了实验室的维护成本。基于OpenStack构建了多层次服务实验教学云平台,并对其进行了设计与应用;该平台通过对不同层次服务(IaaS、PaaS和SaaS)区域资源的划分和规划,不仅实现了不同层次服务实验资源的快速、弹性和按需使用,同时也进一步提高了硬件资源的效用比,提高了服务的质量,实现了资源的异构化,优化了实验资源的使用,是面向实验教学云计算平台构建和应用的一次成功尝试。

猜你喜欢
计算资源组件实验教学
无人机智能巡检在光伏电站组件诊断中的应用
基于模糊规划理论的云计算资源调度研究
小议初中化学演示实验教学
新型碎边剪刀盘组件
电容器的实验教学
对初中化学实验教学的认识和体会
U盾外壳组件注塑模具设计
改进快速稀疏算法的云计算资源负载均衡
基于Wi-Fi与Web的云计算资源调度算法研究
耦合分布式系统多任务动态调度算法