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