李琨 賈立偉 石曉明
摘要:隨著“互聯(lián)網(wǎng)+”時(shí)代的到來及高校信息化教學(xué)改革的不斷深入,使得醫(yī)學(xué)高專院校的信息化教學(xué)方式與學(xué)生學(xué)習(xí)需求不匹配的矛盾日益加劇。本文基于目前最流行的OpenStack框架在校園范圍內(nèi)構(gòu)建私有云平臺(tái),為今后我校醫(yī)學(xué)信息技術(shù)、正常人體功能等課程信息化教學(xué)環(huán)境的部署提供基本的技術(shù)支持。
關(guān)鍵詞:OpenStack;校園私有云;“互聯(lián)網(wǎng)+”
中圖分類號(hào):G420 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)07-0048-02
1引言
隨著“互聯(lián)網(wǎng)+”時(shí)代的到來及高校信息化教學(xué)改革的不斷深入,加之醫(yī)專院校的學(xué)制時(shí)間短,學(xué)習(xí)任務(wù)重等客觀問題[1]的存在,使得醫(yī)專院校的信息化教學(xué)方式與學(xué)生學(xué)習(xí)需求不匹配的矛盾日益加劇。特別是各課程信息化教學(xué)軟件環(huán)境之間存在著各種差異,對(duì)于教師或?qū)嶒?yàn)人員來說,將它們部署到計(jì)算機(jī)實(shí)驗(yàn)環(huán)境中十分費(fèi)時(shí)、費(fèi)力[2]。隨著云計(jì)算技術(shù)的廣泛研究與應(yīng)用,為解決上述問題提供了一種可行方案。本文利用學(xué)校現(xiàn)有的實(shí)驗(yàn)器材和設(shè)備,基于OpenStack框架構(gòu)建用于我校信息化教學(xué)的私有云平臺(tái),為今后我校醫(yī)學(xué)信息技術(shù)、正常人體功能等課程信息化教學(xué)環(huán)境的部署提供基本的技術(shù)支持。
2私有云與OpenStack框架概述
私有云是云計(jì)算技術(shù)的一個(gè)分類,通常部署在企業(yè)信息中心的防火墻內(nèi),是為企業(yè)內(nèi)部使用的專有云計(jì)算平臺(tái),具有較高的安全性、可控性和可擴(kuò)展性。云平臺(tái)可按需給用戶三個(gè)層面的資源服務(wù)[3],其中基礎(chǔ)設(shè)施即服務(wù)(IaaS)是云平臺(tái)向用戶提供的面向底層的基礎(chǔ)服務(wù)層次,是構(gòu)建云平臺(tái)最為關(guān)鍵的層次。OpenStack是目前IaaS開源云平臺(tái)框架中最活躍的項(xiàng)目,它不涉及商業(yè)授權(quán)問題且源代碼可控,開發(fā)者可自主完成二次開發(fā)并擁有完全的知識(shí)產(chǎn)權(quán)。鑒于私有云和OpenStack框架上述幾方面的優(yōu)勢(shì),本文采用OpenStack框架構(gòu)建校園私有云平臺(tái)。
3基于OpenStack框架的校園私有云平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
3.1校園私有云平臺(tái)的系統(tǒng)設(shè)計(jì)
一個(gè)OpenStack部署項(xiàng)目可以由若干個(gè)訪問基礎(chǔ)設(shè)施資源的組件組成[4]。這些服務(wù)可以根據(jù)需求協(xié)同工作,因此可選擇性地安裝若干個(gè)服務(wù)項(xiàng)目來部署項(xiàng)目。為了更快地部署應(yīng)用,本文以最小規(guī)模進(jìn)行部署,但在后期使用中還可根據(jù)需要進(jìn)一步擴(kuò)展其功能。
1)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
本私有云平臺(tái)中包括四類網(wǎng)絡(luò)節(jié)點(diǎn)和三類子網(wǎng)(拓?fù)浣Y(jié)構(gòu)如圖1所示)。其中四類網(wǎng)絡(luò)節(jié)點(diǎn)包括:①控制器節(jié)點(diǎn):用于分配和管理私有云平臺(tái)中的所有資源,是私有云平臺(tái)的核心控制節(jié)點(diǎn)。②計(jì)算節(jié)點(diǎn):運(yùn)行有關(guān)計(jì)算部分的管理程序,是私有云平臺(tái)的計(jì)算中心。③塊存儲(chǔ)節(jié)點(diǎn):為運(yùn)行實(shí)例提供了所需的磁盤空間,是私有云平臺(tái)的存儲(chǔ)中心。④對(duì)象存儲(chǔ)節(jié)點(diǎn):為對(duì)象存儲(chǔ)服務(wù)提供了所需的磁盤空間,是私有云平臺(tái)的擴(kuò)展存儲(chǔ)部分,用以和塊存儲(chǔ)節(jié)點(diǎn)共同構(gòu)成數(shù)據(jù)備份節(jié)點(diǎn)。本文實(shí)例中,控制器節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)是擁有2~4塊CPU、8GB+容量?jī)?nèi)存、20GB+容量硬盤和三個(gè)網(wǎng)絡(luò)接口的主機(jī);塊存儲(chǔ)節(jié)點(diǎn)和對(duì)象存儲(chǔ)節(jié)點(diǎn)是擁有1~2塊CPU、4GB+容量?jī)?nèi)存、100GB+容量硬盤和至少兩個(gè)網(wǎng)絡(luò)接口的主機(jī)。
而三類子網(wǎng)結(jié)構(gòu)包括:①管理網(wǎng)絡(luò):用于各網(wǎng)絡(luò)節(jié)點(diǎn)之間通訊之用(網(wǎng)段為10.20.0.0/24)。②外部網(wǎng)絡(luò):用于控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)訪問互聯(lián)網(wǎng)之用,并為其增加防火墻保證內(nèi)網(wǎng)數(shù)據(jù)的安全(網(wǎng)段為218.196.177.0/24);③私有網(wǎng)絡(luò):用于內(nèi)網(wǎng)租戶訪問私有云平臺(tái)之用(網(wǎng)段為192.168.0.0/24)。
2)各節(jié)點(diǎn)安裝的服務(wù)項(xiàng)目(如圖2所示)
在本實(shí)例中,控制器節(jié)點(diǎn)中安裝運(yùn)行的服務(wù)包括支持服務(wù)(如SQL數(shù)據(jù)庫(kù)、消息隊(duì)列等服務(wù))、基本服務(wù)(如身份認(rèn)證、鏡像、計(jì)算等服務(wù))和可選服務(wù)(如儀表板、塊存儲(chǔ)管理、對(duì)象存儲(chǔ)管理等服務(wù))三大類服務(wù)。
計(jì)算節(jié)點(diǎn)中除了使用基于內(nèi)核的VM管理和Nova計(jì)算管理程序以外,還需安裝虛擬化模擬工具QEMU和網(wǎng)絡(luò)服務(wù)代理來將實(shí)例連接到虛擬網(wǎng)絡(luò)。另外本例也可增加多個(gè)計(jì)算節(jié)點(diǎn)構(gòu)成計(jì)算節(jié)點(diǎn)簇進(jìn)行部署。
塊存儲(chǔ)節(jié)點(diǎn)中安裝的基本服務(wù)有iSCSI目標(biāo)服務(wù)和塊存儲(chǔ)卷服務(wù),而對(duì)象存儲(chǔ)節(jié)點(diǎn)中安裝對(duì)象存儲(chǔ)服務(wù)以處理對(duì)象存儲(chǔ)節(jié)點(diǎn)上所運(yùn)行的賬戶、容器和對(duì)象等服務(wù)的請(qǐng)求。塊存儲(chǔ)節(jié)點(diǎn)或?qū)ο蟠鎯?chǔ)節(jié)點(diǎn)在實(shí)際部署時(shí)也可增加節(jié)點(diǎn)數(shù)構(gòu)成節(jié)點(diǎn)簇進(jìn)行部署。
3.2校園私有云平臺(tái)的部署步驟
本項(xiàng)目主機(jī)選擇安裝CentOS 7操作系統(tǒng)和OpenStackRocky版開源框架,分別對(duì)控制節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)、塊存儲(chǔ)節(jié)點(diǎn)和對(duì)象存儲(chǔ)節(jié)點(diǎn)進(jìn)行安裝和部署。在所有硬件設(shè)備和網(wǎng)絡(luò)環(huán)境部署完成之后,需對(duì)每個(gè)節(jié)點(diǎn)中的軟件環(huán)境進(jìn)行配置。
1)所有類型的網(wǎng)絡(luò)節(jié)點(diǎn)安裝基本環(huán)境的步驟
①對(duì)所有網(wǎng)絡(luò)節(jié)點(diǎn)按照私有云平臺(tái)的網(wǎng)絡(luò)拓?fù)鋵?duì)各節(jié)點(diǎn)主機(jī)的各網(wǎng)卡配置靜態(tài)IP地址,為節(jié)點(diǎn)主機(jī)設(shè)置主機(jī)名以使私有云平臺(tái)中的各個(gè)節(jié)點(diǎn)通過IP地址或主機(jī)名進(jìn)行識(shí)別和通信。
②對(duì)所有網(wǎng)絡(luò)節(jié)點(diǎn)安裝網(wǎng)絡(luò)時(shí)間協(xié)議以使網(wǎng)絡(luò)中所有節(jié)點(diǎn)獲得正確的同步服務(wù),其中配置控制器節(jié)點(diǎn)與互聯(lián)網(wǎng)中的服務(wù)器同步服務(wù),配置其他類型節(jié)點(diǎn)與控制器節(jié)點(diǎn)同步。
③對(duì)所有網(wǎng)絡(luò)節(jié)點(diǎn)均安裝OpenStack Rocky版本框架和客戶端,并安裝OpenStackSelinux包為各個(gè)服務(wù)提供安全策略管理。
2)控制器節(jié)點(diǎn)安裝相關(guān)服務(wù)項(xiàng)目的步驟
①安裝支持服務(wù),包括安裝Mariadb數(shù)據(jù)庫(kù)服務(wù),為后續(xù)其他服務(wù)的安裝與注冊(cè)提供數(shù)據(jù)存儲(chǔ)基礎(chǔ);安裝RabbitMQ消息隊(duì)列服務(wù),以協(xié)調(diào)各個(gè)服務(wù)之間的操作和狀態(tài)信息;安裝memcached內(nèi)存對(duì)象緩存服務(wù)用以緩存身份驗(yàn)證時(shí)所使用的token;安裝Etcd用以完成分布式密鑰鎖定、存儲(chǔ)配置等數(shù)據(jù)的存儲(chǔ)和發(fā)現(xiàn)。
②身份認(rèn)證服務(wù)Keystone是用于管理身份驗(yàn)證、授權(quán)和服務(wù)分類的單一集成點(diǎn)。一旦通過身份驗(yàn)證,用戶就可使用其身份訪問其他OpenStack服務(wù);同樣,其他OpenStack服務(wù)利用身份認(rèn)證服務(wù)來確保用戶是認(rèn)證用戶,并確定其他OpenStack服務(wù)在應(yīng)用部署中的位置。故在安裝完支持服務(wù)后,應(yīng)首先安裝和部署Keystone項(xiàng)目(包括創(chuàng)建Keystone數(shù)據(jù)庫(kù)并授權(quán)訪問,安裝并配置Keystone組件和配置Apache HTTP服務(wù)器)。
③鏡像服務(wù)Glance能夠接受來自終端用戶或OpenStack計(jì)算組件中對(duì)于磁盤或服務(wù)器鏡像的API請(qǐng)求,它也支持在任意數(shù)據(jù)存儲(chǔ)類型中對(duì)磁盤或服務(wù)器鏡像的存儲(chǔ)。安裝鏡像服務(wù)Glance之前,先要?jiǎng)?chuàng)建Glance數(shù)據(jù)庫(kù)、服務(wù)憑證以及API端點(diǎn),最后安裝并配置Glance組件。
④計(jì)算服務(wù)Nova與Keystone服務(wù)交互進(jìn)行身份認(rèn)證,請(qǐng)求鏡像服務(wù)為其提供磁盤或服務(wù)器鏡像;請(qǐng)求OpenStack儀表盤為用戶提供用戶圖形接口。在安裝計(jì)算服務(wù)Nova之前,需首先創(chuàng)建nova_api,nova,nova_cell0和placement四個(gè)數(shù)據(jù)庫(kù),安裝服務(wù)憑證和API端點(diǎn),最后安裝、注冊(cè)并配置Nova相關(guān)組件。
⑤在前期所配置網(wǎng)絡(luò)環(huán)境的基礎(chǔ)之上,在安裝Neutron網(wǎng)絡(luò)服務(wù)之前,首先創(chuàng)建neutron數(shù)據(jù)庫(kù),并安裝服務(wù)憑證和API端點(diǎn),然后分別安裝neutron組件、ml2組件、linuxbridge組件并對(duì)服務(wù)器組件進(jìn)行配置。之后對(duì)ML2插件及Linux Bridge、layer-3、DHCP及元數(shù)據(jù)代理進(jìn)行配置,最后配置計(jì)算服務(wù)能夠使用網(wǎng)絡(luò)服務(wù)。
⑥安裝并配置儀表板項(xiàng)目,為終端用戶與私有云平臺(tái)交互提供用戶圖形接口。
⑦在安裝塊存儲(chǔ)服務(wù)Cinder之前,先創(chuàng)建cinder數(shù)據(jù)庫(kù),并安裝服務(wù)憑證和API端點(diǎn)。然后安裝并配置Cinder組件,同時(shí)配置計(jì)算節(jié)點(diǎn)能夠使用該塊存儲(chǔ)服務(wù)。如若項(xiàng)目部署中安裝了對(duì)象存儲(chǔ)服務(wù)還需進(jìn)一步完成該服務(wù)的安裝和配置,此處不再贅述。
3)為計(jì)算節(jié)點(diǎn)安裝相關(guān)服務(wù)項(xiàng)目步驟
①安裝、注冊(cè)并配置Nova計(jì)算組件,在支持硬件加速的計(jì)算節(jié)點(diǎn)上配置使用帶有基于內(nèi)核VM擴(kuò)展的快速Q(mào)EMU管理程序,而對(duì)傳統(tǒng)硬件配置使用通用QEMU管理程序。然后添加計(jì)算節(jié)點(diǎn)到cell數(shù)據(jù)庫(kù)中。
②安裝網(wǎng)絡(luò)服務(wù)組件,包括安裝Linux Bridge組件、ebtables組件和ipset組件,并對(duì)身份驗(yàn)證機(jī)制、消息隊(duì)列和插件等進(jìn)行配置,然后對(duì)Linux Bridge代理和元數(shù)據(jù)代理進(jìn)行配置,最后配置計(jì)算服務(wù)去使用網(wǎng)絡(luò)服務(wù)。
4)為塊存儲(chǔ)/對(duì)象存儲(chǔ)節(jié)點(diǎn)安裝相關(guān)服務(wù)項(xiàng)目步驟
首先準(zhǔn)備好用于塊存儲(chǔ)/對(duì)象存儲(chǔ)的存儲(chǔ)設(shè)備,安裝LVM和LVM元數(shù)據(jù)服務(wù)并配置它們。然后創(chuàng)建LVM物理卷、LVM卷組,配置LVM參數(shù)使其只掃描那些包含在LVM卷組中的磁盤設(shè)備,最后安裝并配置cinder、targetcli和keystone組件。若私有云平臺(tái)增加備份功能還需進(jìn)一步對(duì)對(duì)象存儲(chǔ)服務(wù)Swift進(jìn)行配置,由于篇幅受限在此不再贅述,可參考OpenStack技術(shù)文檔進(jìn)行安裝和配置。
4總結(jié)
綜上所述,本文為滿足我校信息化教學(xué)改革的發(fā)展要求,在校園網(wǎng)小范圍內(nèi),利用學(xué)校現(xiàn)有的教學(xué)設(shè)備,基于OpenStack框架搭建了校園私有云平臺(tái)。雖然出于現(xiàn)有條件的限制和快速部署應(yīng)用的需要,本文以最小規(guī)模完成了私有云平臺(tái)的部署。但因OpenStack具有非常靈活的擴(kuò)充型,隨著技術(shù)的發(fā)展成熟以及實(shí)驗(yàn)條件的改善,使得本項(xiàng)目未來無(wú)論是從性能還是從功能等方面得以改善成為可能,也為今后我校醫(yī)學(xué)信息技術(shù)、正常人體功能等課程信息化教學(xué)環(huán)境的部署提供了基本的技術(shù)支持。
參考文獻(xiàn):
[1] 李琨, 賈立偉, 賈福運(yùn). “互聯(lián)網(wǎng)+”時(shí)代下Web3D技術(shù)給醫(yī)學(xué)高職高專教學(xué)改革帶來的機(jī)遇與挑戰(zhàn)[J]. 甘肅科技, 2017(20):48-50.
[2] 王峰, 黃剛. 基于云平臺(tái)的計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心建設(shè)[J]. 實(shí)驗(yàn)技術(shù)與管理, 2014, 31(12):121-123.
[3] 李喆, 魏巍. 基于OpenStack平臺(tái)的私有云[J]. 天津科技, 2016(7):80-83.
[4] 李志軍, 孔朋朋, 雷振伍. 基于OpenStack的私有云平臺(tái)設(shè)計(jì)[J]. 微型機(jī)與應(yīng)用, 2016, 35(9):24-26.
【通聯(lián)編輯:光文玲】