基于云平台的高校计算机实验室管理设计与实现
2022-07-11伍家恒覃显力
伍家恒 覃显力
(广西外国语学院 广西壮族自治区南宁市 530222)
随着高校实验室的发展和完善,实验室人员和资源数量不断增加,在实际发展过程中,使得实验室资源共享和数据储存的管理成为难题。为保障高校实验室的运行效果,需要运用Web 技术和云计算技术建立高校实验室云平台管理系统。实验室环境具有一定的特殊性和复杂性,在实际管理过程中需要根据其中的不同要求进行调度、策略与服务方式的调整,运用云计算技术能够有效地根据实验室管理的复杂需求,设计出能够针对不同运用需要的独特算法。
1 云计算概述
云计算技术是二十世纪以来最重要的文化进步产物,是一种文明的进步和技术的革新,具有便捷性、准确性、安全性和低廉性的优势,其中融合了分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机和网络技术。在实际运用过程中,能够根据用户需要进行网络访问,并进入到资源配置共享池,以此获得网络、服务器、存储的数据以及应用软件的功能。将该技术运用在高校计算机实验室中,在实际研究过程中能够将教学资源进行集中化处理,保障教学系统搭建的有效性和简便性。
2 高校计算机实验室管理概述
高校计算机实验室管理主要是指,在实验室环境中,对其中具有的条件以及设备、实验室人员、试验物资等各类活动进行研究和管理。现阶段,我国高校计算机实验室在开展具体实验过程中,存在的主要问题就是信息系统规范的自动化低,管理监督力度较小,并且由于专业化水平不够高,资源共享不够开放,实验室的环境不够安全等。云计算技术日渐成熟,在此期间,教育行业正在不断接纳和融合计算技术,并将其运用于实验室中,进而建立一个具有云管理效果的云平台,以此推动实验室教学管理创新,提升管理的集约化和精细化效果,为实验教学提供基础性服务。
3 云平台相关技术研究
3.1 容器技术
容器是一种将软件打包技术,在具体运用中,能够将已经打包程序放置在任何环境中运行。一个容器包含两个部分:应用程序自身以及应用需要的环境依赖,又被称为库文件和其他依赖的应用。容器中虽然含有的软件众多,但是,在实际运行过程中却不包含操作系统,需要直接作用在宿主机的操作系统中以进程的方式运行,其在运行期间需要与系统中的其他进程进行有效隔离。随着云计算技术日趋成熟,其中能够运用的组成部分也在不断缩小,致使容器的体积更小,更方便用户运用。
3.2 Kubernetes技术
为保障容器技术的实际运用效果,提升整体系统性能,在实际管理过程中还会运用到容器编排工具Kubernetes。Kubernetes是一种能够在Go语言自身集群管理平台基础上,进行部署、管理、监控自定义容器化的微服务应用。该技术能有效简化管理任务,提升用户的实际运用效果,进而强化用户自主权,促使用户在容器运行过程中,可以自定义地将其运行方式和途径进行设置,并根据实际需要设置相应的数量,使其在之后的运用过程中,能够做到相应的数据扩容或是缩容。
3.3 平台服务技术
3.3.1 微服务技术
微服务是软件开发过程中使用的一种技术,在使用过程中能将单体应用进行分化,使其变为多个功能模块。在软件开发技能不断提升的过程中,各个应用中都包含着多种功能。因此,为保障各个功能的运用效果,需要对功能进行分化,并根据实际需要进行解耦,保障代码升级过程中的项目逻辑性,促进开发规则的深化效果。
3.3.2 LDAP 协议
LDAP 是Lightweight Directory Access Protocol 的简写,其中文解释为轻型目录访问协议,是一个能够提供用户查询、搜索等操作的目录数据库。LDAP 具有一定的联动性,在运用支持LDAP 协议的第三方工具时,可以运用LDAP 中的人员账号、密码进行登录。因此,LDAP 技术能够有效缩减用户的操作量,在实际运用过程中只需要借助LDAP 协议,即可运用一套账户对平台的各个页面或是工具进行运用,进而提升权限操作工作的处理效果。
3.3.3 OAuth2.0 协议
OAuth2.0 协议是一个开放标准,用户在实际运用过程中可以将其他服务的身份认证信息授权给当前服务进行登录,是原有OAuth 协议的延续版本。在具体运用过程中,用户借助OAuth2.0 协议时,无需进行繁琐的平台注册,只需要运用OAuth2.0 账号即可登录第三方平台,并且还不会泄露用户个人信息。例如,微博、腾讯、豆瓣、Github 等网站均支持OAuth2.0 协议,既保障了用户的安全性,又为用户提供极大的便利。
3.3.4 对象存储Swift
Swift 是一种对象存储系统,其在运行过程中会将数据储存位置进行抽象规划,使其成为URL,用户在使用中只需对其进行数据访问即可。在实际运行过程中,可以根据需要对Swift 存储系统中代理服务器和存储服务器两个基础模块进行选择运用,前者是一种能够进行存储系统与外部衔接的接口,运用时能够将用户请求转发到合适的存储服务器;后者则是负责对集群中的数据进行存储。
4 资源管理平台设计与实践部署
某高校在实验室建设过程中,设置了教学计算机实验室,其包括企业管理实验室、网络工程实验中心、计算机基础实验室、数字艺术设计实验室等,共占地2086M2,以此为学生提供实验、实训场所,进而提升学生对教学知识的理解能力,每年开展的实验项目和培训达数千人。在实验室开展过程中,受到师生的一致好评,学生通过在实验室进行实践学习的过程中,不仅能开展数模竞赛,实验室的基础设施还能支撑学生自主创新实践活动,2021 年某高校实验室运行状况如表1 所示。
表1:2021 年某高校计算机实验室综合运用状况
为保障实验室的资源得以被充分运用,需要对其进行合理有效管理。但是在实际管理过程中,管理方面的问题与社会发展需要不符,因此需要构建资源管理平台。为更好的进行实验室管理需要,现通过运用云计算建立云平台,并对其进行设计与部署。
4.1 资源管理平台设计部署
4.1.1 资源管理平台概述
出于对现阶段我国高校计算机实验室实际运用情况的考量,为保障实际科研效果以及研究调度的基础上,需要对资源管理平台的设计实现以及相关部署进行研究。首先,微服务建立部署构架和版本管理运用中为避免配置库环境在本机部署构架中的繁琐性,在实际运用过程中用户可以直接调用云端的库函数。其次,由于实验室在实际运行过程中人员的变动较为频繁,导致其中的资源无法进行共享和积累,因此,需要建立一个能够进行资源管理的知识管理系统,从而解决人员去留之后造成的资源封闭的问题。最后,在实验过程会留有一定的数据,但是传统的实验环境难以保障数据的存储效果,使得数据在实际运用过程不够准确。
4.1.2 资源管理平台部署环境
计算机实验室的网络环境是由内网和外网组建而成的,内网环境中可以运用交换机H3CS1224P-X 与个人电脑相连接,而在实践研究过程中,为隔离不同教研室的网络,资源管理平台对教室进行网段隔离,并借助三层交换机Unicaca UN-21608K 的路由功能,实现在光纤上以10G/s 的速度相互通信。此外,教研室中会存放一个能够衔接到外网的路由器,在构建平台环境过程中可以通过设置给个人电脑的IP地址,将其进行多样化处理,致使其在服务器上配置回指路由等操作,提升用户的网络连接性能,使其能够在实验中根据自身需要自由连接内网和外网。
资源管理平台配置了7 台服务器,1 台是平台的Master节点,4 台配备GeForce GTX 2080 显卡,并配备性能较好的服务器,促进工作节点Node 中Pod 的运行效果,剩余2台则作为储存为云平台的运行提供备份和数据信息的存储服务。在实际运用过程中每台服务器中都配备预装操作系统Ubuntu 20.04,并搭建Docker v19.03 和Kubernetes v1.20.1环境,为提升配备效果,使其能够根据实际需要进行自动匹配,需要运用shell 脚本有效部署自动化管理。
4.1.3 平台架构设计
资源管理平台主要分为资源层、管理层、应用层和表示层四层。在实际运用过程中,其中的资源层为基础设施资源,主要包括对物理主机服务器、存储和网络资源;管理层主要是运用监控和管理工具对系统进行监督和管理;应用层描述资源管理平台中提供的各中介服务以及重计算服务;表示层则是用户操作和使用管理平台的入口,用户可以在此层面进行操作,获得与需要相符的服务。例如,根据自身需要进行远程调试、服务管理以及可视化资源监控。在实际运用过程中所有服务皆会在平台上以容器的形式运行,并由Kubernetes 软件进行管理,如图1。
图1:资源管理平台架构图
4.2 资源管理平台服务实现部署
4.2.1 基于微服务的科研软件
根据实验室的实际情况,需要以资源管理平台中的微服务的科研软件应用、统一认证、知识管理和分布式存储等多种服务为基础,对各个项目进行文件性的编制和部署,以此提升实际管理需要。为了满足实验室的多元化需求,可以根据高校计算机实验室的实际情况为其提供微服务框架中的Docker 容器。在实际运用期间,微服务部署构架中运用了schema 数据形式,在LDAP 服务器中服务信息进行存储,以此促进平台的服务、注册与发现,并运用Service Gateway开展路由与转发工作。在用户身份验证之后,若要访问平台提供的服务,则可以向Service Gateway 发出由服务名称、版本等信息组成的Request,随后Service Gateway 会查询LDAP 服务器并按照相应的规则进行匹配,以此满足用户的Request 服务。Service Gateway 在实际运行过程中,还会根据用户的行为记录,并根据日志系统分析用户的使用情况,保障用户的安全性。为保障功能服务的有效性,在实际运用过程中,存储Service Gateway 还需要搭建Redis 集群,以此访问数据库服务或对象存储服务Swift,见图2。
图2:基于微服务的软件部署架构
在本平台中,为了满足用户的个性化需要,可以为用户定制个性化服务,并将此习惯上传到资源管理云平台。首先,用户需要向Service Gateway 提交服务注册Request,之后Service Gateway 会根据用户需要在LDAP 服务器中完成注册,随后镜像文件会根据用户制定服务的Dockerfile 进行文件描述,再生成平台的镜像文件,并保存在Registry 中。最后,Kubernetes 负责启动容器并根据用户需要和系统的本身情况将其调度进行适当调节,使其存在于合适的节点内,之后用户再运用Web UI 管理服务开展周期性操作。与此同时,为更好的满足高校学生个性化需求,还可以将云平台与公网链接以此提升校内平台的计算功能和存储能力,同时也是构建衔接互联网的云服务器。
4.2.2 统一的认证管理
为保障工作性能,高校计算机实验室在管理过程中可以在运用资源管理平台服务的技术上,构建一个能将LDAP 与OAuth2.0 协议统一认证的身份认证系统。
(1)该系统需要搭建一个能服务于所有用户的管理工具LDAP 服务器。在实际部署之初,工作人员可以运用ldapadd、ldapsearch 等命令开展服务操作,后续工作开展中可以运用可视化工具LdapAdmin 进行服务器的用户管理。第一步,应在LDAP 服务器基础上配置链接协议、IP、端口号、Base DN 和用户名等属性。第二步,成功后,继续开展创建、删除、更新用户信息等操作。第三步,为保障用户个性化使用,需要在文件中以环境变量的方式设置LDAP 属性,并部署为用户提供账户、密码修改的LDAP 密码修改服务。
(2)在管理过程中,需要根据实际情况搭建OAuth2.0协议授权服务器和资源服务器,并运用Go 语言的镜像文件oryd/hydra:v1.9.2 对OAuth2.0 进行服务端框架构建。此后,资源服务器为保障实际运用需要,后端用户管理认证模块与自建的LDAP 服务器应进行匹配与结合。与此同时,还应将授权服务器设置到允许第三方应用可以访问的范围内,如此用户在注册和登录时,内部服务器会对信息进行比较,对已在LDAP 服务器的用户进行放行,并允许其访问其中的各个权限信息,最终完成授权。
4.2.3 知识管理系统
资源管理平台中的知识管理系统是集收集、处理和分享功能于一体的信息系统,其组成部分为Wiki、BBS、Gitlab、Nexus 等。
Wiki 服务:为保障实验室的管理效果,使其有效数据和信息能被共享,相关人员在实际平台建设过程中,可以搭建Wiki 平台对其进行服务。在云平台基础上为了提升管理效果和高校计算机实验室管理性能,可以在PHP+Mysql 的环境上运行知名开源Wiki 项目MediaWiki,结合LDAP 服务器,安装具有LDAP 插件的MediaWiki 镜像,此步骤完成后,再运用mediawiki-deployment.yaml 文件对该服务进行部署,进而提升LDAP 的相关变量的配置效果。
BBS 论坛服务:实验室不仅需要进行学术讨论还需要进行日常交流,以此提升实验的可行性。因此,在高校计算机实验室管理设计与实现过程中还需搭建BBS 论坛,保障实验室人员的日常交流和资源共享。为保障论坛的实际运用效果,节约占用资源,可以运用golang 编写的youBBS 论坛。该论坛具有界面简洁、内存小、功能简单的优势,适用实验室的管理工作环境。
Gitlab 服务:Gitlab 与Github 的功能类似,都适合在密闭环境内部进行代码的运行。在实际运用过程中,Gitlab 的官方文档需要为整体代码运行提供相应的管理器部署安装服务-Helm 包。但是Helm 包的最新版本与Kubernetesv1.20.1不适配,因此其在具体使用过程中需要运用yaml 文件并将其部署为Gitlab 服务过程中需要运用的Postgres,而Redis 以及Gitlab 本身在运行过程中,需要将其定义为版本Gitlab13.7.3,Postgres12 以及Redis6.2。
Nexus 服务:此服务主要是为软件提供镜像仓库、Maven 仓库管理和npm 包管理等多项功能的服务器。在实际运用过程中,需要用实验室的内网对Nexus 隐私服务进行直接访问,还可以下载用户需要的构件或镜像,以此提升科研的效能。为保障高校实验室的有效运行,在构建平台过程中,需要搭建级别版本为3.25.0 的运行系统,并在Nexus 容器中设置限制CPU 资源的container.resources.request.cpu 字段。
5 结束语
总而言之,在高校计算机实验室的管理中运用云计算技术,通过规划实验室的硬件与网络环境,并以此为基础分析和设计云平台的构建方式,对其软件进行部署,满足实验室管理的发展需要和多样化研究需求。未来高校在进行云平台的计算机实验室建设时,还应该将云计算应用的长远发展理念融合于工作中,将当前为实验室设计而购买的多台服务器节省掉,仅通过实验室的搭建替换多数量服务器的功能,降低高校管理成本,最终促进高校信息化建设工作的顺利开展。