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