虛擬化技術是雲計算平臺的基礎,其目標是對物理計算資源進行整合或劃分,自它提出之日時就獲得了廣泛應用,現在甚至成為雲計算管理平臺中的關鍵技術層面。按照虛擬化實現的層次,可以將其分為完全虛擬化和半虛擬化技術,這二者的區別就在於是否修改虛擬作業系統以獲取特定指令。虛擬化技術為雲計算管理平臺的資源管理提供了資源調配上的靈活性,從而使得雲計算管理平臺可以通過虛擬化層整合物理資源或劃分物理資源。
基於虛擬化技術的雲計算管理平臺大多具有如下功能:應用定義、服務管理、集群管理以及物理機-虛擬機器管理。應用定義模組的功能是為雲計算管理平臺的最終使用者定義需要的機器類型,可以創建、修改、刪除每一種機器類型;一組機器的集合被成為實例,雲管理平臺的使用者可以對實例進行整體管理,也可以對實例中的機器進行啟動、關閉以及刪除等單獨操作。服務管理模組管理雲計算管理平臺中的所有服務,包括對帳戶、用戶以及租戶的管理、事件服務的管理、安全服務的管理等。集群管理模組能夠在地理位置分散的機器,為全部關鍵應用、服務等集中分配資源,從而提供了一個單一而又有效的管理環境,降低了管理總成本。雲管理平臺可以同時管理物理機和虛擬機器,對物理機提供的是啟動、關閉等基本功能;對虛擬機器提供的則是整個生命週期的管理,包括創建、運行、維護以及遷移等。
雲計算管理平臺的資源模型
要對雲計算平臺進行管理首先需要描述其管理目標,這是管理操作的基礎。雲計算平臺的資源類型多種多樣,已有OVF、BPEL等資源建模格式,但它們都無法對雲管理平臺管理提供完整支援。該文接下來針對雲管理平臺的各種資源類型進行建模,同時說明了雲計算管理平臺中各種資源在資源建模時需要關注的性能指標。
雲管理平臺的首要功能是雲服務,調用雲服務的流程符合SOA組合服務的調用流程,所以對雲服務建模時可以參照BPEL資源建模格式。首先對雲服務進行細分:直接提供服務的雲服務是不可再分的原子雲服務,調用其他服務完成雲服務功能的是組合雲服務。組合服務的調用流程可能有多個,當要計算組合服務資源的依賴關係時,要綜合考慮不同調用流程被調用的概率,加權計算所有的調用流程所造成的資源依賴關係。雲管理平臺上衡量雲服務優劣的性能指標主要包括回應時間、最大連接數以及可用性,不論是原子雲服務還是組合雲服務,衡量的性能指標都是相同的。
虛擬化計算資源和存儲資源是相互獨立的,兩者通過虛擬化網路資源連接起來。不論是虛擬化計算資源還是存儲資源,都會被配置到一個虛擬化網路中,每個虛擬化網路包含多個虛擬化計算資源和存儲資源。處於不同虛擬網路中的虛擬化計算資源和存儲資源間是相互隔離的,同一虛擬網路內部的通信不佔用虛擬網路的資源,而虛擬網路內部與外部的通信會佔用虛擬網路頻寬,所以在考慮虛擬網路資源的性能需求時,需要綜合考慮虛擬網路內部和外部兩方面的因素。不管是哪種類型的資源都包含使用的物理資源、性能指標、所屬虛擬網路等幾個方面的屬性。虛擬化資源的種類多種多樣,所以無法找到一種通用的性能指標,可以根據虛擬化資源的實際運行情況選取合適的指標:例如對存儲資源有每秒讀寫次數,讀寫速率,可靠性(備份、恢復機制等)等指標。
物理資源的類型劃分和虛擬資源相同,但物理資源因為其規模、屬性等特徵是固定的,因而難以像虛擬資源那樣調整拓撲結構;一般來說物理資源大多是以伺服器附加網路的方式提供資源。計算資原始伺服器主要提供CPU和記憶體,RAID等存儲類資源可以擴展其資源架構,但其計算資源難以擴展。可以將物理資源分為伺服器及網路設備兩大類,伺服器中的計算、存儲等虛擬化資源會佔用其物理資源,而和計算、存儲等虛擬資源直接相連的虛擬網路也會佔用伺服器上的網路頻寬資源;對網路設備來說,如果虛擬網路連接的是鏈路兩端伺服器上的虛擬節點,那麼此連接也會消耗此網路設備上的網路頻寬資源。物理計算資源的性能指標主要包括CPU個數、性能,記憶體總量、記憶體佔用率等;物理存儲資源的能指標主要包括存儲總量、讀寫速率等。