從0了解云計算系列專題10_第1頁
從0了解云計算系列專題10_第2頁
從0了解云計算系列專題10_第3頁
從0了解云計算系列專題10_第4頁
從0了解云計算系列專題10_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

從0了解云計算系列專題10—云管理部署工具OpenStack詳解原創(chuàng)侵權必究這是云計算系列專題的最后一篇文章,在之前的9篇文章里,我們對于云計算,包括三大虛擬化技術,進行了系統(tǒng)性講解;相信不少讀者,在學習了三大虛擬化技術之后,都或多或少心生怯意,發(fā)現(xiàn)云計算原來這么博大精深;但是實際上,我們是一點都不用害怕的,因為我們有OpenStack這一云管理部署工具,憑借OpenStack,我們可以很輕松的管理,并部署云計算中心;所以,本篇文章即專注于這一云管理部署工具,OpenStack的講解上;1.OpenStack概述首先需要了解,什么是OpenStack;業(yè)內對于OpenStack的定義與描述往往都比較高大上,比如稱其為云操作系統(tǒng),然后就云操作系統(tǒng)解釋一大堆;這是完全沒有必要的,OpenStack就是一種用于部署虛擬環(huán)境(虛擬機或容器),以及部署互連這些虛擬環(huán)境所需網絡的軟件應用程序;舉個最簡單的例子,我們可以使用OpenStack創(chuàng)建兩個虛擬機(部署虛擬環(huán)境),然后將這兩個虛擬機互連(部署虛擬環(huán)境互連網絡),這就是OpenStack最簡單的使用舉例;雖然也可以使用其它工具,部署虛擬機或容器,但是OpenStack提供了一整套工具,可以非常方便的讓我們,部署虛擬機/容器,VNF,互連網絡等;所以越來越多的運營商和用戶,開始使用OpenStack部署自己的公有云或私有云服務;所以筆者認為OpenStack就是一個云管理部署工具,用于虛擬環(huán)境(包括虛擬機,容器,VNF等)的創(chuàng)建與互連,搭建出我們想要的云計算環(huán)境;2.OpenStack發(fā)展歷史在知道了什么是OpenStack之后,我們再來看看OpenStack的發(fā)展歷史;OpenStack自2010年以來,已經獲得了長足發(fā)展,最初只有Swift和Nebula兩大組件,后來越來越多的企業(yè)和用戶,加入到OpenStack開源項目,貢獻了大量代碼和軟件功能;目前OpenStack已經非常成熟,究其原因,主要是OpenStack的免費許可,完全開源等特性(OpenStack開源社區(qū),已經成為繼Linux開源社區(qū),全球第二大開源社區(qū)),使得眾多開發(fā)者可以參與到OpenStack開源項目中,不斷完善和豐富OpenStack功能組件;OpenStack每半年(6個月),更新一次版本(版本名稱的首字母,按字母表排序),比如從2010年開始,OpenStack版本依次為Austin(A),Bexar(B),Cactus(C),Diablo(D)等。3.OpenStack節(jié)點通過之前兩個章節(jié),我們知道了OpenStack的概念定義與發(fā)展歷史,現(xiàn)在我們一起看看OpenStack的構成節(jié)點;OpenStack不是單一軟件,而是由多個模塊構成,不同模塊提供不同功能,可以根據需要,靈活選用模塊;部署運行OpenStack軟件的服務器,稱之為OpenStack節(jié)點,一個OpenStack節(jié)點并不需要安裝所有功能模塊,比如一個OpenStack節(jié)點僅提供虛擬計算資源,那么該節(jié)點只需要安裝計算管理模塊(Nova)即可,這樣的OpenStack節(jié)點也被稱為計算節(jié)點;比如一個OpenStack節(jié)點僅提供虛擬存儲資源,那么該節(jié)點只需要運行存儲管理模塊(Cinder)即可,這樣的OpenStack節(jié)點也被稱為存儲節(jié)點;如下所示OpenStack的安裝部署是非常靈活的,可以部分節(jié)點提供虛擬計算資源(計算節(jié)點),部分節(jié)點提供虛擬存儲資源(存儲節(jié)點),部分節(jié)點提供虛擬網絡資源(網絡節(jié)點),這樣的分布式部署,是有好處的,可以避免單點故障,引起整個系統(tǒng)崩潰;另夕卜如果不考慮可靠性,將所有模塊安裝在一臺服務器(AllinOne)也是可以的;最后,需要注意的是,控制節(jié)點是必須的,其它節(jié)點,可以視需要安裝;4.OpenStack模塊根據上一章節(jié)的描述,我們可以知道OpenStack是一個框架,里面包含有很多模塊,不同的模塊實現(xiàn)不同的功能,那么OpenStack發(fā)展至今,到底包含了哪些模塊,我們一起看一下,如下:可以看到OpenStack框架包含的功能模塊眾多,所以OpenStack遠遠不只是用于虛擬機創(chuàng)建管理,還可以基于Neutron實現(xiàn)網絡虛擬化,基于Cinder實現(xiàn)存儲虛擬化,以及實現(xiàn)DHCP,DNS等功能服務,這些功能模塊組合在一起,最大程度的允許我們構建我們想要的云計算數(shù)據中心;現(xiàn)在就這些功能模塊,逐一講解,另外需要注意的是,OpenStack框架包含的功能模塊,會越來越多,比如2010年,OpenStack剛誕生時,只有Swift和Nebula兩個功能模塊,發(fā)展至今,功能模塊越來越多,所以這里只是就最關鍵的功能模塊,進行逐一講解,如下:Horizon:該模塊為OpenStack提供了Web操作界面,我們可以基于Horizon儀表盤Web界面,進行各類OpenStack操作,比如創(chuàng)建虛擬機,刪除虛擬機等操作;Nova:該模塊是Nebula模塊的演進版本,主要功能是管理計算虛擬化,該模塊和Hypervisor交互,以創(chuàng)建,或刪除虛擬機;換言之,Nova提供了虛擬機完整生命周期的管理手段;需要注意的是,Nova并沒有實現(xiàn)計算虛擬化,計算虛擬化的實現(xiàn),仍然依賴于具體的虛擬化技術(比如KVM,XEN等),但是Nova可以調用具體的虛擬化技術,以實現(xiàn)對于虛擬機完整生命周期的管理;Ironic:該模塊主要用于物理服務器池化,將物理服務器直接加入到計算資源池;如果說Nova模塊,基于Hypervisor可以實現(xiàn)服務器虛擬化,并將虛擬化后的虛擬機加入計算資源池,那么Ironic模塊則是將物理服務器直接加入計算資源池,供用戶使用;部分用戶可能出于特殊需求,并不想申請?zhí)摂M機資源,而是想要申請物理服務器,這時候Ironic即可將物理服務器,直接提供給用戶;Neutron:該模塊主要功能是管理網絡虛擬化,對于NFV來說,該模塊非常重要,因為它負責建立網絡,實現(xiàn)VNF間互連,虛擬機間互連,VNF/虛擬機到其它網絡(比如WAN網絡)間的互聯(lián);Magnum:該模塊和Nova模塊很類似,Nova模塊負責管理虛擬機的完整生命周期,而Magnum則負責管理容器的完整生命周期;類似的,Nova依賴于具體的虛擬化技術(比如KVM,XEN等),Magnum也依賴于具體的容器虛擬化技術(比如Docker等);Keystone:該模塊負責完成用戶的認證與授權,是OpenStack的核心模塊;Glance:該模塊負責在創(chuàng)建虛擬機時,提供具體的鏡像文件,比如創(chuàng)建Windows?虛擬機,自然需要Windows?鏡像文件;需要注意的是,鏡像文件并不存儲于Glance模塊,一般存儲于Swift模塊,所以創(chuàng)建虛擬機時,Glance模塊需要從Swift模塊獲取到鏡像文件;Swift和Cinder:這兩個模塊都是管理存儲虛擬化的模塊,區(qū)別是Swift是管理對象存儲虛擬化的功能模塊,而Cinder是管理塊存儲虛擬化的功能模塊;對象存儲和塊存儲的區(qū)別,在之前的存儲虛擬化相關文章里,已有講解,這里不再贅述;Ceilometer:該模塊主要用于數(shù)據統(tǒng)計,性能測量等工作;Heat:該模塊主要用于具體云的部署,可以編排Cinder,Nova,Neutron等各種資源;最后,可以將上述講解的OpenStack功能模塊,進行匯總歸類,如下:5.OpenStackNova計算服務介紹到這里為止,結合之前章節(jié)的詳細描述,我們對于OpenStack的構成,及不同的OpenStack模塊,已經擁有了很清楚的認識;但是說到底,OpenStack終究是一個云管理部署工具,所以問題是OpenStack主要是用來管理部署什么服務的?答案很簡單,OpenStack就是用來管理部署計算服務,存儲服務,以及網絡服務的,也就對應著之前我們所學的三大虛擬化技術;所以我們首先詳細探討下,OpenStack相關模塊是如何協(xié)同工作,管理部署計算服務的;OpenStackNova組件通過API服務器控制虛擬機管理程序(即Hypervisor),來實現(xiàn)對于虛擬機完整生命周期的管理;基于預算控制,資源限制,支持特性和所需技術,我們需要選擇一個最佳的虛擬化技術,目前看來,Nova組件大多采用的是KVM和XEN虛擬化技術;從OpenStack的發(fā)展軌跡看來,KVM&QEMU是最通用化的虛擬化技術,可以支持OpenStack的所有特性;XEN虛擬化技術分類較多,Nova組件目前支持XenServer和XCP兩種虛擬化技術;雖然KVM和XEN虛擬化技術,在之前的計算虛擬化文章里,有詳細講解,這里仍然再重復說明下這兩種虛擬化技術:KVM虛擬化技術KVM是基于CPU硬件輔助虛擬化(Intel-VT,或AMD-V)之上的全虛擬化技術,沒有CPU硬件支持,KVM是無法工作的;KVM是一個開源項目,其核心組件包含在Linux內核更新主線中(從Linux內核2.6.20版開始),其用戶空間組件包含在QEMU更新主線中(從QEMU1.3版本開始);需要注意的是,KVM是Linux內核的一個模塊,該模塊加載后,并不能直接創(chuàng)建虛擬機,需要使用QEMU提供的用戶空間工具,兩者結合,提供了一整套完整的虛擬化解決方案;XEN虛擬化技術XEN既支持半虛擬化,也支持全虛擬化;XEN虛擬化管理程序,因為采用了微小內核設計,所以是一個極小的軟件程序,大約15萬行代碼,1MB左右大??;比較有趣的是,XEN虛擬化方案中,虛擬機位于DomainU,DomainU并不能直接訪問底層硬件,所以叫DomainU(Unprivileged,沒有特權的意思);DomainU中的虛擬機,必須經Domain0訪問底層硬件,Domain0對外開放一個接口,以便用戶控制整個系統(tǒng);可見Domain0對于整個XEN虛擬化系統(tǒng),都非常重要,沒有Domain0,XEN是無法正常工作的;6.OpenStackNeutron網絡服務介紹上一章節(jié)講述了OpenStack管理部署計算服務,這一章節(jié)我們繼續(xù)討論OpenStack如何進一步管理部署網絡服務;Neutron組件管理子網,端口和網絡這三類實體,這三類實體組合起來,就可以定義一個完整的虛擬二層網絡;這三類實體,具體講解如下:機,可以從子網對應的IP地址塊內獲取IP地址,另夕卜子網也支持設置默認網關,以訪問夕卜部網絡;端口:即虛擬機上的虛擬端口(更確切的說,虛擬機里VNF上的虛擬端口),需要從該端口所屬子網的IP地址塊中分配IP地址,所以該端口負責將虛擬機(虛擬機中的VNF)接入到特定網絡;網絡:即一個二層子網,包括該二層子網所對應的IP地址塊,以及該子網內的所有端口;網絡應該先于IP地址塊和端口之前定義,如果用戶想要配置多個子網,可以創(chuàng)建多個網絡;這三個實體之間的關系,如下圖所示:如上所示,一個網絡(虛擬二層網絡)包括該網絡對應的子網(子網IP地址范圍),以及該子網內的所有端口;如果不同子網間想要通信,需要子網間路由器的幫助;舉個例子,我們借助于NFV,創(chuàng)建了三個虛擬交換機vSwitch,將這三個vSwitch置于子網1(IP地址范圍192.168.1.0/24),之后又創(chuàng)建了三個虛擬交換機vSwitch,將這三個

