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