范偉鵬
淺談基于OpenStack構(gòu)建高校私有云管理平臺(tái)
范偉鵬
同濟(jì)大學(xué)軟件學(xué)院,上海 200000
隨著高校信息化不斷發(fā)展,計(jì)算和存儲(chǔ)資源需求增多,服務(wù)器和存儲(chǔ)資源較為分散,管理麻煩,資源不能充分利用,并且無(wú)法界面化為用戶提供申請(qǐng)資源等。云計(jì)算與高校信息化的結(jié)合,對(duì)于建立高效敏捷的高校私有云管理平臺(tái),實(shí)現(xiàn)資源有效利用與共享有著重要意義。
OpenStack;云計(jì)算;私有云;管理平臺(tái)
云計(jì)算管理平臺(tái)能夠?qū)崿F(xiàn)對(duì)云中基礎(chǔ)資源的管理并向用戶提供云計(jì)算服務(wù),是實(shí)現(xiàn)云計(jì)算商業(yè)模式的底層技術(shù)平臺(tái)。它通過(guò)構(gòu)建基礎(chǔ)設(shè)施資源池、搭建企業(yè)級(jí)應(yīng)用/開(kāi)發(fā)/數(shù)據(jù)平臺(tái),以及通過(guò)SOA架構(gòu)整合服務(wù)來(lái)為用戶提供服務(wù)。
云計(jì)算管理平臺(tái)可以提供一整套包括計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)等在內(nèi)的完整支持IaaS(基礎(chǔ)設(shè)施即服務(wù))組件框架。擁有以下6個(gè)特點(diǎn):(1)運(yùn)用虛擬化技術(shù)與大數(shù)據(jù)處理技術(shù),對(duì)計(jì)算機(jī)的計(jì)算資源和存儲(chǔ)資源虛擬化進(jìn)行統(tǒng)一管理以節(jié)約成本;(2)通過(guò)運(yùn)用SDN(軟件自定義網(wǎng)絡(luò))思想實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的管理,在接口設(shè)備之間提供網(wǎng)絡(luò)連接,解決網(wǎng)絡(luò)管理復(fù)雜、低效率等的問(wèn)題;(3)對(duì)計(jì)算機(jī)資源進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)計(jì)算機(jī)資源的共享;(4)所有的云服務(wù)都提供身份驗(yàn)證與授權(quán),保證安全性;(5)整合各種底層資源,為系統(tǒng)管理員提供Web 界面的控制面板以方便資源管理;(6)通過(guò)部署各個(gè)節(jié)點(diǎn)以實(shí)現(xiàn)對(duì)平臺(tái)的多功能控制[1]。
OpenStack是由美國(guó)國(guó)家航空航天局(NASA)和Rackspace公司共同發(fā)起的開(kāi)源項(xiàng)目[2]。OpenStack能夠控制和管理數(shù)據(jù)中心的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)等資源,同時(shí)為管理員和用戶提供一個(gè)Web訪問(wèn)接口和一個(gè)與Amazon EC2類似的API來(lái)動(dòng)態(tài)按需獲得所需的資源。OpenStack所有的模塊子系統(tǒng)之間均是通過(guò)標(biāo)準(zhǔn)化的API來(lái)實(shí)現(xiàn)服務(wù)的調(diào)用。在虛擬化技術(shù)上,OpenStack能夠支持包括KVM,VMware, Xen和QEMU等,并通過(guò)統(tǒng)一的虛擬化管理工具Libvirt來(lái)調(diào)用,實(shí)現(xiàn)對(duì)底層資源的透明使用[3]。
OpenStack的架構(gòu)如圖1所示[3]。
用戶通過(guò)客戶端請(qǐng)求虛擬機(jī)時(shí),VMware虛擬機(jī)資源管理系統(tǒng)會(huì)立即響應(yīng)用戶的請(qǐng)求,按照用戶的具體需求分配一臺(tái)配置合理的虛擬機(jī)。通過(guò)維護(hù)一個(gè)動(dòng)態(tài)變化的虛擬機(jī)資源池空間,對(duì)于虛擬機(jī)資源的各種請(qǐng)求做到了秒級(jí)響應(yīng)。而且,為了保證虛擬機(jī)資源的動(dòng)態(tài)伸縮,系統(tǒng)中還加入了時(shí)間管理模塊。另外,虛擬機(jī)的正常運(yùn)行工作通過(guò)狀態(tài)管理模塊來(lái)負(fù)責(zé)。全部的虛擬機(jī)資源都是通過(guò)底層的 OpenStack 云平臺(tái)提供,VMware Server 以一定頻率和 OpenStack 云平臺(tái)進(jìn)行通信,保證資源的可用性和請(qǐng)求的及時(shí)響應(yīng)。
圖1 云計(jì)算管理平臺(tái)的特點(diǎn)
在私有云管理平臺(tái)中創(chuàng)建虛擬機(jī)主要體現(xiàn)幾個(gè)步驟:客戶端發(fā)出請(qǐng)求;通過(guò)nova-api 接受用戶請(qǐng)求;通nova-scheduler 進(jìn)行調(diào)度;通過(guò)nova-network 進(jìn)行網(wǎng)絡(luò)配置;最后通過(guò)nova-computer 進(jìn)行虛擬機(jī)的創(chuàng)建:
(1)在Web界面選擇創(chuàng)建虛擬機(jī),并確定所需要的計(jì)算資源、內(nèi)存資源、網(wǎng)絡(luò)資源等。在選擇了需要的資源后,輸入虛擬機(jī)名字,點(diǎn)擊創(chuàng)建即可。
(2)獲取可用的邏輯分區(qū)ID(LPARID)。獲得使用的LPARID,并根據(jù)LPARID 規(guī)范計(jì)算得到一個(gè)可用的LPARID。
(3)檢查instance、vcpu、ram的數(shù)量是否超過(guò)限制,并預(yù)留所需資源,由配額來(lái)管理。每個(gè)租戶擁有的資源都是有限的。
lssyscfg -r lpar -F name,fan -m "Server-9131-52A-SN0671E0G" | grep Running
獲得狀態(tài)為"Running" 的LPAR 的CPU 個(gè)數(shù):
lshwres -m "Server-9131-52A-SN0671E0G" --level lpar -rproc –F lpar_name,curr_proc_mode,run_procs,run_proc_units--filter""lpar_names=k-bcfb028a,vio1,vio2,vioc_test1_kt""
獲得目前資源池中CPU 的總數(shù):
lshwres -m "Server-9131-52A-SN0671E0G" --level sys -rproc -F configurable_sys_proc_units
獲得狀態(tài)為"Running" 的LPAR 的內(nèi)存使用量:
lshwres -m "Server-9131-52A-SN0671E0G" --level lpar-r mem -F lpar_name,run_mem--filter""lpar_names=kbcfb028a,vio1,vio2,vioc_test1_kt""
獲得目前資源池中的內(nèi)存總量:
lshwres -m "Server-9131-52A-SN0671E0G" --level sys -rmem -F configurable_sys_mem,sys_firmware_mem,mem_region_size
(4)檢查指定的network和fixed ip是否有效,如network是否存在,fixed ip是否屬于該 network,fixed ip有沒(méi)有被分配等。
(5)檢查image、disk、ramdisk是否存在且可用,并判斷flavor是否滿足該image的最小配置需求,如內(nèi)存、虛擬磁盤是否滿足image的最小值。
viosvrcmd -m "Server-9131-52A-SN0671E0G" -p vio1 -c"lsmap -all -type disk " | grep "Backing device"
獲得該VIOS 上已經(jīng)掛接的磁盤PVID 列表:
viosvrcmd -m "Server-9131-52A-SN0671E0G" -p vio1 -c"lspv -fmt : "
(6)當(dāng)所有資源充足,并且所有傳參都有效時(shí),更新數(shù)據(jù)庫(kù),新建一條instance記錄, vm_states設(shè)為BUILDING,task_state設(shè)為SCHEDULING。
(7)通過(guò)rpc call,將所有參數(shù)傳給nova-scheduler由它執(zhí)行虛擬機(jī)調(diào)度。
(8)創(chuàng)建虛擬機(jī)。創(chuàng)建虛擬機(jī)的過(guò)程通過(guò)克隆鏡像的方式實(shí)現(xiàn),根據(jù)鏡像大小以及磁盤讀寫(xiě)性能不同,克隆鏡像大概需要10~20 分鐘;創(chuàng)建虛擬機(jī)完成后需要等待虛擬機(jī)完全啟動(dòng)之后配置網(wǎng)絡(luò),等待啟動(dòng)時(shí)間大概2 分鐘左右。虛擬機(jī)創(chuàng)建時(shí)間共需15~20 分鐘。
至此,一臺(tái)AIX 平臺(tái)的虛擬機(jī)創(chuàng)建完畢,可以提供給用戶正常使用。
當(dāng)一臺(tái)虛擬機(jī)不再使用的時(shí)候,就需要回收它的資源,刪除一臺(tái)虛擬機(jī),主要體現(xiàn)幾個(gè)步驟進(jìn)行:
(1)用戶在私有云管理平臺(tái)上提交刪除虛擬機(jī)的申請(qǐng)后,OpenStack 同樣調(diào)用Nova 組件,結(jié)合私有云管理控制平臺(tái)對(duì)虛擬機(jī)進(jìn)行相關(guān)刪除操作。
(2)將LPAR 關(guān)閉并等待的狀態(tài)變成“Inactive”。
chsysstate -o shutdown -r lpar -m "Server-9131-52A-SN0671E0G" -n k-bcfb028a –immedlssyscfg -r lpar -m "Server-9131-52A-SN0671E0G" –filter"lpar_names= k-bcfb028a" -F state
(3)對(duì)于每個(gè)vSCSI 來(lái)說(shuō),通過(guò)slot 號(hào)獲得vhost 和vtd的信息,然后刪除vhost 下的所有vtd,并刪除vhost。隨后用DLPAR 刪除VIOS 上對(duì)應(yīng)的vSCSI, 并更新數(shù)據(jù)庫(kù)上VIOS的slot 列表信息。最后刪除VIOS 和LPAR 的Profile 中的vSCSI。
(4)通過(guò)命令刪除相對(duì)應(yīng)的LPAR 并更新存儲(chǔ)資源池的磁盤信息。
rmsyscfg -r lpar-m "Server-9131-52A-SN0671E0G" -n"k-bcfb028a"
(5)當(dāng)完成上述操作后,可以通過(guò)HMC 觀察到該已經(jīng)從私有云管理控制平臺(tái)上消失了,表明該虛擬機(jī)已經(jīng)刪除完畢。
本文著重介紹了基于OpenStack 私有云環(huán)境下,通過(guò)調(diào)用硬件管理控制平臺(tái),做到管理服務(wù)器,能夠?qū)崿F(xiàn)創(chuàng)建和刪除虛擬機(jī)的功能。通過(guò)該方法,可根據(jù)學(xué)校需求完善其他相應(yīng)的功能,例如虛擬機(jī)生命周期的管理、云硬盤的管理等等,滿足通過(guò)OpenStack私有云管理PC服務(wù)器的需求,為高校智慧校園提供高可用的保障。
[1]袁夢(mèng)雪,朱海燕,李永豪,等.基于OpenStack構(gòu)建高校實(shí)驗(yàn)室云計(jì)算管理平臺(tái)的實(shí)現(xiàn)[J].科技展望,2016,26(7):14-15.
[2]李小寧,李磊,金連文,等.基于OpenStack構(gòu)建私有云計(jì)算平臺(tái)[J].電信科學(xué),2012, 28(9):1-8.
[3]OpenStack[EB/OL].http://www.openstack.org/.
Construction of Private Cloud Management Platform in Colleges and Universities Based on OpenStack
Fan Weipeng
School of Software Tongji University, Shanghai 200000
With the continuous development of information technology in Colleges and universities, the demand for computing and storage resources is increasing, servers and storage resources are scattered, management is troublesome, resources cannot be fully utilized, and interface resources cannot be provided to users. The combination of cloud computing and university informatization is of great significance for building an efficient and agile private cloud management platform in colleges and universities, and realizing the effective use and sharing of resources.
OpenStack; cloud computing; private cloud; management platform
TP393.09
A
1009-6434(2017)9-0059-03
范偉鵬(1981—),男,在福建省龍巖學(xué)院信息網(wǎng)絡(luò)中心工作,同濟(jì)大學(xué)軟件學(xué)院軟件工程碩士在讀研究生。