云計算是一次新的IT革命。目前,普遍認為云計算服務可以分基礎設施即服務(Infrastructure as a service,IaaS)、平臺即服務和軟件即服務3類。IaaS面向企業用戶,提供包括服務器、存儲、網絡和管理工具在內的虛擬數據中心,可以幫助企業削減IT建設成本和運維成本。在數據中心的物理基礎設施上,IaaS通過虛擬化技術整合出了虛擬資源池。對提供基礎設施提供商來說,云計算平臺主要是由各種機器組成的數據中心、一組部署管理的軟件以及通過部署生成的虛擬機組成。與現有的企業數據中心相比,云計算平臺具有很多優勢,如靈活的IT基礎架構、資源的按需分配和資源的快速供給等,這些特點使得云計算特別適合于互聯網環境下為用戶提供短期的、靈活的服務。
隨著云計算應用技術的發展,數據中心面臨著新的挑戰和發展機遇。傳統的數據中心,無論是企業私有數據中心,還是以提供租賃服務為主的運營商互聯網數據中心(Internet data center,IDC),都面臨飛速增長的空間擁擠、能耗巨大和管理復雜等問題。在云計算環境下,采用以虛擬化為核心技術的新一代虛擬數據中心在高密度的硬件資源環境下,占用更少的機架、電源和空調等物理資源,可以更快速、靈活、有效地部署更多的應用,促進數據中心“綠化”建設。更為潛在的作用是,云計算數據中心機房可以顯著降低人員及管理成本,在經過低成本的改造過程后機房運維可以實現無人值守、實時監控、自動系統安裝和硬件故障報警等綜合性的云服務系統。
中小企業是推動中國云計算發展的主要驅動因素之一。對正處于成長期的中小企業而言,投資建設IT基礎架構的投資回報率較低,并且很難與業務的快速成長匹配。云計算具有部署靈活、隨需隨用、按需定制和性價比高等特點,能為這些中小企業提供合適的解決方案。
隨著互聯網基礎設施的快速發展,互聯網應用已經滲透到社會生活的各個方面。互聯網應用具有高吞吐率、高并行性和較強的交互性等特點,在服務上具有非確定性,表現為“盡力而為”,較少涉及到復雜的運算。互聯網應用的特征為開發云操作系統提供了最基本的依據。互聯網應用的迅猛發展對云操作系統提出了新的挑戰和需求。目前,面向大型互聯網的云計算的關鍵技術主要還是掌握在外國大型公司的手中。探究大型互聯網環境中大規模計算資源、網絡資源、存儲資源和軟件資源等的靈活調度及按需部署仍然是一個較為前沿的研究課題。
云計算對運營商是發展契機,一方面它能夠優化IT資源、降低企業內部的運營成本,另一方面也是運營IT業務的切入點。為解決目前實際運維中出現的管理成本高、第三方提供的云平臺的許可費過高且不滿足動態多變的互聯網應用需求等問題,必須設計和開發云操作系統INACloud。 INACloud要盡可能兼容既有資源,并能與現有業務平臺對接,其主要目標服務群體是中小企業,并要求具有方便的定制能力,表現為以下兩方面:
(1)自動化資源部署。“云”的核心功能是自動為用戶提供IT服務,用戶、管理員和其他人員能通過界面對云計算平臺進行管理和監控。完全自動化的部署流程不僅符合安全要求,而且能自動滿足用戶的需求,通過提高現有資源的利用率和復用率節省成本。
(2)端到端服務請求管理。該流程管理可以提供對服務請求的全周期管理,包括訂單處理、系統開通和服務計費等。
1.開源云計算操作系統選型
“全新”設計一個云操作系統,從成本效益來看是不可取的。既要滿足自己的需要,又要避免陷入成本陷阱,因此,更可行的途徑是選擇一個合適的開源云操作系統作為基礎,進行本土化定制和二次開發。
除Amazon,Google提供的云計算操作系統外,云計算操作系統還包括Eucalyptus,OpenNebula,OpenStack,OpenQRM,XenServer,CloudStack,ConVirt等。每種云計算操作系統都具有一定的特點,其中大部分云計算操作系統采用開源模式,但社區規模較小,活躍程度也不高。除了Eucalyptus系統積極地鼓勵社區用戶參與項目的開發與測試之外,其他云計算操作系統選擇開放源代碼只是一種營銷策略,并且價格大多較貴。另外,部分操作系統每年需要更新一次服務器許可證,僅管理和維護許可證就是個復雜問題。
國內開發云計算操作系統較晚,目前仍處于起步階段,所以大多直接引入國外的云操作系統或通過引進國外商業產品的技術核心及平臺進行架構。浪潮、中興、阿里巴巴和華為等公司相繼推出了各自的云計算系統或云計算平臺,如浪潮的“云海OS、中興的“CoCloud云操作系統”和阿里巴巴的“阿里云OS”等。這些云操作系統還處于探索階段,尚未廣泛使用,并且系統的性能、價格和安全性等還有待市場檢驗。考慮到知識產權、建設成本和管理成本等因素,研究并自主開發開放的、兼容的、滿足實際運營需求的云操作系統十分必要。
結合目前業界最先進的虛擬化技術、開源IaaS平臺管理技術,利用自身云計算運營的經驗,進行研發、改造生成滿足運營需求、技術領先的云計算管理平臺。經過初步篩選,本工作重點考察OpenStack和CloudStack開源云計算平臺,并分別搭建測試環境。通過一系列的技術、業務開展等方面的比對,整理的重要指標見表1。
表1 OpenStack和CloudStack的對比
Table 1 Comparison of CloudStack and OpenStack
C1oudStack平臺的前身是Cloud.com的平臺,作為全球最成功的公共云平臺之一,已經幫助至少85個大規模生產性云平臺實現了10億美元以上的運營收入。它支持VMWARE ESX,Xen,KVM,Hyper-V和Bare Metal裸金屬服務器,并提供了大量的云計算管理工具,如VM自助式供應、動態工作負載管理和多租戶管理等。
出于后續運營及技術等方面的考慮,本工作決定采用以CloudStack為主,參考OpenStack的方式進行后續云計算操作系統的研發。
2.INACloud的架構設計
云計算平臺采用樹狀分層結構(見圖1),其層次結構定義如下:
圖1 資源組織結構
Fig.1 Structure of resources organization
(1) Zone。一個Zone包含多個pod和二級存儲,是最大的組織單元,傳統上對應一個數據中心(在數據中心可以有多個zone),優點是提供物理上的獨立性和冗余性。
(2) Pod。一個硬件陣列,包含一個2層交換機、若干個集群。Pod類似于機架,同一Pod中的主機在同一子網中。Pod對于最終用戶是不可見的。
(3) Cluster。一個CIuster包括若干個主機和主存儲。集群提供一種組織節點的方式,可以是XenServerserver池、一組KVM server或者是事先在vCenter中事先配置好的VMvare集群。一個集群中的計算節點有同樣的硬件、hypervisor和子網,能夠訪問共享的主存儲。虛擬機能夠在不中斷的情況下于一個集群內遷移。
(4) Host。單個的計算節點,以虛擬機的形式提供真正的云服務。
(5)主存儲。與一個集群相連,負責保存虛擬機運行時所需的磁盤卷。
(6)二級存儲。與一個Zone相連,存儲模板、ISO鏡像和磁盤快照等。
2.1 組件結構
CloudStack采用“框架+插件”的系統構架,通過不同的插件來提供對不同虛擬化技術的支持,同時,這種系統構架也為定制CloudStack提供了可能性。如圖2所示,INACloud在CloudStack上增加了調度服務、計費服務和監控服務等。
圖2 INACloud的組件結構
Fig.2 Structure of INACloud components
2.2 網絡結構
CloudStack的網絡設計是一個亮點,也是其被商業廣泛應用的一個主要原因,INACloud則直接借用了這種設計模式。
根據不同的數據流量類型設計公共、管理、客戶和存儲網絡,簡稱PMGS。
公共(P):用于虛擬機訪問外網,所有的HypervIsor都需要共享Public Vlan以保證虛擬機對外網的訪問。
管理(M):用于云內部通信,包括管理服務器節點與Hypervisor集群、系統虛擬機或其他組件之間的通信等。
客戶(G):用于最終用戶運行虛擬機實例時的通信和虛擬機實例之間的通信。
存儲(S):用于主存儲與Hypervisor、二級存儲之間的通信。
網絡模式根據安全性不同分為基本網絡和高級網絡,其中M,G,S網絡對基本網絡和高級網絡通用,而P網絡只針對高級網絡。兩種網絡模式的主要區別在于對G網絡采用的隔離方式,前者采用Security Group方式,而后者采用VlAN方式。
另外,系統虛擬機的虛擬路由器在高級網絡模式中十分重要,它為租戶私有網絡與公共網絡之間的接口,并為租戶的私有網絡提供各種網絡服務,包括NAT,靜態NAT,DHCP,DNS,LOAd Balancing,Port Forwording,Firewalls,Site-to-Site VPN等。
2.3 與現有業務系統對接
為便于與現有業務系統的對接,所有云操作系統的API都可以通過HTTP GET/POST帶上命令及其參數的方式進行訪問;同時,云操作系統的對外功能層提供基于SOAP消息格式的Web服務和基于JSON消息格式的RESTfuI服務訪問方式(見圖3)。
圖3 云操作系統與電信系統的對接
Fig.3 INACloud Connecting in business system
3.可定制的云平臺管理功能
3.1資源調度
INACloud包括常用的3種負載均衡算法。
(1) Roundrobin,即簡單輪詢調度,調度器通過“輪詢”算法將外部用戶請求按順序分配到集群中的每個物理服務器上。該算法平等地對待每一臺Real Server,而不受服務器上實際的負載狀況和連接狀態影響。
(2) Leastconn,即最少連接調度,調度器將網絡請求調度到已建立的鏈接數最少的服務器上。如果集群系統的真實服務器具有相近的系統性能,采用“最小連接”調度算法可以較好地均衡負載。
(3) Source,即“源地址”調度,調度器根據請求源IP進行散列(hashing)來調度。
INACloud還包括:基于經濟成本函數的調度算法,即最少費用原則;Lastsame算法,即盡量與上一次的調度結果一致;最快響應算法,即試圖與用戶歷史中最快響應的虛擬機調度分配一致。
這些調度算法以服務的形式提供給用戶,并可通過用戶門戶來選用。調度服務采用目前流行的Web服務器Tomcat和JSP技術,實現讀取XML數據顯示在瀏覽器頁面中,并融入INACloud管理平臺。
自定義調度算法通過云操作系統的2個接口進行定制。
(1)主機資源調度接口
public List<Host> allocateTo (VirtuaIMachine-Profile <?extends VirtualMachine> vmProfile,DeploymentPlan plan,Type type,ExcIudeIist avoid,int returnUpTo);
(2)存儲資源池調度接口
public list<Storage PooI> allocate ToPool (DiskProflie dskCh,Virtual Machine Profile? extendsVirtualMachine> vm,DeploymentPlan plan,Ex-cludeList avoid,int returnUpTo)。
3.2 資源監控
由于云計算具有自動化、彈性可擴展的特點,因此,云計算環境中的資源監控顯得格外重要。
監控系統分為采集、信息處理與存儲、展現以及警告4個主要功能,其中采集的內容包括主機的CPU狀態、內存使用情況、INACloud平臺運行狀況(包括事件和警告)和網絡流量等信息(見圖4)。監控管理器(MServer)根據不同的采集頻度,采用輪詢的方式定期訪問收集器(Collectors),Collectors負責采集數據。MServer接收到數據后按照設定的策略,定期將歷史信息存入HBase中。這些數據可為負載均衡或者動態遷移等模塊提供信息。監控客戶(MCLient)根據用戶要求從MServer獲取相關數據后,繪制易于用戶閱讀的圖表格式呈現給用戶。MServer對于收集到的信息進行分析,若發現主機或云平臺的異常,會借用開源監控系統Nigos提供報警功能,使用戶可以快速地定位錯誤,并對錯誤進行修復。
圖4 INACloud的資源監控
Fig.4 Resource monitorIng in INACloud
3.3 計費管理
C1oudStack沒有實現計費系統,但是有相應的模塊對資源使用情況進行記錄,提供某賬戶的資源累計使用情況。INACloud利用這些數據進行計費,并將定制的計費策略集成到云計算操作系統中。
通過對照Amazon的云計算資源的計費模式和云計算業務的運營經驗,開發了INACloud的計費模塊,并通過對用戶實際使用的云計算資源進行細穎粒的統計計費,計算出用戶某段時期內虛擬機、存儲和網絡的費用(見圖5)。
圖5 INACloud的計費界面
Fig.5 UI of accounting in INACloud
4.結束語
INACloud旨在打造動態、開放的云服務平臺,向下整合多廠商的云計算基礎產品和解決方案,向上聯合更多的云服務提供商,以開源軟件CloudStack為基礎,進行了功能定制和二次開發以滿足實際運維的需要。
為適應中小企業用戶的量多、短期和動態性強的特點,INACloud提供了多樣化資源調度算法、單點登錄和多種計費收費策略等功能。
鑒于互連網應用的交互性要求,采用4種網絡類型、2類網絡模式的網絡結構,以便更好地進行數據分流和帶寬分配。
試運行結果表明,INACloud的架構與設計在與原有系統的銜接、成本控制和解決許可證費用等方面均取得了良好的效果。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:面向互聯網應用的云操作系統的架構設計
本文網址:http://www.guhuozai8.cn/html/consultation/10839612913.html