刘晓忠
(苏州高等职业技术学校,江苏 苏州 215000)
当今世界信息技术高速发展,海量数据都已经实现云上服务,云计算技术已经风靡全球。中国的云计算市场需求庞大,各种云计算技术的研发创新不断涌现,正处于蓬勃发展的时期。阿里云作为中国的云计算厂商代表已经跻身于全世界三大云厂商。国内腾讯云、百度云的用户规模也不断增长,发展前景非常广阔,用户可以随时随地使用云上的资源,比如各种应用服务器、计算服务等。最近大火的人工智能ChatGPT就是在微软云上通过大数据训练而来的。云计算是信息科技发展的一个重大应用,在培养人才的学校里,教师越来越感受到以云计算技术为代表的信息技术的发展对教学理念和教学方式的不断冲击。同时,学校的硬件和软件资源也不断在更新发展,在这样的环境下,私有云在学校教学和管理中就得到了广泛的应用。笔者所在学校的信息中心机房基于OpenStack技术搭建了私有云平台,整合了丰富的教学资源服务于整个学校。实践证明,私有云平台对教学和管理都有较大的帮助。
公有云使用简单,无需担心运维管理,但长期使用费用较高,不方便定制教学环境。综合考虑,学校可以搭建私有云,由学校方来建设。学校私有云的搭建可以实现学校数据和软件资源的云上服务;教师可以充分享受云上资源带来的便利,实现云上教学资源的获取、存储和共享;学生可通过校园网络访问教学实训平台,获取各课程所需的各种教学资料等。即使在校外,教师和学生也可以通过VPN等方式进行访问。
通过搭建私有云,机房管理员可以对机房的计算机进行定制化部署,通过不同的镜像模板实现云上管理。管理人员通过OpenStack的Glance服务,根据不同课程需要用到的软件以及考试和上课的不同环境定制不同的镜像,教师需要使用时可以直接从云上获取所需要的镜像。学生在实验实训时可以利用私有云提供的资源完成Linux服务器的安装和配置。在机房上课时,学生也可以通过PC终端工具直接登录私有云上的云主机完成各种实训实验任务,提高了硬件的使用效率。
笔者所在的学校是全国计算机等级一级考试的考点,在之前的考试中,校方也曾经遇到过因物理服务器出现故障导致考试延迟的情况。近几年,依托学校云计算中心,管理人员在私有云上搭建了计算机等级考试专用服务器。依托OpenStack的强大功能,在云主机上运行的服务器性能强劲,环境搭建简便快捷,使用便利。从这几年的计算机等级考试的运行情况来看,私有云上的云主机服务运行顺利,性能高效稳定。同时,对于一些课程的考试,教师也可以通过在学校私有云上搭建云主机服务器,完成相应的专业技能考核,不仅考试环境得到了丰富和完善,也方便教师进行评卷分析。
OpenStack是一个开源项目,开发人员可以通过各大资源平台免费获取,它对硬件和软件没有太高要求,可以在虚拟机系统或者普通服务器上进行开发,支持多种虚拟化技术。
私有云是围绕特定客户搭建的,开发人员可以在云上部署相关应用,根据需要进行私人定制。私有云的特点是专有资源,企业可以把私有云部署在数据中心机房,也可以部署在安全的主机托管场所。对于学校而言,学校本身具有完备的网络基础设备和比较充足的服务器资源,同时也希望数据的安全性和保密性得到保障,为学校提供资源、应用和数据服务。在学校搭建私有云是一种行之有效的整体解决方案,而通过OpenStack搭建私有云具有成本低、速度快和灵活的特点[1]。OpenStack是开源的,获取基本免费,更新升级起来比较方便。安装部署并不需要耗费太多时间,根据需要学校还可以采取自动化脚本部署,无论是兼容性还是适用性都较强。校方可以根据实际教学业务需求进行部署,使用起来简便可靠。
OpenStack的每个服务可以运行在单独的服务器上,它的安装有多种可行的方法,可采取以下几种部署架构:
3.1.1 单节点
一台服务器运行所有的服务,这种配置主要是教师演示操作,学生学习如何使用OpenStack,体验它的使用方法。
3.1.2 双节点
这是一个简单架构的OpenStack平台,在控制节点在上安装MySQL、Keystone、Glance、Nova、Neutron、Dashboard服务,主要作为认证、镜像等管理节点以及提供Nova和Neutron服务的管理节点、Dashboard界面服务。在计算节点上主要安装Nova和Neutron服务,Nova服务提供云主机服务,Neutron提供网络服务。这种节点的架构主要用于验证OpenStack概念和开发环境。在实际操作时可以通过Shell脚本进行OpenStack平台部署。
3.1.3 多节点
在这种结构下,开发人员可以通过多个控制节点分别部署不同的服务,构建controller节点集群。多个计算节点也可以分布到不同的区域提高云主机的生成速度和运行的性能,还能根据需要增加特定的数据库节点、存储节点等。对于多节点的部署需要多台配置较强的硬件服务器的支持,搭建的私有云的功能也相对比较完备,在私有云上生成云主机的性能主要取决于硬件的配置和支持[2]。
3.2.1 基础环境建设和资源规划
学校信息工程系的私有云实验平台具体部署架构为1台控制节点,2台计算节点。该私有云平台使用了3台H3C UIS R190 G2 服务器,该服务器CPU为2颗6核12线程处理器英特尔至强E5-2620,管理节点使用72 G内存,计算节点的内存为128 G,储存使用计算节点的2块512 G硬盘。硬件配置总体不高,若校方要提高云平台性能,可通过增加计算节点来实现。
3.2.2 环境搭建基本过程
该私有云平台使用2个网络接口分别对应OpenStack的外部网络和内部网络。外网负责连接OpenStack与其他网络设备,用于外部物理网络接入,内部网络是管理平台所在的网络。
本实验中,开发人员将外部网络连接在交换机上,方便用户进行访问,由管理节点通过内部网络分别连接计算节点1和计算节点2,这样可以减少不必要的网络管理和网络损耗。开发人员使用开源的OpenStack对本实验平台进行搭建,通过本地http的方式提供yum 源进行安装,在安装组件时,考虑到维护和使用率,额外增加了trove数据库管理、heat模版编排、centimeter资源监控等组件。OpenStack的各个服务器之间通过API调用,实现系统的松耦合,其内部组建的工作过程是一个有序的整体,比如计算机资源分配、控制调度、网络通信等都是通过高级消息队列协议来实现。每个组件都需要通过Keystone进行认证从而返回相应的令牌对云平台进行管理。笔者所在的信息工程系私有云实验平台如图1所示。
图1 私有云实验平台
项目搭建的基本步骤包括管理节点和计算节点的安装和配置。
(1)在管理节点上的操作。
①首先修改yum源,采用本地http方式,配置所需要的所有软件的yum源,修改hosts文件使3台服务器主机可相互访问,安装mysql、mongo、rabbitmq、memcache,完成后在数据库中创建用户keystone,修改权限和密码,完成后开启服务。
②添加Keystone组件:安装openstack-keystone、httpd、mod_wsgi,完成后修改/etc/keystone/keystone.conf配置文件,设置安全令牌,连接数据库路径,创建内外部访问api接口,完成后开启服务。
③添加Glance组件:在MySQL数据库中添加glance用户,并修改权限和密码。使用yum安装openstack-glance,完成后修改/etc/glance/glance-api.conf设置各类api接口,完成后开启服务。
④添加Nova组件,在管理端安装Nova组件,修改计算节点安装nova-compute,随后在管理段数据库中添加Nova用户信息,并在/etc/nova/nova.conf中添加rabbit消息队列配置,数据库路径配置,日志保存位置的配置,完成后开启服务。
⑤添加Neutron组件:在MySQL数据库中添加Neutron用户,并添加neutron api接口,使用yum源的方式安装neutron相关组件,配置/etc/neutron/neutron.conf添加api接口,网络配置,网桥网关防火墙等配置,完成后开启服务。
⑥添加Dashboard组件:配置rabbitmq消息队列,memcached会话储存配置,使用yum安装openstack-dashboard,启动httpd和memcached服务,至此OpenStack管理节点初步搭建完成[3]。
(2)在计算节点上的操作。
①添加Nova组件:使用yum安装openstack-nova-compute,配置文件路径为/etc/nova/nova.conf,内容与管理节点大体相同,完成后开启服务。
②添加Neutron组件:配置/etc/neutron/neutron.conf添加api接口,网络配置,网桥网关防火墙等配置,完成后开启服务。Neuron组件可以灵活地划分物理网络,在多租户环境下提供给每个租户独立的网络环境。
配置完成后管理人员通过dashboard访问网页,访问地址为http://管理ip/dashboard,通过访问管理平台查看私有云的各项功能是否正常运行,并且在私有云上测试云主机的创建速度和云主机的各项性能等。学生在机房使用私有云的云主机时在网段上的选择教师可根据每个机房的vlan情况来分配,使用和机房网段相同的云主机来进行实验。
随着云计算技术的发展,私有云在企事业单位得到了广泛应用。在学校搭建私有云有效地整合了各种软硬件资源,解决了由设备、场地等问题带来的不足,实现了课程资源的有效融合。在私有云上生成的云服务器可用于学校的各种业务需求,可以用于教学和办公等多种应用场景。通过OpenStack搭建学校私有云,充分地利用了云计算平台的强大功能,可根据需要对云平台功能进行改进,为学校的教学和办公提供了较好的解决方案。