韓慶生++喻民權(quán)++王東橋
[摘要]SmartOS是一個(gè)Unix-like的操作系統(tǒng),它主要集成了OpenSolaris的技術(shù)以及Linux:ZFS+DTrace+Zones+KVM,是一個(gè)免安裝的、直接運(yùn)行在內(nèi)存的開(kāi)源操作系統(tǒng)。FIFO是一個(gè)優(yōu)秀的Web管理界面的虛擬機(jī)管理平臺(tái),二者的結(jié)合為搭建高效的開(kāi)源虛擬化云計(jì)算平臺(tái)提供了保證。
[關(guān)鍵詞]云計(jì)算;云存儲(chǔ);虛擬化
[DOI]1013939/jcnkizgsc201730222
“云”是存在于互聯(lián)網(wǎng)上的服務(wù)器集群上的資源,主要包括云計(jì)算、云存儲(chǔ)等。通常所說(shuō)的云技術(shù)就是把日常信息、工具或是程序等放到互聯(lián)網(wǎng)的虛擬空間里,以達(dá)到資源共享的目的,主要包括網(wǎng)絡(luò)技術(shù)、整合技術(shù)、信息技術(shù)、應(yīng)用技術(shù)和管理平臺(tái)技術(shù)?!霸拼鎯?chǔ)”是在云計(jì)算概念上延伸和發(fā)展出來(lái)的一個(gè)新的概念,它不是存儲(chǔ),而是服務(wù)。
1Project FiFo+SmartOS解決方案的可行性
開(kāi)源云平臺(tái)開(kāi)發(fā)項(xiàng)目很多,但對(duì)中小規(guī)模的虛擬化云計(jì)算教學(xué)實(shí)驗(yàn)平臺(tái)來(lái)說(shuō),其部署的硬件成本和復(fù)雜性還有一定難度。而Project FiFo+SmartOS的出現(xiàn),使簡(jiǎn)單化、產(chǎn)品化的云平臺(tái)部署得以實(shí)現(xiàn),且沒(méi)有額外的版權(quán)費(fèi)用,其目標(biāo)是建立一個(gè)快速部署可全面管理的、可定制的、零接觸的混合云。
2系統(tǒng)環(huán)境搭建及基本概念
FIFO+SmartOS可以安裝到普通計(jì)算機(jī)上,SmartOS有USB、ISO和VMware環(huán)境等安裝介質(zhì),也可采用DHCP/PXE啟動(dòng)方式,系統(tǒng)本身是免安裝的,而且是只讀的,啟動(dòng)后只需設(shè)置IP地址和存儲(chǔ)池,即完成了系統(tǒng)安裝。其優(yōu)勢(shì)在于可用USB啟動(dòng),升級(jí)時(shí)只需要下載一個(gè)新的SmartOS版本,寫(xiě)入U(xiǎn)盤(pán)后重啟。SmartOS使用了ZFS文件系統(tǒng),使用者不必關(guān)注硬盤(pán)大小和分區(qū),安裝時(shí)只需建立一個(gè)池,然后把硬盤(pán)依次加入。zpool存儲(chǔ)工具方便了文件管理,每一個(gè)被創(chuàng)建的虛擬機(jī)都在一個(gè)獨(dú)立管理的zone中,其特點(diǎn)是安全、隔離、虛擬、細(xì)粒度和透明,全局域global zone可訪(fǎng)問(wèn)和管理所有的zone,命令zlogin用于登錄zone。SmartOS針對(duì)不同的操作系統(tǒng)和應(yīng)用發(fā)布了許多鏡像,在根目錄下首先安裝pkgin包管理器,命令$ imgadm avail 用于查看可用的鏡像文件。命令$ imgadm import UUID可通過(guò)UUID號(hào)導(dǎo)入開(kāi)源社區(qū)的各種系統(tǒng)鏡像。
UUID(Universally Unique Identifier)是全局唯一標(biāo)識(shí)符,每一個(gè)虛擬機(jī)在被創(chuàng)建時(shí)賦予一個(gè)UUID號(hào)。頭節(jié)點(diǎn)(Head Node)是配置安裝管理程序的節(jié)點(diǎn),它運(yùn)行核心服務(wù)及API,并且負(fù)責(zé)PXE啟動(dòng)其他計(jì)算節(jié)點(diǎn)。在頭節(jié)點(diǎn)管理中加入的每一個(gè)被管理的虛擬機(jī)實(shí)例為計(jì)算節(jié)點(diǎn)。
3虛擬機(jī)管理程序的部署
要實(shí)現(xiàn)Project FiFo管理程序部署,需要建立清單文件(內(nèi)容包括CPU數(shù)量、硬盤(pán)和內(nèi)存大小、DNS、IP地址和網(wǎng)卡配置等),然后在SmartOS系統(tǒng)中建立三個(gè)zone,其中兩個(gè)LeoFS zone用于存儲(chǔ)管理,一個(gè)FiFo zone用于安裝虛擬機(jī)管理和通訊程序,當(dāng)FIFO zone安裝完畢后,就可以使用Web界面來(lái)創(chuàng)建和管理虛擬機(jī),通常使用清單創(chuàng)建虛擬機(jī)有以下幾個(gè)步驟:①建立清單文件。②創(chuàng)建虛擬機(jī)命令# vmadm create -f leofs-1json。③登錄虛擬機(jī)命令:# zlogin UUID 用于登錄虛擬機(jī)進(jìn)行個(gè)性化配置。④加密登錄命令:# openssl rand -base64 32 | fold -w16 | head -n1隨機(jī)生成訪(fǎng)問(wèn)鍵和密鑰。
4Fifo體系架構(gòu)特點(diǎn)
從操作系統(tǒng)來(lái)看,SmartOS是由Unix系統(tǒng)發(fā)展而來(lái)的,與linux命令有許多相似之處。Fifo是安裝在SmartOS上的虛擬機(jī)管理和業(yè)務(wù)流程系統(tǒng),主要有以下幾個(gè)特點(diǎn):
①編程語(yǔ)言的特點(diǎn):Erlang具有簡(jiǎn)潔精練的分布式模型、超強(qiáng)的并發(fā)性、多核支持、跨平臺(tái)、高可靠性、熱部署、獨(dú)特的錯(cuò)誤處理模型及函數(shù)式編程等特點(diǎn),在國(guó)內(nèi)外有廣泛的應(yīng)用。②架構(gòu)與管理的特點(diǎn):FIFO不需要專(zhuān)用的硬件設(shè)備和服務(wù)角色,支持多數(shù)據(jù)中心的部署,通過(guò)Web界面的虛擬機(jī)管理程序,方便地在云中管理、建立、刪除一臺(tái)虛擬機(jī)及查看每臺(tái)虛擬機(jī)的運(yùn)行狀況,進(jìn)行圖表分析和備份,重新部署任意節(jié)點(diǎn)等。③存儲(chǔ)的特點(diǎn):FIFO平臺(tái)存儲(chǔ)采用的是LeoFS,是無(wú)結(jié)構(gòu)、高可用、分布式的與Amazon S3兼容的對(duì)象存儲(chǔ)。④命令的特點(diǎn):FIFO對(duì)常用命令組進(jìn)行統(tǒng)一命名,通過(guò)設(shè)置不同的參數(shù)達(dá)到簡(jiǎn)化管理命令的目的。例如:Imgadm是與鏡像相關(guān)的命令組,avail和import分別是查詢(xún)可用的鏡像和導(dǎo)入鏡像參數(shù);vmadm是虛擬機(jī)實(shí)例管理命令組,create-f和delete分別是建立和刪除虛擬機(jī)命令參數(shù);svcadm是配置主從節(jié)點(diǎn)管理命令組,enable和disable分別是啟用和關(guān)閉相關(guān)服務(wù)命令參數(shù);leofs-adm對(duì)象存儲(chǔ)管理命令組,status是顯示當(dāng)前存儲(chǔ)節(jié)點(diǎn)和網(wǎng)關(guān)狀態(tài)信息參數(shù)。
5FIFO組件與運(yùn)行機(jī)制分析
FIFO系統(tǒng)的主要組件介紹,除Chunter組件運(yùn)行在global zone中負(fù)責(zé)虛擬機(jī)的創(chuàng)建維護(hù)外,在LeoFs中安裝運(yùn)行了三個(gè)組件與服務(wù),分別是Leo Manager、Leo Gateway和Leo Storage,在FIFO zone中安裝運(yùn)行了Sniffle、Snarl、Howl、Wiggle、Jingles等組件服務(wù)。
Howl負(fù)責(zé)Fifo項(xiàng)目的實(shí)時(shí)通訊服務(wù),實(shí)時(shí)更新用戶(hù)界面。sniffle是中央決策系統(tǒng)和數(shù)據(jù)存儲(chǔ)服務(wù),實(shí)時(shí)查看虛擬機(jī)是否正常工作或無(wú)故障運(yùn)行,包括網(wǎng)絡(luò)、IP范圍、包配置等,發(fā)現(xiàn)故障時(shí),可自動(dòng)做出替換決定。Snarl是基于角色的訪(fǎng)問(wèn)控制PBAC(Role-Based Access Control),負(fù)責(zé)授權(quán)或撤銷(xiāo)用戶(hù)權(quán)力,具有多數(shù)據(jù)中心的情況下,允許相互之間同步用戶(hù)數(shù)據(jù)的功能。Wiggle提供了完整的API服務(wù),向上為Snarl驗(yàn)證用戶(hù)的權(quán)限和許可,向下獲得Sniffle的決策信息,同時(shí)為客戶(hù)端Jingles提供各種功能支持。Jingles是圖形化的用戶(hù)接口,授權(quán)用戶(hù)及系統(tǒng)操作界面維護(hù)。Chunter用于虛擬管理程序交互服務(wù),安裝在每個(gè)由FiFo管理的實(shí)體機(jī)器上,通過(guò)與SmartOS交互,創(chuàng)建、更新、銷(xiāo)毀一個(gè)虛擬機(jī),并收集虛擬機(jī)VM信息實(shí)時(shí)反饋給Howl。Tachyon提供了對(duì)歷史數(shù)據(jù)收集、分析和度量功能,并存儲(chǔ)在DalmatinerDB數(shù)據(jù)庫(kù)。Docker提供了對(duì)Docker的支持及CA認(rèn)證。
6結(jié)論
Project FiFo+ SmartOS為開(kāi)源虛擬化云計(jì)算平臺(tái)提供了一種新的選擇,目前最新的092版已全部重寫(xiě)了代碼,隨著社區(qū)開(kāi)發(fā)者的不斷努力,軟件平臺(tái)的各項(xiàng)功能日趨完善,基本滿(mǎn)足了高職院校虛擬化云計(jì)算教學(xué)實(shí)驗(yàn)平臺(tái)的需要,雖然其軟件產(chǎn)品在虛擬機(jī)部署、備份等方面與Vmware相比仍有一定差距,但相信未來(lái)會(huì)被更多的云平臺(tái)用戶(hù)所接受。
參考文獻(xiàn):
[1]田龍?jiān)朴?jì)算環(huán)境下計(jì)算機(jī)軟件系統(tǒng)架構(gòu)分析[J].電子技術(shù)與軟件工程,2016(2):57
[2]王康云計(jì)算環(huán)境下的院校網(wǎng)絡(luò)體系結(jié)構(gòu)分析[J].電腦知識(shí)與技術(shù),2016(2):41-42
[3]田昶云計(jì)算平臺(tái)搭建探析[J].智富時(shí)代,2016(10):195
[作者簡(jiǎn)介]韓慶生(1962—),男,漢族,河北任丘人,研究生,高級(jí)工程師,研究方向:云計(jì)算、VR技術(shù);喻民權(quán)(1975—),男,漢族,云南騰沖人,本科,工程師,研究方向:數(shù)據(jù)庫(kù)及數(shù)據(jù)挖掘分析技術(shù);王東橋(1960—),男,漢族,河北河間人,本科,副教授,研究方向:計(jì)算機(jī)應(yīng)用與管理。