黃志成
(廣東女子職業(yè)技術(shù)學(xué)院信息資源中心,廣東 廣州 511450)
云計(jì)算的快速發(fā)展催生一批開(kāi)源云計(jì)算工具。開(kāi)源云計(jì)算已成為業(yè)界不可忽視的重要力量,已經(jīng)深入影響云計(jì)算產(chǎn)業(yè)結(jié)構(gòu)和商業(yè)模式。開(kāi)源云計(jì)算以其獨(dú)特的開(kāi)源、低成本等優(yōu)點(diǎn)吸引越來(lái)越多的IT企業(yè)。文獻(xiàn)[1]研究云計(jì)算在高校信息化建設(shè)中的應(yīng)用,并以開(kāi)源云計(jì)算工具Eucalyptus為例搭建混合云計(jì)算平臺(tái);文獻(xiàn)[2-3]研究使用Eucalyptus構(gòu)建圖書(shū)資料信息系統(tǒng)云架構(gòu);文獻(xiàn)[4]探索開(kāi)源云計(jì)算技術(shù)在電信運(yùn)營(yíng)商私有云建設(shè)中的應(yīng)用。全球三大云計(jì)算中心之一的托管服務(wù)廠商RackSpace使用的就是開(kāi)源云計(jì)算技術(shù)。
當(dāng)前高校計(jì)算機(jī)機(jī)房還是使用傳統(tǒng)的物理計(jì)算機(jī)為載體。這種模式存在機(jī)房封閉、管理人手不足、位置分散、軟硬件更新跟不上等一系列問(wèn)題[5],研究使用開(kāi)源云計(jì)算技術(shù)組建存儲(chǔ)云和計(jì)算云,構(gòu)建虛擬計(jì)算機(jī)機(jī)房,對(duì)提高機(jī)房管理和利用效率,具有重要應(yīng)用價(jià)值。
云計(jì)算是一種利用互聯(lián)網(wǎng)實(shí)現(xiàn)隨時(shí)隨地、按需、便捷地訪問(wèn)共享資源池(如計(jì)算設(shè)施、存儲(chǔ)設(shè)備、應(yīng)用程序等)的計(jì)算模式[6]。云計(jì)算核心服務(wù)由下至上通??梢苑譃槿龑樱?]:基礎(chǔ)設(shè)施即服務(wù)層(IaaS)、平臺(tái)即服務(wù)層(PaaS,)、軟件即服務(wù)層(SaaS)。IaaS層提供按需擴(kuò)展的硬件基礎(chǔ)設(shè)施服務(wù);PaaS提供應(yīng)用程序的部署、運(yùn)行服務(wù);SaaS是應(yīng)用提供商提供基于云計(jì)算平臺(tái)的應(yīng)用程序。
目前比較流行的開(kāi)源云計(jì)算IaaS管理平臺(tái)有Eucalyptus、OpenNebula、OpenStack、Enomaly、Cloud-Stack等。文獻(xiàn)[8]對(duì) Enomaly、Eucalyptus和 Open-Nebula三者的特點(diǎn)作了對(duì)比,并給出了云計(jì)算平臺(tái)的選擇建議。根據(jù)國(guó)外Zenoss公司的2012年開(kāi)源云計(jì)算狀況調(diào)查結(jié)果[9],使用率最高的前三位分別是OpenStack(63.2%)、CloudStack(47%)和 Eucalyptus(23.5%)。后起新秀 OpenStack已超過(guò)老牌 Eucalyptus,占據(jù)主導(dǎo)地位。57%的受訪者表示他們將在未來(lái)考慮部署開(kāi)源云,開(kāi)源云的前途很光明。越來(lái)越多的大公司(如IBM、思科、微軟等)加入OpenStack,極大地推動(dòng)了OpenStack的發(fā)展。當(dāng)前的OpenStack在公共云方面已能與Amazon EC2[10]媲美;在私有云方面也不遜色于VMware。
OpenStack是全球三大云計(jì)算中心之一的托管服務(wù)公司RackSpace和美國(guó)航空航天局(NASA)共同開(kāi)發(fā)的一個(gè)開(kāi)源云計(jì)算項(xiàng)目,旨在提供一個(gè)方便部署云的操作平臺(tái)。OpenStack當(dāng)前最新版本為Folsom,組成架構(gòu)[11]如圖1所示。
圖1 OpenStack組成架構(gòu)
OpenStack架構(gòu)分為5個(gè)主組件:計(jì)算(Compute)、存儲(chǔ)(Storage)、網(wǎng)絡(luò)(Networking)、共享服務(wù)(Share Service)和儀表板(Dashboard)。
(1)計(jì)算(開(kāi)發(fā)代號(hào)Nova),為云組織的控制器,包括運(yùn)行虛擬機(jī)實(shí)例、管理網(wǎng)絡(luò)以及控制用戶和其他項(xiàng)目對(duì)云的訪問(wèn)。
(2)存儲(chǔ),又分為對(duì)象存儲(chǔ)(Object Storage)和塊存儲(chǔ)(Block Storage)。對(duì)象存儲(chǔ)(開(kāi)發(fā)代號(hào)Swift)是一套用于在大規(guī)??蓴U(kuò)展系統(tǒng)中通過(guò)內(nèi)置冗余及容錯(cuò)機(jī)制實(shí)現(xiàn)對(duì)象存儲(chǔ)的系統(tǒng);塊存儲(chǔ)(開(kāi)發(fā)代號(hào)Cinder)為計(jì)算里的虛擬機(jī)實(shí)例提供持久的磁盤(pán)卷設(shè)備。
(3)網(wǎng)絡(luò)(開(kāi)發(fā)代號(hào)Quantum),是Folsom新加入的虛擬網(wǎng)絡(luò)功能,支持可插拔、可擴(kuò)展、API驅(qū)動(dòng)網(wǎng)絡(luò)和IP管理。
(4)共享服務(wù),提供身份服務(wù)(Identity Service)和鏡像服務(wù)(Image Service)。身份服務(wù)提供中央認(rèn)證機(jī)制(如LDAP),為用戶和可訪問(wèn)設(shè)備之間的映射提供認(rèn)證。鏡像服務(wù)(開(kāi)發(fā)代號(hào)Glance)提供對(duì)虛擬機(jī)鏡像的注冊(cè)、存儲(chǔ)、傳輸和檢索服務(wù)。
(5)儀表板(開(kāi)發(fā)代號(hào)Horizon),是一個(gè)Web應(yīng)用程序,允許云管理員和用戶管理云資源。
各主要功能模塊間的功能作用如圖2所示。
圖2 主要模塊間的功能作用圖
OpenStack分為云計(jì)算和云存儲(chǔ)兩個(gè)項(xiàng)目。OpenStack云計(jì)算提供按需分配的計(jì)算資源,為虛擬服務(wù)器提供自動(dòng)創(chuàng)建和管理服務(wù);OpenStack云存儲(chǔ)提供大規(guī)模、可擴(kuò)展的存儲(chǔ),能夠存儲(chǔ)TB級(jí)的數(shù)據(jù)。OpenStack云計(jì)算和云存儲(chǔ)兩個(gè)項(xiàng)目可以分開(kāi)單獨(dú)部署,也可以混合部署,可以輕松構(gòu)建公有云、私有云和混合云。
教師在計(jì)算機(jī)機(jī)房進(jìn)行實(shí)驗(yàn)教學(xué),課程資料的分發(fā)和學(xué)生作業(yè)的存檔往往是一個(gè)問(wèn)題。一般學(xué)校的做法是,管理員為1~2個(gè)機(jī)房專(zhuān)門(mén)設(shè)置一臺(tái)存儲(chǔ)服務(wù)器,以課程為單位劃分空間,供教師和學(xué)生使用。像影視制作等課程,一個(gè)班50來(lái)人的作業(yè)就有可能高達(dá)上百G。大容量的文件拷貝和高帶寬的傳輸給單機(jī)服務(wù)器帶來(lái)極大的負(fù)荷。不同機(jī)房的存儲(chǔ)服務(wù)器的集中管理也是一個(gè)難題。
OpenStack提供云存儲(chǔ)技術(shù),可以方便快捷地構(gòu)建大容量存儲(chǔ)。管理員收集現(xiàn)有可用的存儲(chǔ)服務(wù)器。以5臺(tái)為單位,使用普通6口的小型交換機(jī)組成節(jié)點(diǎn)區(qū),根據(jù)需要可擴(kuò)展多個(gè)節(jié)點(diǎn)區(qū),再配以身份認(rèn)證節(jié)點(diǎn)進(jìn)行用戶訪問(wèn)控制,和代理節(jié)點(diǎn)進(jìn)行負(fù)載均衡,即可組建一個(gè)云存儲(chǔ),如圖3所示。
圖3 OpenStack云存儲(chǔ)部署圖[12]
傳統(tǒng)的計(jì)算機(jī)機(jī)房都是以物理機(jī)為單位進(jìn)行軟件配置與管理,顯然這種模式存在一些弊端:
(1)管理員根據(jù)教學(xué)計(jì)劃統(tǒng)一安裝所有物理機(jī)的操作系統(tǒng)和教學(xué)軟件,效率低,且耗費(fèi)大量時(shí)間和人力。
(2)任課教師希望根據(jù)教學(xué)的實(shí)際情況進(jìn)行教學(xué)系統(tǒng)或軟件的調(diào)整。但對(duì)物理機(jī)進(jìn)行操作系統(tǒng)或軟件的更新配置需要重復(fù)大量的工作,效率十分低下。
(3)在同一個(gè)系統(tǒng)里安裝過(guò)多的軟件一方面會(huì)影響計(jì)算機(jī)的性能,另一方面使得不同的教學(xué)軟件混雜在一起,滿足不了需要相對(duì)獨(dú)立的教學(xué)環(huán)境。
圖4 OpenStack計(jì)算云部署圖
OpenStack的虛擬計(jì)算技術(shù)可以輕松構(gòu)建虛擬計(jì)算機(jī)云,有效解決以上問(wèn)題。一種簡(jiǎn)單可行的虛擬計(jì)算機(jī)資源云部署如圖4所示。以4臺(tái)計(jì)算節(jié)點(diǎn)為單位,使用一個(gè)5口小型交換機(jī)組成一個(gè)區(qū)。管理員可根據(jù)需求,增加區(qū)。每臺(tái)計(jì)算節(jié)點(diǎn)需要連接外網(wǎng)和內(nèi)網(wǎng)。外網(wǎng)供用戶訪問(wèn)虛擬計(jì)算機(jī),內(nèi)網(wǎng)主要是對(duì)云進(jìn)行管理。為安全起見(jiàn),可以增加一個(gè)VPN節(jié)點(diǎn)方便從外網(wǎng)訪問(wèn)內(nèi)網(wǎng)的管理端,和一個(gè)監(jiān)控節(jié)點(diǎn)對(duì)計(jì)算服務(wù)進(jìn)行監(jiān)控。
使用OpenStack計(jì)算服務(wù)進(jìn)行虛擬化后的網(wǎng)絡(luò)架構(gòu)如圖5所示,虛擬計(jì)算機(jī)使用上和物理機(jī)一樣。
圖5 OpenStack虛擬化后的架構(gòu)圖
本文介紹了開(kāi)源云計(jì)算工具OpenStack的功能和架構(gòu),研究了OpenStack在高校實(shí)驗(yàn)室機(jī)房中的應(yīng)用和部署。由于硬件限制,筆者使用6臺(tái)普通服務(wù)器作試驗(yàn)。組建存儲(chǔ)云時(shí)用5臺(tái)作為存儲(chǔ)節(jié)點(diǎn),1臺(tái)作為身份和代理節(jié)點(diǎn);組建計(jì)算云時(shí),4臺(tái)作為計(jì)算節(jié)點(diǎn),2臺(tái)作為云控制器和數(shù)據(jù)庫(kù)。實(shí)驗(yàn)結(jié)果表明,OpenStack可以方便、快速地部署云,并且性能較為穩(wěn)定,可滿足一般高校需求。使用OpenStack構(gòu)建“云”機(jī)房,提高資源整合[13],甚至應(yīng)用于虛擬實(shí)驗(yàn)教學(xué)[14],具有重要應(yīng)用價(jià)值。
[1]朱莉,王鵬.云計(jì)算在高校的部署與應(yīng)用研究——以開(kāi)源云計(jì)算產(chǎn)品Eucalyptus為例[J].吉林師范大學(xué)學(xué)報(bào):自然科學(xué)版,2011,32(2):131-133.
[2]趙華茗,李春旺,李宇,等.云計(jì)算及其應(yīng)用的開(kāi)源實(shí)現(xiàn)研究[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2009(9):1-6.
[3]劉曉剛,張紅.基于開(kāi)源云計(jì)算的圖書(shū)資料信息系統(tǒng)探究[J].情報(bào)科學(xué),2011,29(6):906-909.
[4]秦潤(rùn)鋒,樊勇兵,唐宏,等.開(kāi)源云計(jì)算管理平臺(tái)技術(shù)在電信運(yùn)營(yíng)商私有云建設(shè)中的應(yīng)用研究[J].電信科學(xué),2011,27(10):24-29.
[5]陳孔艷.高校公共計(jì)算機(jī)機(jī)房管理探討[J].實(shí)驗(yàn)室科學(xué),2009(3):121-123.
[6]Mell P,Grance T.The NIST Definition of Cloud Computing[R].National Institute of Standards and Technology,2011.
[7]羅軍舟,金嘉暉,宋愛(ài)波,等.云計(jì)算:體系架構(gòu)與關(guān)鍵技術(shù)[J].通信學(xué)報(bào),2011,32(7):3-21.
[8]楊靜麗,查英華,胡光永.開(kāi)源云計(jì)算平臺(tái)研究[J].計(jì)算機(jī)與現(xiàn)代化,2012(4):23-26.
[9]Zenoss.The State of the Open Source Cloud 2012[EB/OL].http://www.zenoss.com/in/wp_open_cloud_survey.html,2012-10-25.
[10]陳康,鄭緯民.云計(jì)算:系統(tǒng)實(shí)例與研究現(xiàn)狀[J].軟件學(xué)報(bào),2009,20(5):1337-1348.
[11]OpenStack.Open Source Software for Building Private and Public Clouds[EB/OL].http://www.openstack.org,2012-10-25.
[12]OpenStack.OpenStack Compute Administration Manual[EB/OL].http://docs.openstack.org/trunk/openstack-compute/admin/bk-compute-adminguide-trunk.pdf,2012-10-25.
[13]何俊.計(jì)算機(jī)公共機(jī)房管理資源整合[J].實(shí)驗(yàn)室研究與探索,2010,29(2):65-67.
[14]魯慧民,劉剛.基于云計(jì)算理念的虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)設(shè)計(jì)探討[J].實(shí)驗(yàn)技術(shù)與管理,2012,29(4):334-337.