服務(wù)器虛擬化已經(jīng)把傳統(tǒng)的磁盤存儲(chǔ)推向極限,這是有證可循的。密集的虛擬機(jī)(vm)環(huán)境向磁盤陣列發(fā)送多個(gè)、隨機(jī)化的讀寫io請(qǐng)求,壓垮了磁盤控制器并導(dǎo)致存儲(chǔ)延時(shí)的增加和應(yīng)用性能的減弱。為了解決這個(gè)問題,很多存儲(chǔ)計(jì)劃人員正在選擇服務(wù)器端的高速緩存解決方案。
服務(wù)器端的高速緩存是解決磁盤io性能問題的一個(gè)好的方法,因?yàn)樗苯右苿?dòng)癥結(jié)所在的服務(wù)器內(nèi)的高速ssd資源。與智能的軟件高速緩存結(jié)合使用,公司可以極大地改善vm應(yīng)用的性能,延長傳統(tǒng)磁盤資產(chǎn)的壽命并避免采購全新的存儲(chǔ)陣列??傊?wù)器端的高速緩存可以節(jié)省大量金錢。
挑戰(zhàn)始終在于:市場上有多種產(chǎn)品。盡管這些產(chǎn)品在特性和功能方面具有一些共同點(diǎn),但也有很多差異。所以,在采購前,你必須了解自己的特定需求。
把性能獨(dú)立于容量
通常,所有的服務(wù)器端的高速緩存產(chǎn)品在設(shè)計(jì)上都把存儲(chǔ)性能獨(dú)立于存儲(chǔ)容量。換言之,高速ssd可以作為性能層,而速度較慢的傳統(tǒng)硬盤驅(qū)動(dòng)器可以承擔(dān)容量層的職責(zé)。這種做法具備雙重優(yōu)勢:在加速讀io的同時(shí),使后端存儲(chǔ)系統(tǒng)能夠?qū)W⒂诒Wo(hù)數(shù)據(jù)并主要執(zhí)行寫操作。所以,只是把讀請(qǐng)求提交到高速緩存,讀密集型環(huán)境就可獲得讀和寫 io的改善。
回寫高速緩存
然而,某些寫密集型環(huán)境無法承受 “遍歷整個(gè)網(wǎng)絡(luò)和存儲(chǔ)協(xié)議堆棧的增加的延時(shí)才能完成每一次的寫操作”。為了解決這個(gè)問題,有些像是sandisk的flashsoft等產(chǎn)品的高速緩存軟件技術(shù)提供所謂的“回寫”高速緩存。這意味著,當(dāng)一個(gè)應(yīng)用程序發(fā)出一個(gè)寫請(qǐng)求的時(shí)候,數(shù)據(jù)被寫到高速緩存,一個(gè)確認(rèn)馬上被發(fā)送到這個(gè)應(yīng)用程序,這回避了上述的延時(shí)問題。此外,由于在任意給定的時(shí)間點(diǎn)只有一個(gè)小數(shù)據(jù)子集起作用,因此flashsoft實(shí)際上會(huì)對(duì)多個(gè)寫請(qǐng)求進(jìn)行排隊(duì),向ssd發(fā)出更長、更連續(xù)的寫入,然后在最近的那次事務(wù)中執(zhí)行一次寫入,使ssd的耐久性更好。
虛擬機(jī)管理程序還是os高速緩存?
另外一個(gè)考慮是虛擬機(jī)管理程序與os高速緩存?;谔摂M機(jī)管理程序的高速緩存是提高vm性能的最簡單的方法,因?yàn)橹恍枰淮伟惭b,主機(jī)上的所有vm將可以使用高速緩存資源。不足之處在于很可能造成浪費(fèi),因?yàn)椴⒎撬械膙m都會(huì)需要高速的高速緩存。另一方面,客戶端級(jí)別的高速緩存是分派有限的ssd資源的一個(gè)更具選擇性的方法。然而,由于高速緩存軟件必須被安裝至每一個(gè)單獨(dú)的客戶機(jī)的os上,因此這通常需要更多的積分時(shí)間(integration time)。實(shí)際上,諸如英特爾的高速緩存加速軟件(cache acceleration software,cas)產(chǎn)品等高速緩存技術(shù)支持虛擬機(jī)管理程序或者基于客戶端方式這兩種類型的高速緩存,使管理員可以根據(jù)他們的多客戶共享的基礎(chǔ)設(shè)施的獨(dú)特需求靈活地部署高速緩存軟件。
支持熱虛擬機(jī)的遷移
選擇高速緩存加速技術(shù)的最重要的考慮之一可能在于該解決方案對(duì)諸如vmotion之類的高級(jí)服務(wù)器虛擬化功能的支持程度。很多產(chǎn)品使虛擬機(jī)管理員可以在主機(jī)之外,例如在一個(gè)具有非易失性存儲(chǔ)(non- volatile memory,nvm)的共享的存儲(chǔ)系統(tǒng)上,創(chuàng)建一個(gè)共享的高速緩存。在這種方式下,如果一臺(tái)vm需要被遷移到另外一臺(tái)主機(jī)上,高速緩存的內(nèi)容可以繼續(xù)留存在共享的存儲(chǔ)nvm上,然后再被分派至新創(chuàng)建的vm上,不影響應(yīng)用程序的性能。
全局高速緩存池
盡管如此,其它諸如infinio和pernix data之類的解決方案允許在多臺(tái)主機(jī)上共享ssd資源,在vm需要被遷移的時(shí)候,不必收回本地的高速緩存即可實(shí)現(xiàn)服務(wù)器端的高性能。在有些環(huán)境中,這可能是相得益彰之舉。
結(jié)論
為了保證虛擬服務(wù)器基礎(chǔ)設(shè)施投資的roi,公司在提高vm性能的同時(shí),需要延長已有的共享存儲(chǔ)資產(chǎn)的壽命。服務(wù)器端的高速緩存解決方案提供多種兩全其美、簡單實(shí)惠的方法。