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