伍家恒 覃顯力
(廣西外國語學院 廣西壯族自治區(qū)南寧市 530222)
隨著高校實驗室的發(fā)展和完善,實驗室人員和資源數(shù)量不斷增加,在實際發(fā)展過程中,使得實驗室資源共享和數(shù)據(jù)儲存的管理成為難題。為保障高校實驗室的運行效果,需要運用Web 技術(shù)和云計算技術(shù)建立高校實驗室云平臺管理系統(tǒng)。實驗室環(huán)境具有一定的特殊性和復雜性,在實際管理過程中需要根據(jù)其中的不同要求進行調(diào)度、策略與服務方式的調(diào)整,運用云計算技術(shù)能夠有效地根據(jù)實驗室管理的復雜需求,設(shè)計出能夠針對不同運用需要的獨特算法。
云計算技術(shù)是二十世紀以來最重要的文化進步產(chǎn)物,是一種文明的進步和技術(shù)的革新,具有便捷性、準確性、安全性和低廉性的優(yōu)勢,其中融合了分布式計算、并行計算、效用計算、網(wǎng)絡存儲、虛擬化、負載均衡等傳統(tǒng)計算機和網(wǎng)絡技術(shù)。在實際運用過程中,能夠根據(jù)用戶需要進行網(wǎng)絡訪問,并進入到資源配置共享池,以此獲得網(wǎng)絡、服務器、存儲的數(shù)據(jù)以及應用軟件的功能。將該技術(shù)運用在高校計算機實驗室中,在實際研究過程中能夠?qū)⒔虒W資源進行集中化處理,保障教學系統(tǒng)搭建的有效性和簡便性。
高校計算機實驗室管理主要是指,在實驗室環(huán)境中,對其中具有的條件以及設(shè)備、實驗室人員、試驗物資等各類活動進行研究和管理?,F(xiàn)階段,我國高校計算機實驗室在開展具體實驗過程中,存在的主要問題就是信息系統(tǒng)規(guī)范的自動化低,管理監(jiān)督力度較小,并且由于專業(yè)化水平不夠高,資源共享不夠開放,實驗室的環(huán)境不夠安全等。云計算技術(shù)日漸成熟,在此期間,教育行業(yè)正在不斷接納和融合計算技術(shù),并將其運用于實驗室中,進而建立一個具有云管理效果的云平臺,以此推動實驗室教學管理創(chuàng)新,提升管理的集約化和精細化效果,為實驗教學提供基礎(chǔ)性服務。
容器是一種將軟件打包技術(shù),在具體運用中,能夠?qū)⒁呀?jīng)打包程序放置在任何環(huán)境中運行。一個容器包含兩個部分:應用程序自身以及應用需要的環(huán)境依賴,又被稱為庫文件和其他依賴的應用。容器中雖然含有的軟件眾多,但是,在實際運行過程中卻不包含操作系統(tǒng),需要直接作用在宿主機的操作系統(tǒng)中以進程的方式運行,其在運行期間需要與系統(tǒng)中的其他進程進行有效隔離。隨著云計算技術(shù)日趨成熟,其中能夠運用的組成部分也在不斷縮小,致使容器的體積更小,更方便用戶運用。
為保障容器技術(shù)的實際運用效果,提升整體系統(tǒng)性能,在實際管理過程中還會運用到容器編排工具Kubernetes。Kubernetes是一種能夠在Go語言自身集群管理平臺基礎(chǔ)上,進行部署、管理、監(jiān)控自定義容器化的微服務應用。該技術(shù)能有效簡化管理任務,提升用戶的實際運用效果,進而強化用戶自主權(quán),促使用戶在容器運行過程中,可以自定義地將其運行方式和途徑進行設(shè)置,并根據(jù)實際需要設(shè)置相應的數(shù)量,使其在之后的運用過程中,能夠做到相應的數(shù)據(jù)擴容或是縮容。
3.3.1 微服務技術(shù)
微服務是軟件開發(fā)過程中使用的一種技術(shù),在使用過程中能將單體應用進行分化,使其變?yōu)槎鄠€功能模塊。在軟件開發(fā)技能不斷提升的過程中,各個應用中都包含著多種功能。因此,為保障各個功能的運用效果,需要對功能進行分化,并根據(jù)實際需要進行解耦,保障代碼升級過程中的項目邏輯性,促進開發(fā)規(guī)則的深化效果。
3.3.2 LDAP 協(xié)議
LDAP 是Lightweight Directory Access Protocol 的簡寫,其中文解釋為輕型目錄訪問協(xié)議,是一個能夠提供用戶查詢、搜索等操作的目錄數(shù)據(jù)庫。LDAP 具有一定的聯(lián)動性,在運用支持LDAP 協(xié)議的第三方工具時,可以運用LDAP 中的人員賬號、密碼進行登錄。因此,LDAP 技術(shù)能夠有效縮減用戶的操作量,在實際運用過程中只需要借助LDAP 協(xié)議,即可運用一套賬戶對平臺的各個頁面或是工具進行運用,進而提升權(quán)限操作工作的處理效果。
3.3.3 OAuth2.0 協(xié)議
OAuth2.0 協(xié)議是一個開放標準,用戶在實際運用過程中可以將其他服務的身份認證信息授權(quán)給當前服務進行登錄,是原有OAuth 協(xié)議的延續(xù)版本。在具體運用過程中,用戶借助OAuth2.0 協(xié)議時,無需進行繁瑣的平臺注冊,只需要運用OAuth2.0 賬號即可登錄第三方平臺,并且還不會泄露用戶個人信息。例如,微博、騰訊、豆瓣、Github 等網(wǎng)站均支持OAuth2.0 協(xié)議,既保障了用戶的安全性,又為用戶提供極大的便利。
3.3.4 對象存儲Swift
Swift 是一種對象存儲系統(tǒng),其在運行過程中會將數(shù)據(jù)儲存位置進行抽象規(guī)劃,使其成為URL,用戶在使用中只需對其進行數(shù)據(jù)訪問即可。在實際運行過程中,可以根據(jù)需要對Swift 存儲系統(tǒng)中代理服務器和存儲服務器兩個基礎(chǔ)模塊進行選擇運用,前者是一種能夠進行存儲系統(tǒng)與外部銜接的接口,運用時能夠?qū)⒂脩粽埱筠D(zhuǎn)發(fā)到合適的存儲服務器;后者則是負責對集群中的數(shù)據(jù)進行存儲。
某高校在實驗室建設(shè)過程中,設(shè)置了教學計算機實驗室,其包括企業(yè)管理實驗室、網(wǎng)絡工程實驗中心、計算機基礎(chǔ)實驗室、數(shù)字藝術(shù)設(shè)計實驗室等,共占地2086M2,以此為學生提供實驗、實訓場所,進而提升學生對教學知識的理解能力,每年開展的實驗項目和培訓達數(shù)千人。在實驗室開展過程中,受到師生的一致好評,學生通過在實驗室進行實踐學習的過程中,不僅能開展數(shù)模競賽,實驗室的基礎(chǔ)設(shè)施還能支撐學生自主創(chuàng)新實踐活動,2021 年某高校實驗室運行狀況如表1 所示。
表1:2021 年某高校計算機實驗室綜合運用狀況
為保障實驗室的資源得以被充分運用,需要對其進行合理有效管理。但是在實際管理過程中,管理方面的問題與社會發(fā)展需要不符,因此需要構(gòu)建資源管理平臺。為更好的進行實驗室管理需要,現(xiàn)通過運用云計算建立云平臺,并對其進行設(shè)計與部署。
4.1.1 資源管理平臺概述
出于對現(xiàn)階段我國高校計算機實驗室實際運用情況的考量,為保障實際科研效果以及研究調(diào)度的基礎(chǔ)上,需要對資源管理平臺的設(shè)計實現(xiàn)以及相關(guān)部署進行研究。首先,微服務建立部署構(gòu)架和版本管理運用中為避免配置庫環(huán)境在本機部署構(gòu)架中的繁瑣性,在實際運用過程中用戶可以直接調(diào)用云端的庫函數(shù)。其次,由于實驗室在實際運行過程中人員的變動較為頻繁,導致其中的資源無法進行共享和積累,因此,需要建立一個能夠進行資源管理的知識管理系統(tǒng),從而解決人員去留之后造成的資源封閉的問題。最后,在實驗過程會留有一定的數(shù)據(jù),但是傳統(tǒng)的實驗環(huán)境難以保障數(shù)據(jù)的存儲效果,使得數(shù)據(jù)在實際運用過程不夠準確。
4.1.2 資源管理平臺部署環(huán)境
計算機實驗室的網(wǎng)絡環(huán)境是由內(nèi)網(wǎng)和外網(wǎng)組建而成的,內(nèi)網(wǎng)環(huán)境中可以運用交換機H3CS1224P-X 與個人電腦相連接,而在實踐研究過程中,為隔離不同教研室的網(wǎng)絡,資源管理平臺對教室進行網(wǎng)段隔離,并借助三層交換機Unicaca UN-21608K 的路由功能,實現(xiàn)在光纖上以10G/s 的速度相互通信。此外,教研室中會存放一個能夠銜接到外網(wǎng)的路由器,在構(gòu)建平臺環(huán)境過程中可以通過設(shè)置給個人電腦的IP地址,將其進行多樣化處理,致使其在服務器上配置回指路由等操作,提升用戶的網(wǎng)絡連接性能,使其能夠在實驗中根據(jù)自身需要自由連接內(nèi)網(wǎng)和外網(wǎng)。
資源管理平臺配置了7 臺服務器,1 臺是平臺的Master節(jié)點,4 臺配備GeForce GTX 2080 顯卡,并配備性能較好的服務器,促進工作節(jié)點Node 中Pod 的運行效果,剩余2臺則作為儲存為云平臺的運行提供備份和數(shù)據(jù)信息的存儲服務。在實際運用過程中每臺服務器中都配備預裝操作系統(tǒng)Ubuntu 20.04,并搭建Docker v19.03 和Kubernetes v1.20.1環(huán)境,為提升配備效果,使其能夠根據(jù)實際需要進行自動匹配,需要運用shell 腳本有效部署自動化管理。
4.1.3 平臺架構(gòu)設(shè)計
資源管理平臺主要分為資源層、管理層、應用層和表示層四層。在實際運用過程中,其中的資源層為基礎(chǔ)設(shè)施資源,主要包括對物理主機服務器、存儲和網(wǎng)絡資源;管理層主要是運用監(jiān)控和管理工具對系統(tǒng)進行監(jiān)督和管理;應用層描述資源管理平臺中提供的各中介服務以及重計算服務;表示層則是用戶操作和使用管理平臺的入口,用戶可以在此層面進行操作,獲得與需要相符的服務。例如,根據(jù)自身需要進行遠程調(diào)試、服務管理以及可視化資源監(jiān)控。在實際運用過程中所有服務皆會在平臺上以容器的形式運行,并由Kubernetes 軟件進行管理,如圖1。
圖1:資源管理平臺架構(gòu)圖
4.2.1 基于微服務的科研軟件
根據(jù)實驗室的實際情況,需要以資源管理平臺中的微服務的科研軟件應用、統(tǒng)一認證、知識管理和分布式存儲等多種服務為基礎(chǔ),對各個項目進行文件性的編制和部署,以此提升實際管理需要。為了滿足實驗室的多元化需求,可以根據(jù)高校計算機實驗室的實際情況為其提供微服務框架中的Docker 容器。在實際運用期間,微服務部署構(gòu)架中運用了schema 數(shù)據(jù)形式,在LDAP 服務器中服務信息進行存儲,以此促進平臺的服務、注冊與發(fā)現(xiàn),并運用Service Gateway開展路由與轉(zhuǎn)發(fā)工作。在用戶身份驗證之后,若要訪問平臺提供的服務,則可以向Service Gateway 發(fā)出由服務名稱、版本等信息組成的Request,隨后Service Gateway 會查詢LDAP 服務器并按照相應的規(guī)則進行匹配,以此滿足用戶的Request 服務。Service Gateway 在實際運行過程中,還會根據(jù)用戶的行為記錄,并根據(jù)日志系統(tǒng)分析用戶的使用情況,保障用戶的安全性。為保障功能服務的有效性,在實際運用過程中,存儲Service Gateway 還需要搭建Redis 集群,以此訪問數(shù)據(jù)庫服務或?qū)ο蟠鎯Ψ誗wift,見圖2。
圖2:基于微服務的軟件部署架構(gòu)
在本平臺中,為了滿足用戶的個性化需要,可以為用戶定制個性化服務,并將此習慣上傳到資源管理云平臺。首先,用戶需要向Service Gateway 提交服務注冊Request,之后Service Gateway 會根據(jù)用戶需要在LDAP 服務器中完成注冊,隨后鏡像文件會根據(jù)用戶制定服務的Dockerfile 進行文件描述,再生成平臺的鏡像文件,并保存在Registry 中。最后,Kubernetes 負責啟動容器并根據(jù)用戶需要和系統(tǒng)的本身情況將其調(diào)度進行適當調(diào)節(jié),使其存在于合適的節(jié)點內(nèi),之后用戶再運用Web UI 管理服務開展周期性操作。與此同時,為更好的滿足高校學生個性化需求,還可以將云平臺與公網(wǎng)鏈接以此提升校內(nèi)平臺的計算功能和存儲能力,同時也是構(gòu)建銜接互聯(lián)網(wǎng)的云服務器。
4.2.2 統(tǒng)一的認證管理
為保障工作性能,高校計算機實驗室在管理過程中可以在運用資源管理平臺服務的技術(shù)上,構(gòu)建一個能將LDAP 與OAuth2.0 協(xié)議統(tǒng)一認證的身份認證系統(tǒng)。
(1)該系統(tǒng)需要搭建一個能服務于所有用戶的管理工具LDAP 服務器。在實際部署之初,工作人員可以運用ldapadd、ldapsearch 等命令開展服務操作,后續(xù)工作開展中可以運用可視化工具LdapAdmin 進行服務器的用戶管理。第一步,應在LDAP 服務器基礎(chǔ)上配置鏈接協(xié)議、IP、端口號、Base DN 和用戶名等屬性。第二步,成功后,繼續(xù)開展創(chuàng)建、刪除、更新用戶信息等操作。第三步,為保障用戶個性化使用,需要在文件中以環(huán)境變量的方式設(shè)置LDAP 屬性,并部署為用戶提供賬戶、密碼修改的LDAP 密碼修改服務。
(2)在管理過程中,需要根據(jù)實際情況搭建OAuth2.0協(xié)議授權(quán)服務器和資源服務器,并運用Go 語言的鏡像文件oryd/hydra:v1.9.2 對OAuth2.0 進行服務端框架構(gòu)建。此后,資源服務器為保障實際運用需要,后端用戶管理認證模塊與自建的LDAP 服務器應進行匹配與結(jié)合。與此同時,還應將授權(quán)服務器設(shè)置到允許第三方應用可以訪問的范圍內(nèi),如此用戶在注冊和登錄時,內(nèi)部服務器會對信息進行比較,對已在LDAP 服務器的用戶進行放行,并允許其訪問其中的各個權(quán)限信息,最終完成授權(quán)。
4.2.3 知識管理系統(tǒng)
資源管理平臺中的知識管理系統(tǒng)是集收集、處理和分享功能于一體的信息系統(tǒng),其組成部分為Wiki、BBS、Gitlab、Nexus 等。
Wiki 服務:為保障實驗室的管理效果,使其有效數(shù)據(jù)和信息能被共享,相關(guān)人員在實際平臺建設(shè)過程中,可以搭建Wiki 平臺對其進行服務。在云平臺基礎(chǔ)上為了提升管理效果和高校計算機實驗室管理性能,可以在PHP+Mysql 的環(huán)境上運行知名開源Wiki 項目MediaWiki,結(jié)合LDAP 服務器,安裝具有LDAP 插件的MediaWiki 鏡像,此步驟完成后,再運用mediawiki-deployment.yaml 文件對該服務進行部署,進而提升LDAP 的相關(guān)變量的配置效果。
BBS 論壇服務:實驗室不僅需要進行學術(shù)討論還需要進行日常交流,以此提升實驗的可行性。因此,在高校計算機實驗室管理設(shè)計與實現(xiàn)過程中還需搭建BBS 論壇,保障實驗室人員的日常交流和資源共享。為保障論壇的實際運用效果,節(jié)約占用資源,可以運用golang 編寫的youBBS 論壇。該論壇具有界面簡潔、內(nèi)存小、功能簡單的優(yōu)勢,適用實驗室的管理工作環(huán)境。
Gitlab 服務:Gitlab 與Github 的功能類似,都適合在密閉環(huán)境內(nèi)部進行代碼的運行。在實際運用過程中,Gitlab 的官方文檔需要為整體代碼運行提供相應的管理器部署安裝服務-Helm 包。但是Helm 包的最新版本與Kubernetesv1.20.1不適配,因此其在具體使用過程中需要運用yaml 文件并將其部署為Gitlab 服務過程中需要運用的Postgres,而Redis 以及Gitlab 本身在運行過程中,需要將其定義為版本Gitlab13.7.3,Postgres12 以及Redis6.2。
Nexus 服務:此服務主要是為軟件提供鏡像倉庫、Maven 倉庫管理和npm 包管理等多項功能的服務器。在實際運用過程中,需要用實驗室的內(nèi)網(wǎng)對Nexus 隱私服務進行直接訪問,還可以下載用戶需要的構(gòu)件或鏡像,以此提升科研的效能。為保障高校實驗室的有效運行,在構(gòu)建平臺過程中,需要搭建級別版本為3.25.0 的運行系統(tǒng),并在Nexus 容器中設(shè)置限制CPU 資源的container.resources.request.cpu 字段。
總而言之,在高校計算機實驗室的管理中運用云計算技術(shù),通過規(guī)劃實驗室的硬件與網(wǎng)絡環(huán)境,并以此為基礎(chǔ)分析和設(shè)計云平臺的構(gòu)建方式,對其軟件進行部署,滿足實驗室管理的發(fā)展需要和多樣化研究需求。未來高校在進行云平臺的計算機實驗室建設(shè)時,還應該將云計算應用的長遠發(fā)展理念融合于工作中,將當前為實驗室設(shè)計而購買的多臺服務器節(jié)省掉,僅通過實驗室的搭建替換多數(shù)量服務器的功能,降低高校管理成本,最終促進高校信息化建設(shè)工作的順利開展。