高职云计算技术专业实践教学模式的研究
2018-11-01王湘渝黄蓉
王湘渝 黄蓉
摘要:针对高职学院新开设云计算技术专业实践课程遇到的困难,提出了在学院普通机房搭建云计算实训环境,并在该实训环境上实现云计算平台的计算、存储、网络等主要功能的教学模式。该方案有助于解决高职院校新建云计算实训室建设成本高、实训管理不便等问题。
关键词:云计算技术与应用;OpenStack;虚拟仿真
中图分类号 TP393.08 文献标识码:A 文章编号:1009-3044(2018)18-0097-04
The Study on the Practical Teaching Model of Cloud Computing Technology Specialty in Higher Vocational Education
WANG Xiang-yu, HUANG Rong
(Software Institute of Hunan Vocational College of Science And Technology, Changsha 410118,China)
Abstract: In view of some difficulties of opening new practical courses of Cloud Computing Technology and Application, this paper comes up with setting up the cloud computing training environment. It realizes the main teaching functions such as computing, storage, network and so on in the general computer room. This scheme is helpful to solve the problems of high cost and inconvenient management of new cloud computing training room in the higher vocational colleges.
Key words: cloud computing technology and application; OpenStack; virtualized simulation
互聯网技术蓬勃发展了20年,技术沉淀和创新积累已从量变发展到质变,促成了当今新的IT架构“云计算”王者归来[1]。在此背景下,越来越多的用户正逐步将自己的IT系统从传统架构向“云”架构迁移[2],既带来了IT基础设施和应用的革新,也带来了对云计算人才的渴求[3,4]。
国家教育部于2015年发布了2016年高职院校专业目录,首次将“云计算技术与应用”专业列入,标志着云计算专业已进入正式建设阶段[5]。许多高职院校开设或正在筹划开设云计算专业,并将云计算的课程纳入传统的计算机网络、通信、计算机软件、计算机应用等IT专业的人才培养方案。云平台的搭建和运维能力是云计算技术专业重点培养的职业技能。随着云计算技术专业和其相关课程的开设,带来了实训室建设和其管理等迫切需要解决的问题。[6]
1 云计算专业课程实践环节困惑
1.1 云计算实训室建设成本高
搭建一套云计算平台,一般需要2台高配置服务器、1台存储设备,价格在20万左右[7,8]。如果按照1套设备提供给4-6个同学使用,一个班按照55人计算,至少需要购买10套云计算设备,总价格200多万。目前,已开设云计算专业的部分学校计划采购了用于教学的云计算硬件设备,而更多学校由于教学经费原因,面临云计算专业开设困难的难题[9]。
1.2 教学管理不方便
云计算平台实训内容多,核心模块安装有先后顺序,例如,要想完成云平台存储模块安装,就必须先完成验证服务keystone模块安装。教学时,如果每次都从头安装就会花费很多时间在重复操作上,浪费了时间。而且,一个云计算实训室面临多个年纪、多个班一起使用,由于实训内容和进度不同,经常造成云计算实训室软件删除和配置文件破坏等意外情况,影响了正常的教学工作[10]。
1.3 服务器设备少,学生操作机会少
云计算的每个实训操作步骤多,实训时间长,连贯性高,采用了学生分组轮流操作的形式管理,势必造成部分同学不能和老师同步操作,经常处在等待状态。[11]
2 云计算实训课程设计
本文以我校开设的云计算平台安装和运维课程为例,介绍云平台教学方向选择;如何将普通机房配置成云计算实训机房;举例介绍脚本安装云平台模块,以及云平台模块快照管理和云平台运维操作等云计算实训室建设和管理关键问题。云计算实训平台教学模式如图1所示。
2.1云计算平台选择
目前,市场上代表性的云计算平台有开源的Openstack和商业化的Vmware等云平台。Openstack为一个开源的云计算解决方案可以为公司节省很多费用,它由十多个模块组成,各个模块之间松耦合,便于扩展,选择一些主要的模块安装就可以实现一些基本功能的云平台,著名的京东电商云平台就是采用Openstack搭建的[12]。Vmware则是市场上使用非常多的商业化云平台,各个模块之间集成度非常高,安装使用方便,在中小企业数据中心得到了广泛应用[13]。
教学时,建议首先开设开源的Openstack云平台课程,学习云平台架构,理解各个模块功能和搭建原理[14],后期课程里再讲授商业化集成度高的Vmware等云平台,以更好满足学生毕业实习和工作需要。
2.2云计算实训机房要求
我们以实现学生搭建基本功能云平台和方便教师管理云平台为目标,设计实现最小架构的云平台所需的硬件设备。该云计算平台可以安装在普通机房的一台电脑上,每个学生都可以在电脑上单独操作完成。
实训计算机硬件配置为2核4线程的I7处理器、8G内存、100G的空余存储空间,推荐配置为I7处理器,16G内存,500G磁盘空间。以上这些计算机硬件设备配置已经是高职院校普通机房的标配,不需要额外经费购买。
2.3机房安装虚拟化软件
在实训机房的计算机上安装VMware Workstation 12,通過VMware创建的虚拟机来配置Openstack的控制节点和计算节点。控制节点内存分配2G,计算节点内存分配3G,处理器数量统一分配2核,并都启动虚拟化Intel VT-x/EPT或AMD-V/RVI(V)功能。
虚拟机节点的资源配置如下图2。
2.4新建虚拟机,搭建集群
云平台包括一个控制节点和一个计算节点,计算节点可根据需要进行增加。每个节点配置两块网卡,一块用作内网间的通信以及云平台的管理;另一块用作外部网络对IaaS平台的访问以及平台对外部用户提供业务和服务。实训要求用到两个软件包,一个名为CentOS-6.5的镜像文件,一个名为iaas-repo的OpenStack软件包。云平台虚拟服务器集群网络拓扑如图3所示。
2.5设计脚本,分别安装云平台各模块
OpenStack云平台是由多个松耦合的模块组成,安装分为手工安装和脚本安装。手工安装可以更加详细了解云平台模块运行原理和配置过程,但手工配置步骤多,容易出错,排错比较困难。脚本安装则配置快,出错少,一次写成,反复使用。
教学中我们选择Openstack一到两个模块进行手工安装,其余模块采用脚本安装。本文以Openstack的Glance镜像存储为例,列出手工和脚本安装方法。Glance镜像存储手工安装配置步骤为:安装Glance基本组件;创建Glance数据库并授权在Keystone注册Glance服务;修改Glance配置文件;启动Glance服务[15]。从手工安装步骤可以看出,配置重点主要在修改配置文件,这也是手工安装最容易出错的地方。
充分利用脚本安装在修改配置文件数据上的优势,设计了脚本实现安装配置,以下为核心脚本。
source /etc/xiandian/openrc.sh //运行环境变量脚本
openstack-config --set /etc/glance/glance-api.conf database connection mysql://glance:$GLANCE_DBPASS@$HOST_NAME/glance //修改配置文件,连接数据库
su -s /bin/sh -c "glance-manage db_sync" glance //同步数据库,为Glance建表
source /etc/keystone/admin-openrc.sh //运行环境变量脚本
keystone user-create --name=glance --pass=$GLANCE_PASS //创建Glance用户和密码
keystone user-role-add --user=glance --tenant=service --role=admin //修改用户权限
keystone service-create --name=glance --type=image --description="OpenStack Image Service"
keystone endpoint-create --service-id=$(keystone service-list | awk '/ image / {print $2}') --publicurl=http://$HOST_NAME:9292 --internalurl=http://$HOST_NAME:9292 --adminurl=http://$HOST_NAME:9292 //设置服务访问端点
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_uri http://$HOST_NAME:5000 //修改glance-api.conf配置文件
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_uri http://$HOST_NAME:5000
openstack-config --set /etc/glance/glance-api.conf DEFAULT notification_driver messaging
openstack-config --set /etc/glance/glance-api.conf DEFAULT rpc_backend qpid
chkconfig openstack-glance-api on //设计开机自启动
service openstack-glance-api start //启动服务
2.6为每个云计算模块拍摄快照
为了减少大量重复操作的时间,我们设计在部署机房环境时,按照教学顺序将安装好的云计算各个平台模块采用快照形式进行保存,学生在学习相应模块时可直接通过快照进入相应模块的配置操作。
(1) 控制节点快照管理
控制节点需要安装keystone、镜像存储、计算服务、网络服务、Dashboard访问服务、cinder块存储、swift对象存储等模块,每个模块安装好以后都进行快照管理。控制节点快照如图4所示。
(2) 计算节点快照管理
计算节点需要安装计算服务、网络服务、存储等服务,每个模块安装好后也需要进行快照管理,计算节点快照如图5所示。
2.7云计算平台上运维
搭建好云计算平台后,就可以通过命令和浏览器访问云平台,并根据用户需求发布云主机、分配云存储资源和进行SDN网络运维管理操作。
(1)通过浏览器访问云平台
在浏览器地址栏输入控制节点dashboard地址,通过keystone验证,就可以访问云平台,进行管理操作,如图6所示。
(2)运维云平台发布的云主机
在云平台上发布一个云主机,通过浮动地址访问云主机,就可以进行云主机操作,如图7所示。
(3)运维镜像存储
通过上传本地镜像文件和从网站下载镜像文件的方式完成创建、查询、删除和修改镜像文件的运维操作,如图8所示。
(4)设计云平台网络
网络运维包括:创建网络实现租户子网和租户之间以及租户与外部网络之间通信,租戶的实例资源接到对应的租户网段,从而实现网络的访问,如图9所示。
3 结语
本方案构建的云计算实训室具有实施效率高、通用性强、易于推广的特点,实践内容涵盖了云计算平台安装和运维等高职学生重点培养的职业技能,满足了高职院校新开设云计算技术实训课程实训环境的需要,对已购买新服务器设备建成的云计算实训室教学管理也具有有益补充。
本方案在我校云计算技术和计算网络专业云计算实践教学上进行了推广,有效了弥补传统实训室建设成本高,建设周期长,教学管理不方便的问题。本方案还可作为技能大赛的训练平台,云计算技术全国大赛大部分功能都可以在这个平台上实现,近两年我校采用该平台进行赛前实训,在竞赛中多次获得省赛和国赛奖项。
参考文献:
[1]武志学.云计算虚拟化技术的发展与趋势[J].计算机应用,2017,37(4):915-923.
[2]中国信息通信研究院[R].云计算白皮书(2017),2016-09.
[3]蒋建峰,刘源.苏州高职院校云计算专业建设探索[J].苏州市职业大学学报,2016:85-88.
[4]石乐义.“云模式”IT专业校企合作人才培养模式探索[J].职教论坛,2014(2):72-74.
[5]王永祥,柳义筠.高职云计算技术与应用专业课程体系的探索与构建——基于对国家首批高职示范校的调研[J].职业技术教育,2017,38(8)29-31.
[6]金永霞.云计算技术与应用课程的实验教学探索与实践[J].计算机教育,2017(2):146:149.
[7]擑友.Openstack开源云王者归来[M].北京:清华大学出版社,2014.
[8]张子凡.Openstack部署实践.人民邮电出版社,2016.
[9]石慧,李俊杰.“互联网+”环境下云计算技术与应用专业实训室建设模式探索[J].高等职业教育,2017,26(6):24-28.
[10]华驰,顾晓燕.”互联网+”背景下云计算技术与应用专业实训基地设计及构建[J].实验技术与管理,2016,33(9):223-228.
[11]王湘渝.高职网络技术专业实践教学研究[J].实验科学与技术,2013,11(1):103-105.
[12]史建焘.基于CloundStack的网络攻防虚拟化实验云平台[J],实验室研究与探索2017,36(5):85-88.
[13]苏命峰.云计算环境下高校数据中心的虚拟化研究与实现[D].湖南大学,2015.
[14]Keystone, the OpenStack Identity Service [EB/OL]. [2017-12-20]. https://docs.openstack.org/keystone/latest/.
[15] Sample configuration for Glance API [EB/OL],[2017-12] https://docs.openstack.org/glance/ocata/sample-configuration.html.