馮子煦
【摘要】? ? 云計(jì)算(CloudComputing)是信息時(shí)代虛擬化、網(wǎng)絡(luò)化、共享化的重要產(chǎn)物。目前Openstack架構(gòu)是較流行的云計(jì)算核心架構(gòu),作為一種開源架構(gòu),被廣泛應(yīng)用。下文就以O(shè)penstack為核心的云計(jì)算結(jié)構(gòu)做簡要介紹,幫助大家了解云計(jì)算基礎(chǔ)結(jié)構(gòu)知識(shí)的同時(shí)簡要介紹云計(jì)算的一些應(yīng)用實(shí)踐場景和應(yīng)用優(yōu)勢。
【關(guān)鍵字】? ? CloudComputing? ? Openstack? ? keystone? ? swift? ? glance? ? cinder? ? nova? ? Neutron
引言
云計(jì)算(cloud computing)是一種分布式計(jì)算結(jié)構(gòu),通過網(wǎng)絡(luò)中的一個(gè)或多個(gè)服務(wù)管理節(jié)點(diǎn)來整合網(wǎng)絡(luò)中個(gè)無數(shù)個(gè)計(jì)算節(jié)點(diǎn)、存儲(chǔ)節(jié)點(diǎn)為用戶提供通常一臺(tái)主機(jī)無法提供的高運(yùn)算、高質(zhì)量、高保護(hù)、高性能服務(wù)。云計(jì)算與高速網(wǎng)絡(luò)密不可分,通過現(xiàn)代通信網(wǎng)絡(luò)整合資源,按需為用戶提供各類存儲(chǔ)、計(jì)算、虛擬主機(jī)租用服務(wù),服務(wù)類型靈活多樣,并能實(shí)現(xiàn)異地共享服務(wù)。目前云計(jì)算架構(gòu)大多數(shù)以O(shè)penstack架構(gòu)為核心,通過Openstack架構(gòu)協(xié)調(diào)和調(diào)用大量計(jì)算能力、存儲(chǔ)、網(wǎng)絡(luò)等資源,通過Dashboard控制整個(gè)Openstack云計(jì)算平臺(tái)的運(yùn)作,為租戶提供個(gè)性化服務(wù)[1]。
一、計(jì)算機(jī)虛擬化
要將一臺(tái)物理機(jī)虛擬成多臺(tái)虛擬機(jī),首先要確定物理機(jī)的CPU是否支持虛擬化技術(shù)。根據(jù)物理機(jī)CPU型號(hào)區(qū)別,Intel CPU支撐VT-x指令集和AMD CPU支撐AMD-V指令集,是判斷電腦是否支撐虛擬化的前提條件。簡單的方法可以通過查看電腦的BIOS系統(tǒng)來看是否相應(yīng)的選項(xiàng),打開相應(yīng)的選項(xiàng)來開啟虛擬化?;蛘咭部梢酝ㄟ^相應(yīng)的命令和軟件來查看CPU是否支持相應(yīng)的指令集來確定硬件是否支撐虛擬化。
二、Openstack架構(gòu)各個(gè)組件功能與作用
Openstack架構(gòu)作為開源云計(jì)算的核心架構(gòu),了解其各個(gè)組件的功能和特點(diǎn)是我們深入了解云計(jì)算基礎(chǔ)核心,學(xué)習(xí)和應(yīng)用云計(jì)算技術(shù)的基礎(chǔ)。Openstack架構(gòu)包含keystone、swift、glance、cinder、nova、Neutron等核心組件。各個(gè)組件相互獨(dú)立又協(xié)調(diào)工作,為云計(jì)算的控制、存儲(chǔ)、網(wǎng)絡(luò)等功能提供相應(yīng)保證,下面就一一介紹各個(gè)組件的功能和作用(見圖1):
2.1 keystone組件的功能和作用
Keystone組件是Openstack架構(gòu)中的控制組件,主要功能有身份管理與認(rèn)證授權(quán)服務(wù),以令牌模式來授權(quán)和管理其余組件的創(chuàng)建、刪除、修改、插入等功能。主要作用有兩點(diǎn)(1)用戶管理:驗(yàn)證用戶身份的合法性;(2)服務(wù)目錄管理:提供服務(wù)目錄(ServiceCatalog:包括service和endpoint)服務(wù),類似于UDDI服務(wù)的概念,用戶(無論是Dashboard, APIClient)都需要通過Keystone服務(wù)來獲取相關(guān)服務(wù)權(quán)限,以及每個(gè)服務(wù)的掛接地址點(diǎn)(Openstack中稱為Endpoint)。組件服務(wù)通過Keystone組件獲得一個(gè)令牌,并通過該令牌的授權(quán)獲得操作其它組件的一個(gè)權(quán)限。保證相應(yīng)的時(shí)間段內(nèi)能夠提供對應(yīng)的服務(wù)[2]。
2.2? Swift組件的功能和作用
Swift組件主要負(fù)責(zé)提供對象存儲(chǔ)服務(wù),對于高可用分布式對象存儲(chǔ)服務(wù),Swift組件主要由2個(gè)部分組成:一個(gè)是代理服務(wù)(proxy),一個(gè)是存儲(chǔ)內(nèi)容服務(wù)(storage)。代理服務(wù)作為Swift組件內(nèi)部存儲(chǔ)的拓?fù)溥壿?,具體說明一個(gè)文件位于存儲(chǔ)節(jié)點(diǎn)位置,接受客戶端的請求實(shí)現(xiàn)上傳、下載服務(wù),實(shí)現(xiàn)Swift各個(gè)組件之間的通信;存儲(chǔ)內(nèi)容服務(wù)是具體對象存儲(chǔ)實(shí)例,分別由3個(gè)組件來完成:對象服務(wù)器、容器服務(wù)器、賬戶服務(wù)器來提供服務(wù)[3]。
2.3? Glance組件的功能和作用
Glance組件是鏡像管理服務(wù),是對已經(jīng)安裝過系統(tǒng)的硬盤文件,提供對虛擬機(jī)的各種鏡像的管理服務(wù),包含鏡像的導(dǎo)入,格式,以及制作相應(yīng)的模板。鏡像一般包含了四個(gè)狀態(tài):1、saving狀態(tài):鏡像上傳中,還沒有上傳完成;2、Active狀態(tài):鏡像上傳完成,可以正常使用;3、killed:鏡像上傳失敗,不能正常使用;4、Queued:鏡像并沒有上傳,但id已經(jīng)被記錄了
兩種常用的鏡像存儲(chǔ)方案分別是使用Swift作為Glance的后端存儲(chǔ)或者使用Cept(文件存儲(chǔ)、塊存儲(chǔ))作為Glance的后端存儲(chǔ)
2.4? Cinder組件的功能和作用
Cinder是云硬盤,是管理存儲(chǔ)資源的主要部件。一般操作系統(tǒng)獲得存儲(chǔ)空間的方式一般有兩種:方式一:裸硬盤Block Storage(塊存儲(chǔ)),多用于掛載,通過某種協(xié)議(SAS,SCSI,SAN,iSCSI 等)掛接裸硬盤,然后分區(qū)、格式化、創(chuàng)建文件系統(tǒng)或者直接使用裸硬盤存儲(chǔ)數(shù)據(jù)(數(shù)據(jù)庫);方式二:文件系統(tǒng)存儲(chǔ),各種分布式文件系統(tǒng)提供的都是這種存儲(chǔ),通過 NFS、CIFS等協(xié)議,mount 遠(yuǎn)程的文件系統(tǒng)。該組件主要為云計(jì)算提供存儲(chǔ)資源池[3]。
2.5? Neutron組件的功能和作用
Neutron組件提供云計(jì)算各節(jié)點(diǎn)間網(wǎng)絡(luò)管理服務(wù),對網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)進(jìn)行管理。在云計(jì)算中,存在存儲(chǔ)節(jié)點(diǎn)、控制節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn),而各個(gè)節(jié)點(diǎn)之間的通信和數(shù)據(jù)交流需要網(wǎng)絡(luò)互聯(lián)。neutron組件使用了軟件定義網(wǎng)絡(luò)(software-defined networking, SDN),他的特點(diǎn)是靈活性和自動(dòng)化優(yōu)勢成為云時(shí)代網(wǎng)絡(luò)管理的主流。Neutron為整個(gè) OpenStack 環(huán)境提供網(wǎng)絡(luò)支持,包括二層交換,三層路由,負(fù)載均衡,防火墻和VPN 等。Neutron 提供了一個(gè)靈活的框架,通過配置,無論是開源還是商業(yè)軟件都可以被用來實(shí)現(xiàn)這些功能[4]。
2.6? Nova組件的功能和作用
Nava組件是Openstack核心組件你,負(fù)責(zé)虛擬服務(wù)器部署和業(yè)務(wù)計(jì)算模塊。Nova是最核心的,一套虛擬化管理程序,可管理網(wǎng)絡(luò)和存儲(chǔ)。Nova實(shí)現(xiàn)對虛擬機(jī)虛擬機(jī)實(shí)例進(jìn)行管理和控制,根據(jù)用戶需求來實(shí)現(xiàn)對虛擬機(jī)的開關(guān)機(jī)、調(diào)配CPU、RAM等操作。
2.7 Horizon組件的功能和作用
Horizon組件提供web界面的控制、調(diào)用服務(wù),通過DashBoard來實(shí)現(xiàn)各種資源、虛擬機(jī)、實(shí)例等資源的管理。是用戶使用web控制臺(tái)來實(shí)現(xiàn)資源調(diào)度管理和監(jiān)控的窗口。該組件還提供console、VNC直接訪問實(shí)例,通過各種方式的管理和監(jiān)控,實(shí)現(xiàn)人機(jī)互動(dòng)。
三、云計(jì)算運(yùn)用實(shí)踐
根據(jù)以上Openstack的主要組件和功能介紹,我們了解了云計(jì)算的基本情況。目前運(yùn)營商作為云基礎(chǔ)提供商,主要提供公有云、私有云、混合云等多種云計(jì)算資源給客戶使用。對于公有云主要是提供給各類電商、中小型企業(yè)、個(gè)人使用,云資源部署在公網(wǎng)上,內(nèi)部云資源根據(jù)客戶需要通過IP映射和端口映射提供給相應(yīng)的客戶使用,所有用戶共用計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)資源;私有云主要提供給政府單位和大型企業(yè)使用,一般該類用戶要求高安全、私密性和高可用性,從計(jì)算資源池、存儲(chǔ)資源池、網(wǎng)絡(luò)資源都根據(jù)客戶需求設(shè)置獨(dú)立區(qū)域,通過專用網(wǎng)絡(luò)與客戶內(nèi)網(wǎng)互聯(lián),提供用戶獨(dú)立使用,所有資源為客戶獨(dú)享,根據(jù)客戶需求可以增加相應(yīng)的租戶,共享獨(dú)立的資源;混合云技術(shù)結(jié)合了私有云和公有云的特點(diǎn),提供給有部分保密資源要在內(nèi)網(wǎng)使用,又有部分資源需要在公網(wǎng)使用的客戶,通過不同的資源分配和網(wǎng)絡(luò)防護(hù)措施做到相應(yīng)的安全與私密的綜合要求。充分結(jié)合了私有云和共有云的特點(diǎn),利用云資源網(wǎng)絡(luò)控制和資源靈活分配的特點(diǎn)控制資源和信息的發(fā)布區(qū)域和來訪客戶的合法性[5]。
云計(jì)算能夠廣泛的應(yīng)用是與云計(jì)算分布式部署、虛擬化應(yīng)用、廣泛的適應(yīng)性、多樣的應(yīng)用服務(wù)提供密不可分的。例如云主機(jī)屏蔽了底層硬件設(shè)備的差異,在云主機(jī)內(nèi)部都是標(biāo)準(zhǔn)化的虛擬配置,這就為云主機(jī)的平滑遷移和平滑擴(kuò)容創(chuàng)造了各種便利條件。
在云遷移方面,由于沒有底層設(shè)備的差異,我們能將實(shí)驗(yàn)或測試環(huán)境建立的云主機(jī)配置打包成一個(gè)鏡像文件,在其它的云環(huán)境下搭建同樣的虛擬環(huán)境,就能將云主機(jī)輕松無縫遷移。對于在物理機(jī)環(huán)境下較難實(shí)現(xiàn)的無縫擴(kuò)容,對虛擬機(jī)也是輕松實(shí)現(xiàn),只需要在管理界面內(nèi)配置增加相應(yīng)的虛擬設(shè)備,相應(yīng)的環(huán)境就能在極短時(shí)間內(nèi)滿足客戶的需求。
在云主機(jī)的適應(yīng)性方面,云主機(jī)的高安全性和靈活性也是云主機(jī)得以廣泛應(yīng)用的關(guān)鍵。云主機(jī)的運(yùn)行是依賴于整個(gè)資源池而不是單臺(tái)主機(jī)的,整個(gè)云架構(gòu)分為控制節(jié)點(diǎn)、計(jì)算節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)三大類,所有的節(jié)點(diǎn)都是通過多臺(tái)主機(jī)負(fù)荷分擔(dān)的模式工作的,當(dāng)某臺(tái)物理機(jī)發(fā)生故障的情況下,云主機(jī)的控制節(jié)點(diǎn)會(huì)進(jìn)行相應(yīng)的動(dòng)作,將該臺(tái)設(shè)備上的運(yùn)用資源進(jìn)行重新調(diào)整分配,保證其上的運(yùn)用或存儲(chǔ)、計(jì)算資源調(diào)整到其它正常的物理主機(jī)上。實(shí)現(xiàn)虛擬主機(jī)的資源漂移,以保證整個(gè)系統(tǒng)的穩(wěn)定可靠。
四、結(jié)束語
目前云計(jì)算的發(fā)展更多與現(xiàn)代技術(shù)相互融合,云計(jì)算全棧化趨勢催生出了docker容器應(yīng)用;智能化應(yīng)用充分與AI人工智能相互結(jié)合;行業(yè)化應(yīng)用推動(dòng)全球化進(jìn)程??梢灶A(yù)見未來云計(jì)算將成為我們信息化發(fā)展中不容缺失的一環(huán),將會(huì)推動(dòng)信息化走向更寬廣的未來!
參? 考? 文? 獻(xiàn)
[1]許豪主編.云計(jì)算導(dǎo)論[M].西安:西安電子科技大學(xué)出版社,2015.
[2]朱培佩.基于云計(jì)算的大數(shù)據(jù)分析優(yōu)化技術(shù)研究[J].現(xiàn)代信息科技,2019(14):69.
[3]邢偉,蘇圣魁.大數(shù)據(jù)云計(jì)算環(huán)境下的數(shù)據(jù)安全分析[J].通訊世界,2016(13):25.
[4]張佳,周雪.基于云計(jì)算的大數(shù)據(jù)處理技術(shù)探討[J].電腦編程技巧與維護(hù),2019(12):104-105+120.
[5]蔡煒.以云計(jì)算為基礎(chǔ)的大數(shù)據(jù)處理技術(shù)探討[J].數(shù)字技術(shù)與應(yīng)用,2017(12):205-206.