范偉鵬
淺談基于OpenStack構(gòu)建高校私有云管理平臺
范偉鵬
同濟(jì)大學(xué)軟件學(xué)院,上海 200000
隨著高校信息化不斷發(fā)展,計算和存儲資源需求增多,服務(wù)器和存儲資源較為分散,管理麻煩,資源不能充分利用,并且無法界面化為用戶提供申請資源等。云計算與高校信息化的結(jié)合,對于建立高效敏捷的高校私有云管理平臺,實現(xiàn)資源有效利用與共享有著重要意義。
OpenStack;云計算;私有云;管理平臺
云計算管理平臺能夠?qū)崿F(xiàn)對云中基礎(chǔ)資源的管理并向用戶提供云計算服務(wù),是實現(xiàn)云計算商業(yè)模式的底層技術(shù)平臺。它通過構(gòu)建基礎(chǔ)設(shè)施資源池、搭建企業(yè)級應(yīng)用/開發(fā)/數(shù)據(jù)平臺,以及通過SOA架構(gòu)整合服務(wù)來為用戶提供服務(wù)。
云計算管理平臺可以提供一整套包括計算、網(wǎng)絡(luò)、存儲等在內(nèi)的完整支持IaaS(基礎(chǔ)設(shè)施即服務(wù))組件框架。擁有以下6個特點:(1)運用虛擬化技術(shù)與大數(shù)據(jù)處理技術(shù),對計算機(jī)的計算資源和存儲資源虛擬化進(jìn)行統(tǒng)一管理以節(jié)約成本;(2)通過運用SDN(軟件自定義網(wǎng)絡(luò))思想實現(xiàn)對網(wǎng)絡(luò)的管理,在接口設(shè)備之間提供網(wǎng)絡(luò)連接,解決網(wǎng)絡(luò)管理復(fù)雜、低效率等的問題;(3)對計算機(jī)資源進(jìn)行統(tǒng)一管理,實現(xiàn)計算機(jī)資源的共享;(4)所有的云服務(wù)都提供身份驗證與授權(quán),保證安全性;(5)整合各種底層資源,為系統(tǒng)管理員提供Web 界面的控制面板以方便資源管理;(6)通過部署各個節(jié)點以實現(xiàn)對平臺的多功能控制[1]。
OpenStack是由美國國家航空航天局(NASA)和Rackspace公司共同發(fā)起的開源項目[2]。OpenStack能夠控制和管理數(shù)據(jù)中心的計算、存儲和網(wǎng)絡(luò)等資源,同時為管理員和用戶提供一個Web訪問接口和一個與Amazon EC2類似的API來動態(tài)按需獲得所需的資源。OpenStack所有的模塊子系統(tǒng)之間均是通過標(biāo)準(zhǔn)化的API來實現(xiàn)服務(wù)的調(diào)用。在虛擬化技術(shù)上,OpenStack能夠支持包括KVM,VMware, Xen和QEMU等,并通過統(tǒng)一的虛擬化管理工具Libvirt來調(diào)用,實現(xiàn)對底層資源的透明使用[3]。
OpenStack的架構(gòu)如圖1所示[3]。
用戶通過客戶端請求虛擬機(jī)時,VMware虛擬機(jī)資源管理系統(tǒng)會立即響應(yīng)用戶的請求,按照用戶的具體需求分配一臺配置合理的虛擬機(jī)。通過維護(hù)一個動態(tài)變化的虛擬機(jī)資源池空間,對于虛擬機(jī)資源的各種請求做到了秒級響應(yīng)。而且,為了保證虛擬機(jī)資源的動態(tài)伸縮,系統(tǒng)中還加入了時間管理模塊。另外,虛擬機(jī)的正常運行工作通過狀態(tài)管理模塊來負(fù)責(zé)。全部的虛擬機(jī)資源都是通過底層的 OpenStack 云平臺提供,VMware Server 以一定頻率和 OpenStack 云平臺進(jìn)行通信,保證資源的可用性和請求的及時響應(yīng)。
圖1 云計算管理平臺的特點
在私有云管理平臺中創(chuàng)建虛擬機(jī)主要體現(xiàn)幾個步驟:客戶端發(fā)出請求;通過nova-api 接受用戶請求;通nova-scheduler 進(jìn)行調(diào)度;通過nova-network 進(jìn)行網(wǎng)絡(luò)配置;最后通過nova-computer 進(jìn)行虛擬機(jī)的創(chuàng)建:
(1)在Web界面選擇創(chuàng)建虛擬機(jī),并確定所需要的計算資源、內(nèi)存資源、網(wǎng)絡(luò)資源等。在選擇了需要的資源后,輸入虛擬機(jī)名字,點擊創(chuàng)建即可。
(2)獲取可用的邏輯分區(qū)ID(LPARID)。獲得使用的LPARID,并根據(jù)LPARID 規(guī)范計算得到一個可用的LPARID。
(3)檢查instance、vcpu、ram的數(shù)量是否超過限制,并預(yù)留所需資源,由配額來管理。每個租戶擁有的資源都是有限的。
lssyscfg -r lpar -F name,fan -m "Server-9131-52A-SN0671E0G" | grep Running
獲得狀態(tài)為"Running" 的LPAR 的CPU 個數(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有沒有被分配等。
(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ù)據(jù)庫,新建一條instance記錄, vm_states設(shè)為BUILDING,task_state設(shè)為SCHEDULING。
(7)通過rpc call,將所有參數(shù)傳給nova-scheduler由它執(zhí)行虛擬機(jī)調(diào)度。
(8)創(chuàng)建虛擬機(jī)。創(chuàng)建虛擬機(jī)的過程通過克隆鏡像的方式實現(xiàn),根據(jù)鏡像大小以及磁盤讀寫性能不同,克隆鏡像大概需要10~20 分鐘;創(chuàng)建虛擬機(jī)完成后需要等待虛擬機(jī)完全啟動之后配置網(wǎng)絡(luò),等待啟動時間大概2 分鐘左右。虛擬機(jī)創(chuàng)建時間共需15~20 分鐘。
至此,一臺AIX 平臺的虛擬機(jī)創(chuàng)建完畢,可以提供給用戶正常使用。
當(dāng)一臺虛擬機(jī)不再使用的時候,就需要回收它的資源,刪除一臺虛擬機(jī),主要體現(xiàn)幾個步驟進(jìn)行:
(1)用戶在私有云管理平臺上提交刪除虛擬機(jī)的申請后,OpenStack 同樣調(diào)用Nova 組件,結(jié)合私有云管理控制平臺對虛擬機(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)對于每個vSCSI 來說,通過slot 號獲得vhost 和vtd的信息,然后刪除vhost 下的所有vtd,并刪除vhost。隨后用DLPAR 刪除VIOS 上對應(yīng)的vSCSI, 并更新數(shù)據(jù)庫上VIOS的slot 列表信息。最后刪除VIOS 和LPAR 的Profile 中的vSCSI。
(4)通過命令刪除相對應(yīng)的LPAR 并更新存儲資源池的磁盤信息。
rmsyscfg -r lpar-m "Server-9131-52A-SN0671E0G" -n"k-bcfb028a"
(5)當(dāng)完成上述操作后,可以通過HMC 觀察到該已經(jīng)從私有云管理控制平臺上消失了,表明該虛擬機(jī)已經(jīng)刪除完畢。
本文著重介紹了基于OpenStack 私有云環(huán)境下,通過調(diào)用硬件管理控制平臺,做到管理服務(wù)器,能夠?qū)崿F(xiàn)創(chuàng)建和刪除虛擬機(jī)的功能。通過該方法,可根據(jù)學(xué)校需求完善其他相應(yīng)的功能,例如虛擬機(jī)生命周期的管理、云硬盤的管理等等,滿足通過OpenStack私有云管理PC服務(wù)器的需求,為高校智慧校園提供高可用的保障。
[1]袁夢雪,朱海燕,李永豪,等.基于OpenStack構(gòu)建高校實驗室云計算管理平臺的實現(xiàn)[J].科技展望,2016,26(7):14-15.
[2]李小寧,李磊,金連文,等.基于OpenStack構(gòu)建私有云計算平臺[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é)院軟件工程碩士在讀研究生。