vSwitch置于子網2(IP地址范圍192.168.2.0/24),在這兩個子網之間,用路由器互連,則我們可以創(chuàng)建如下虛擬網絡:Neutron可以創(chuàng)建三類網絡,包括(1)扁平化網絡:即單個子網的網絡,(2)本地網絡:即多子網的網絡,(3)VLAN網絡:即基于VLAN劃分的網絡;這三類網絡都比較簡單,不再細講了;最后,Neutron可以通過插件,來靈活增強和擴展網絡功能,如下圖所示:其中,(1)核心插件,主要用于擴展對于網絡協(xié)議和網絡設備的支持,比如支持一種新的協(xié)議(VxLAN協(xié)議),支持一種新的設備(OpenvSwitch設備)等,(2)服務插件,主要用于擴展對于網絡服務的支持,比如支持一種新的網絡服務(防火墻服務)等,服務插件主要由廠商提供,以使得Neutron可以和廠商開發(fā)的VNF虛擬化網絡功能協(xié)同工作;另外,值得一說的是,服務器虛擬化后,虛擬機之間需要相互連接,可以使用物理交換機連接,也可以使用虛擬交換機vSwitch連接,比較著名的vSwitch,就是開源的OpenvSwitch,簡稱OVS;7.OpenStack存儲服務介紹前面兩個章節(jié),分別講述了OpenStackH具,如何管理部署計算服務和網絡服務,最后一個章節(jié),自然是討論OpenStack如何部署管理最后一類服務,即存儲服務;OpenStack提供的存儲服務類型比較多,如下:Cinder模塊:基于Cinder模塊,提供塊存儲服務,塊存儲的優(yōu)點在于存儲性能良好;Swift模塊:基于Swift模塊,提供對象存儲,主要用于靜態(tài)大數(shù)據的存儲,比如鏡像文件的存儲;Manila模塊:基于Manila模塊,提供文件系統(tǒng)存儲,文件系統(tǒng)可以直接掛載到虛擬機上使用;塊存儲,對象存儲以及文件系統(tǒng)存儲

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論