閃存存儲設(shè)備提供了有效的方法來消除數(shù)據(jù)存儲性能問題,特別是當(dāng)它們安裝在應(yīng)用程序所在的服務(wù)器上時。使用閃存作為該應(yīng)用程序數(shù)據(jù)的緩存,能夠以自動化的方式利用性能加速,并可以加速內(nèi)部服務(wù)器存儲和共享存儲網(wǎng)絡(luò)上的存儲。如今,IT專業(yè)人士面臨的挑戰(zhàn)是確定哪個閃存緩存替代方案是其最佳選擇。
當(dāng)用戶需要提高存儲性能時,應(yīng)該考慮采用這三種主要的閃存緩存類型:
•文件級緩存
•塊級緩存
•聚合緩存
每種方法都有其利弊。本文描述了每種方法,以便用戶可以為自己的環(huán)境選擇正確的緩存解決方案。
所有這些方法的產(chǎn)品通常安裝在環(huán)境中的服務(wù)器上,服務(wù)器可以訪問基于閃存的存儲,無論是服務(wù)器內(nèi)部還是存儲網(wǎng)絡(luò)。最典型的用例是將閃存存儲在服務(wù)器中,通常稱為服務(wù)器端閃存。
所有這三種緩存解決方案都可以利用安裝在服務(wù)器插槽中的固態(tài)硬盤驅(qū)動器(SSD),基于PCI Express(PCIe)的閃存卡,或新興的基于雙列直插內(nèi)存模塊(DIMM)的閃存設(shè)備。
大多數(shù)這些解決方案還將支持專用存儲網(wǎng)絡(luò)上的閃存存儲。通常,唯一的要求是將閃存作為塊設(shè)備呈現(xiàn)給軟件。
(1)文件級閃存緩存
顧名思義,文件級緩存軟件在操作系統(tǒng)或應(yīng)用程序中的文件級別上運行。這些產(chǎn)品會自動分析和評估特定文件以測量其緩存的有效性。但大多數(shù)將加速整個文件,而不僅僅是其中的一部分。
文件級緩存解決方案通常不能在虛擬化環(huán)境中的虛擬機管理程序級安裝,因此無法從單個軟件實例向多個虛擬機(VM)提供緩存服務(wù)。相反,它需要安裝在每個要加速的虛擬機上的客戶機操作系統(tǒng)中。文件級緩存也可以安裝在裸機或非虛擬化服務(wù)器上??。
關(guān)鍵是軟件的每一個實例都必須提供一個由某種形式的閃存組成的專用塊設(shè)備。
雖然這些實施要求需要管理緩存軟件的多個實例,而在虛擬化環(huán)境中,將內(nèi)部服務(wù)器SSD細(xì)分為潛在的許多獨立塊設(shè)備,但獎勵是非常有效的應(yīng)用程序加速。緩存不會浪費在數(shù)據(jù)上,因為某些原因可能會暫時限制SSD層。
文件級緩存產(chǎn)品往往被用于可以離散選擇需要加速的文件(如數(shù)據(jù)庫日志和索引)的應(yīng)用程序特定環(huán)境中。這使得通過這些解決方案人工選擇要由高速緩存分析的文件是常見的情況。
其結(jié)果是,文件級緩存可以很好地加速幾個任務(wù)關(guān)鍵文件運行,而不需要過多的閃存容量。但為了達(dá)到這個效率水平,在購買閃存硬件和軟件之前,必須了解哪些文件應(yīng)該被指定為高速緩存。
(2)塊級閃存緩存
塊級緩存解決方案在塊級別運行,因此它們不會或不能注意生成I / O的文件或應(yīng)用程序。相反,他們只是尋找最活躍的數(shù)據(jù)塊,并加速它們,而不管這些塊可能來自哪里。
與文件級緩存不同,塊級緩存是虛擬化環(huán)境的理想選擇,用戶可能希望部署一個緩存解決方案,從而加速該服務(wù)器上所有虛擬機的性能。這種方法的優(yōu)點是每個物理主機只需要實現(xiàn)緩存軟件的一個實例。其缺點是,在大多數(shù)情況下,該主機上的所有數(shù)據(jù)均被處理,所以任何活動數(shù)據(jù)集將消耗閃存容量。
一些塊級產(chǎn)品現(xiàn)在正在添加智能功能,以便可以跟蹤特定虛擬機的特定I / O。通過該功能,用戶可以自定義緩存軟件,將某些虛擬機固定為高速緩存或始終排除某些虛擬機。但是,這種優(yōu)化是一個無所不在的命題;塊級緩存解決方案無法對等到虛擬機中,以僅加速該虛擬機中的某些文件。
虛擬機遷移和服務(wù)器端緩存
在虛擬機遷移時,文件和塊級緩存產(chǎn)品都會在虛擬化環(huán)境中受到挑戰(zhàn)。如果虛擬機從一個物理服務(wù)器移動到另一個物理服務(wù)器,則緩存軟件必須攔截該遷移,并在實際發(fā)生遷移事件之前使緩存失效(緩存無效是清空緩存內(nèi)容的過程)。
在最低限度上,市場上的大多數(shù)緩存產(chǎn)品都可以確保在虛擬機移動之前緩存無效。然而,重點是當(dāng)虛擬機到達(dá)其目標(biāo)服務(wù)器時如何重建高速緩存。這就是文件級緩存具有明顯優(yōu)勢的地方。由于緩存軟件安裝在客戶機操作系統(tǒng)中,要加速虛擬機,需要遵循特定文件上的策略,這些文件可以在虛擬機遷移后快速重新加載到緩存中。
當(dāng)虛擬機到達(dá)目標(biāo)主機服務(wù)器時,塊級緩存必須從頭開始重建緩存分析。這意味著可以重新獲得資格的數(shù)據(jù)高速緩存的適應(yīng)性績效將硬盤驅(qū)動器(HDD)速度約束。在某些情況下,將正確的數(shù)據(jù)放回新服務(wù)器的緩存可能需要幾天時間。
當(dāng)發(fā)生遷移時,一些塊級解決方案可以將高速緩存分析傳輸?shù)侥繕?biāo)主機。顯然,這意味著需要在每個主機上安裝相同的緩存軟件,但這將是典型的。通過在遷移虛擬機時將緩存分析轉(zhuǎn)移到虛擬機中,運行在接收主機上的緩存軟件可以立即將該虛擬機的正確塊復(fù)制到其緩存區(qū)域。雖然這個過程發(fā)生時性能仍然會受到硬盤限制,但它應(yīng)該是一個非??斓倪^程,通常只需幾分鐘。
聚合緩存解決方案
第三個閃存緩存替代方案是聚合緩存解決方案。這些產(chǎn)品通過將服務(wù)器內(nèi)部的閃存資源組合成虛擬但共享的存儲池來解決遷移問題。它們還提供更好的彈性,因為可以實現(xiàn)類似于RAID的數(shù)據(jù)保護方案。遷移友好和彈性的組合使得這些聚合解決方案非常適合讀寫緩存。
這些產(chǎn)品通過在虛擬集群中的所有主機上安裝緩存聚合軟件來實現(xiàn),該虛擬集群執(zhí)行兩個功能:聚合閃存資源,并向每個主機提供有關(guān)如何最佳地將該聚合閃存池用作緩存的智能。這種智能類似于文件和塊級緩存解決方案使用的緩存算法。
集群中至少有三個(但通常是更多)的主機需要貢獻(xiàn)閃存資源,然后將它們聚合到作為傳統(tǒng)存儲層的緩存層的閃存存儲的虛擬池中。重要的是要注意,盡管至少有三個主機必須參與,但并不是所有的主機都需要提供閃存容量。大多數(shù)這些緩存聚合軟件產(chǎn)品允許在集群中連接的任何主機訪問閃存的共享池。
產(chǎn)品采樣器:閃存緩存軟件
以下是在文件,塊或聚合級別工作的閃存緩存產(chǎn)品的一些示例。
(1)文件級緩存
•Intel Cache Acceleration軟件
(2)塊級緩存
•SanDisk FlashSoft
•近端數(shù)據(jù)自動緩存
•HGST Virident EnhanceIO SSD緩存軟件
(3)聚合緩存
•Infinio加速器
•PernixData FVP
一旦建立了閃存的聚合池,軟件就會向每個主機提供緩存智能,以將最活躍的數(shù)據(jù)移動到閃存層,并且在許多情況下,首先將閃存層直接寫入I / O(由于聚合緩存的更好的可用性)。但與其他兩種緩存類型不同,如果發(fā)生遷移,則無需重新構(gòu)建緩存分析,因為它使用共享池。目標(biāo)主機簡單地拾取原來主機關(guān)閉的位置。
最好的閃存緩存選項是什么?
企業(yè)最好的服務(wù)器緩存解決方案取決于環(huán)境。 例如,如果企業(yè)的服務(wù)器到服務(wù)器網(wǎng)絡(luò)已經(jīng)建立并升級,則聚合緩存解決方案有很多優(yōu)勢,可能會提供更有彈性的方式來緩存數(shù)據(jù)。但是,如果企業(yè)的服務(wù)器到服務(wù)器網(wǎng)絡(luò)無法處理此類工作負(fù)載,則由文件或塊級緩存提供的內(nèi)部服務(wù)器選項可能是最佳選擇。它們提供了顯著的性能提升,而不必接觸網(wǎng)絡(luò),這是一個關(guān)鍵點,因為許多存儲管理員沒有授權(quán)升級或修改服務(wù)器網(wǎng)絡(luò)。