隨著云計算數據中心虛擬化技術的引入,將一個物理服務器虛擬化多個虛擬服務器已經成為現實,即虛擬化桌面云。采用虛擬化桌面云為核心的數據中心應用范圍廣泛,應用類型眾多,同時面向不同的應用場景和客戶群體。
目前虛擬化桌面云架構中,存在以下三個因素,限制了用戶業務應用的性能和規模:(1)服務器主機的CPU/內存;(2)網絡帶寬;(3)存儲I/0。
隨著服務器多核多線程的x86架構CPU和內存技術的發展,CPU/內存資源可以支持服務器主機上創建大規模數量的虛擬機。而l0Gbe NICs和帶TOE(TCP/IP offlOAd)的LOMs(LAN-on—motherboard)技術的不斷發展,網絡帶寬也不是制約虛擬機規模化增長的瓶頸。在CPU、內存和網絡帶寬等資源不斷增長的同時,存儲的I/O負載也在不斷加大。
過去,例如l臺NAS/SAN的存儲陣列,可支持50臺物理服務器,即50個主機連接。如今,平均一臺物理服務器上平均創建l0~30個虛擬機,則同樣50臺物理服務器可支持500~1500個虛擬機,即有500~l500個虛擬服務器連接這臺存儲陣列。每臺物理服務器上的多個虛擬機產生的讀寫I/O數據之間是沒有關聯的,數據訪問模型以隨機數據為主。因此,存儲的I/O會有兩個瓶頸。
(1)存儲設備的瓶頸:存儲設備需要處理大量的隨機讀寫I/O請求,若存儲設備的CPU和磁盤I/O的性能不夠,會使業務應用產生停頓。
(2)高延時:虛擬機的業務應用需要等待很高延時,才能完成讀或寫的I/O請求。
為了同時滿足眾多的客戶需求,提供優質的數據服務,I/O虛擬化技術應運而生。通過將用戶的I/0請求存儲在高速緩存設備上,加速I/0的響應性能,來滿足數據中心對I/O的高帶寬、低延時的業務需求。隨著SSD硬盤的價格不斷降低,在服務器端增加高速存儲設備(Cache),緩存用戶數據,提高讀寫I/0性能,越來越被廣泛應用。例如,在數據庫應用方面,通過將數據庫的日志等頻繁刷新的非用戶數據,緩存在服務器的大容量Cache存儲設備上,提高數據庫服務器的I/O性能。
因此,本系統采用Cache軟件,利用SSD硬盤的高速讀寫能力,應用在虛擬桌面云系統中,實現對系統I/0訪問的加速。
一 云計算系統I/O加速的設計實現
傳統的虛擬桌面云系統采用三層結構:第一層是服務器,運行虛擬機及用戶的業務應用;第二層是數據存儲網絡;第三層是存儲設備,存儲用戶數據。服務器的虛擬機(業務應用)通過數據存儲網絡,訪問存儲設備,獲取或存儲用戶數據。
當虛擬機用戶數量增大時,可以通過擴展服務器的性能(CPU、內存等)和存儲設備的容量(磁盤組數量)來提高支持的用戶數。虛擬機用戶數的增加,帶來數據存儲網絡的讀寫I/0請求數也相應增加,對存儲設備的I/O性能要求也提高。若存儲設備的性能不能滿足要求時,則系統就達到了I/0瓶頸。
在整個虛擬桌面云系統層面,根據業務應用模型,可從服務器端、存儲端、網絡端三個方面,對I/0采用Cache數據的方法,做性能優化。本方案在服務器端,增加高速存儲設備,緩存用戶的讀寫數據,進而減少讀寫I/0響應時間,如圖l所示。
在服務器層增加Cache軟件和SSD緩存設備,存儲用戶的I/O數據,可以減少存儲設備的I/0壓力。當虛擬機用戶有寫I/0請求時,數據先存儲到Cache軟件寫緩存區域上,Cache軟件定期把匯聚后的I/0數據(減少寫I/0請求數),經過存儲網絡刷新到存儲設備。當虛擬機用戶有讀I/0請求時,在通過網絡從存儲設備讀入I/0數據的同時,Cache軟件將I/O數據寫入讀緩存區域,當下一次用戶讀取同一份I/0數據時,直接通過Cache軟件從讀緩存區域中讀取,而不用從存儲設備中讀取,如圖2所示。
Cache軟件根據讀寫模式不同,具有writethrough(透寫)模式、WriteBack(回寫)模式和ReadOnly(只讀)模式。Writethrough(透寫)模式,指的是Cache軟件在將用戶的寫I/O數據寫往后端存儲設備的同時,會緩存寫I/O數據在SSD緩存設備上;WriteBack(回寫)模式,指的是Cache軟件中將用戶的寫I/0數據緩存在SSD緩存設備上,而不直接寫往后端存儲設備,SSD設備上的數據會定期寫入到后端存儲中;ReadOnly(只讀)模式,指的是Cache軟件中只將用戶的讀I/O數據緩存到SSD設備中,寫I/O數據不做緩存。
二 應用效果分析
評價系統在I/0方面的應用效果,以回寫模式為主要方向,從讀I/O和寫I/0兩方面的處理過程來分析。
2.1 虛擬機用戶的寫I/O請求
虛擬機用戶的寫I/O請求,采用存儲在Cache軟件寫緩存區域中,再匯聚多個寫I/O數據后,刷新到存儲設備中,這種模式,具有以下特點。
(1)減少數據存儲網絡中的寫I/O請求數,以及減少存儲設備需要響應的寫I/O請求數。
(2)回寫模式會在寫I/0數據寫入SSD設備后,就認為寫操作結束,將結果返回給業務應用,這種模式會減少寫I/O延時。
(3)將多個隨機寫I/0數據匯聚成一個順序寫I/0后,再刷新到存儲設備中,可以減輕存儲設備的I/0負載。
(4)通過設置刷新臟數據的閥值或時間間隔,提供不同的寫性能。(閥值:初始狀態,數據均寫在Cache中,當臟數據超過總容量的閥值比率,開始向后端存儲刷新數據。時間間隔:每隔一定的時間,向后端存儲刷新數據。)
相比傳統虛擬桌面云的架構,通過匯聚I/0請求數,間接提高存儲設備的I/O處理能力,從而提高整個系統的I/0處理能力,增加支持的虛擬機用戶數量。
虛擬機用戶的匯聚多個寫I/0請求,只能對邏輯地址連續的I/0數據的寫操作進行匯聚,因此,適用于對某部分區域頻繁寫操作的業務應用,而對于寫I/O隨機性較大的業務應用,性能提升不大。
2.2 虛擬機用戶的讀I/O請求
虛擬機用戶的讀I/0請求,第一次讀取I/0數據時,還是從存儲設備中讀取,當第二次讀取同樣的I/0數據時,可以通過讀取Cache軟件讀緩存區域,而減少數據存儲網絡中的讀I/0請求數,以及減少存儲設備需要響應的讀I/0請求數。相比傳統虛擬桌面云,通過減少對存儲的讀I/O請求數,間接提高存儲設備的I/O處理能力,從而提高整個系統的I/O處理能力,增加支持的虛擬機用戶數量。
虛擬機用戶的讀I/0請求,若是集中在某些數據區域(熱點數據),也就是對某些數據區域產生多次讀I/O,則性能較傳統虛擬桌面云模型,會有明顯改善。若數據區域完全離散,即虛擬機用戶的讀I/O對所有數據區域的訪問是均勻的,則性能不會有明顯改善。
2.3 三種模式對比(回寫,透寫和只讀)
Cache軟件的回寫和透寫模式,可以緩存用戶的寫I/O請求和讀I/0請求,而Cache軟件的只讀模式,只對虛擬機用戶的讀I/O請求做緩存。因此,只讀模式適合絕大部份為讀操作的業務模型。Cache軟件的透寫模式,當讀I/O數據是剛處理的寫數據I/0數據,則會減少讀I/0的延時,適合反復讀寫用戶數據的業務模型。Cache軟件的回寫模式,主要可以減少I/O延時和合并寫I/O操作,減少后端存儲的寫I/O處理總量,適合具有熱點數據的業務模型。
三 結語
在虛擬化桌面云系統中,具有明顯的熱點數據,例如虛擬機的系統盤數據,根據測試,在系統中,把熱點數據緩存在SSD高速存儲設備上作為Cache,會大幅度提高系統I/O性能,并減少虛擬機用戶的I/O請求的處理延時,具有一定的實際應用意義。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:Cache加速在虛擬桌面云上的應用