[摘 要] 云计算是IT技术重要的创新之一,该技术必将为各行业带来巨大变革。因此,各行各业迫切需要云计算方面的高素质人才,而高校开设云计算相关课程正顺应这一趋势。作为全新的课程,它不仅需要教师深入理解云计算相关理论知识,同时还应具备相应实验技能。该文就高校云计算课程的教学与实验方法展开讨论,给出基于云平台OpenStack的教学和实验方法。通过对云平台OpenStack的学习,学生能理论聯系实际,最终提升对云计算的理解和实际运用能力。
[关键词] 云计算;OpenStack;教学
[作者简介] 刘志才(1978—),男,四川泸州人,西华大学计算机与软件工程学院教师,主要从事机器学习、软集理论、物联网安全研究。
[中图分类号] G642.41 [文献标识码] A [文章编号] 1674-9324(2020)17-0385-02 [收稿日期] 2020-03-09
一、引言
云计算是这样一种模式,它允许用户通过便捷的网络接入到一个可动态配置的共享计算资源池,并以最小的管理代价即可获取这些资源的使用权[1]。云计算有五大特征和三种模式。其特征为:按需获得自助服务、广泛的网络接入、资源池化、弹性伸缩及可计量的服务。其三种模式是:基础设施即服务(IaaS),平台即服务(PaaS),及软件即服务(SaaS)。云计算使得人们“可以像用水、电那样使用计算资源”。由此特性,可预见在不远的未来它必将为各行各业带来巨大的变革。
OpenStack被誉为云操作系统,它将计算、网络、存储等资源整合起来以服务形式提供给使用者。OpenStack作为云计算领域的佼佼者,其用户群不乏著名的企业和机构,如CERN、华为等。云计算课程开设的目的是使学生通过该课程的学习在实际中能运用“云”解决实际问题。本文以OpenStack为基础,就云计算的教学与实践问题展开讨论。课程涉及云计算的基本概念、系统架构;云平台的使用;部署OpenStack;使用平云台自行构建私有云。
二、教学要求
1.云计算教学中存在的问题。云计算涉及广泛的理论体系,实际教学过程中发现大致存在以下问题:(1)教材种类繁多。因云计算涉及的领域非常广,所以教材种类多种多样。且侧重点各不相同,有的侧重某种虚拟化软件;有的侧重于大数据存储等。不同学校在教材选择上也存在差异。(2)理论教学多于实践教学。很多教材偏重于理论,缺乏系统的实验指导。本科教学是希望培养出实际动手能力强的学生。因此,教学中理论和实践相结合才能让学生有章可循,加深理解。(3)教学方法单一。当前常用的方式是以讲授为主,该方式有利于教师控制课程内容,但学生处于被动状态,不利于发挥主动性和创造性。
2.改进措施。高校是人才培养的基地,结合我校的培养方案,该课程涵盖三个部分的内容,首先是掌握云计算的基本概念、系统架构;其次是了解云计算的关键技术;最后是能采用已有的方案构建云平台。云计算涉及广泛的内容,如虚拟化技术、存储技术、网络技术等。如何将这些分散的理论体系联系起来?答案是OpenStack。它作为一个云操作系统,是云计算教学非常理想的工具。通过让学生学习和部署OpenStack系统,可以提高对云计算的理解和实际操作能力。OpenStack拥有众多的组件系统,如Horizon,Glance、Neutron、Nova等。通过实际动手研究这些组件,则对虚拟化技术、网络技术、存储技术都能有一个更为深入的了解。
三、OpenStack教学内容设置
根据教学目标规划教学内容如下:首先是云计算的认知与体验,即了解其发展趋势,认识其对产业链的影响。其次是云平台的部署。最后是扩展相关应用,采用云平台构建人工智能应用。
1.初识云计算。该部分将讲述云计算基础理论知识。使用公有云平台IaaS服务进行教学,如AWS EC2等公有云平台均可采用。在实际使用过程中补充理论知识,让学生了解云计算的基本概念、系统架构以及云计算的发展趋势;云计算的关键技术、资源架构;云计算给IT服务管理带来的影响和变更。学生通过云服务的初步体验,在使用中明白云计算的意义(“像用水、电般使用计算资源”),由此能自行总结云计算的五大特征。
2.构建云平台。通过已初步掌握的云计算基本概念,对常用云平台已能熟练使用。那么“云”是如何实现的?这是本部分需要解决的问题。进而引导学生自己动手搭建云计算平台OpenStack,明白云技术的设计与实现。OpenStack模块繁多,Keystone、Glance、Neutrion、Cinder是OpenStack核心组件,必须完整学习。所有的组件由手工配置,全部模块安装至同一虚拟机。Linux安装命令繁多,故实验手册应尽量详尽;联网安装的模式最好自行搭建本地yum服务器;OpenStack不同版本之间存在差异,实验手册的编制应以官方[2]为主。(1)本课程基于CentOS 7.5、OpenStack Queue。亦可使用Ubuntu、Debian等系统,但不同版本间存在差异,所以应固定使用其中一个版本。即可减少出错的几率,亦可在出现问题时方便解答。安装OpenStack网络拓扑采用单一主机模式,即控制节点、计算节点、存储节点都由同一台主机担任。(2)部署OpenStack基本环境。在Linux Server上部署基本环境需要配置域名解析;配置时间同步;配置相yum源;安装数据库;安装消息队列;安装Memcached;安装Etcd服务。(3)部署Keystone认证服务器。在控制节点创建Keystone数据库;安装相关软件包;初始化Keystone数据库;初始化Fernet令牌库;配置启动Apache;初始化Keystone认证服务;创建Keystone实例。Keystone是身份认证模块,任何需要认证的模块均依赖于此,故Keystone先于其他组件安装。(4)部署镜像服务组件。创建Glance数据库;在Keystone上注册Glance;安装相关软件;同步Glance数据库;启动镜像服务;对Glance组件进行验证。Glance镜像组件用于注册、检索所需的镜像文件。Glance是创建虚拟机的前提,应先于Nova组件进行配置。(5)部署Nova控制组件。创建Nova数据库;在Keystone上面注册Nova;在控制节点安装Nova相关服务;安装相关软件包;同步Nova数据;启动Nova服务;最后以相同方式安装计算节点的Nova组件。Nova负责实例的生命周期管理,即虚拟机的创建、启动、销毁等由Nova组件负责。(6)配置Neutron网络服务。任务主要内容为在Keystone中注册Neutron相关服务;在控制节点安装Neutron网络组件;同步数据库;启动Neutron服务并验证。Neutron组件用于网络的创建、修改、删除等操作,实现网络虚拟化功能,它支持OpenvSwitch、Linuxbridge等虚拟化网络技术。计算资源类组件部署完成,可开始创建虚拟机服务。至此,OpenStack所有重要组件学习完毕。作为扩充,可基于已学的云知识构建深度学习平台等。
四、結语
本文讨论了云计算平台OpenStack的实验和教学方法,分析了当前教学中遇到的问题并阐述了我们的方法和教学思路。实际中我们发现,通过本课程的学习,学生更容易对云计算有系统和全面的了解,并且能迅速掌握架构云平台所必需的基本知识和基本技能。
参考文献
[1]P.Mell,T.Grance,et al.,"The nist definition of cloud computing.(2011)," NIST special publication,vol.800,p.145,2011.
[2]OpenStack,"Openstack install." https://docs.openstack.org/train/install/,2020.
Abstract:Cloud computing is one of the most important innovations in IT technology,which will bring significant changes in all industries.Therefore,our country urgently needs high-quality talents in cloud computing.As a result,the course of cloud computing in colleges and universities meets this demand.This paper discusses the teaching and experimental methods of cloud computing courses in our colleges and gives the teaching and experimental methods based on OpenStack.By learning OpenStack,students can integrate theory with practice,and finally improve their understanding of cloud computing and their ability to actually use cloud computing.
Key words:cloud computing;OpenStack;teaching method