對(duì)于基于存儲(chǔ)器的存儲(chǔ)設(shè)備,大多數(shù)類(lèi)型會(huì)充分利用閃存,這已經(jīng)成為試圖解決存儲(chǔ)性能問(wèn)題的企業(yè)首選。但由此需要擔(dān)心的一個(gè)問(wèn)題就是,共享的固態(tài)設(shè)備經(jīng)常會(huì)受限于存儲(chǔ)網(wǎng)絡(luò)和共享存儲(chǔ)系統(tǒng)本身的性能。此外,高性能網(wǎng)絡(luò)設(shè)計(jì)固有的復(fù)雜程度也是一件棘手的事。而且,遷移到共享的固態(tài)存儲(chǔ)系統(tǒng),還會(huì)導(dǎo)致業(yè)務(wù)中斷,因?yàn)樾枰獙?duì)原有的存儲(chǔ)系統(tǒng)和工具進(jìn)行更換。
這些因素使得數(shù)據(jù)中心對(duì)服務(wù)器端閃存解決方案需求的增加。服務(wù)器端閃存方案消除了存儲(chǔ)網(wǎng)絡(luò)的性能和復(fù)雜性的問(wèn)題,同時(shí)它們會(huì)增強(qiáng)而不是取代現(xiàn)有的存儲(chǔ)。在許多方面,在服務(wù)器端進(jìn)行性能加速最為理想,因?yàn)榫嚯x需要高性能存儲(chǔ)的應(yīng)用最近。
對(duì)性能永無(wú)止境的渴求,促使許多數(shù)據(jù)中心不再滿(mǎn)足于只使用SSD,他們將更多注意力投入到基于PCIe的固態(tài)硬盤(pán)。PCIe 固態(tài)盤(pán)位于PCIe總線(xiàn)上,從而消除了存儲(chǔ)互連(SAS、SATA),甚至存儲(chǔ)協(xié)議堆棧本身造成的潛在延遲。
從服務(wù)器端固態(tài)盤(pán)首次推出以來(lái),要考慮的問(wèn)題就是如何讓正確的數(shù)據(jù)寫(xiě)入閃存,并充分利用這些存儲(chǔ)容量。分層和緩存等技術(shù)是當(dāng)前最受青睞的選擇,但實(shí)施起來(lái)很有難度。對(duì)于PCIe固態(tài)盤(pán)尤其如此,因?yàn)槌R?jiàn)的數(shù)據(jù)可用性技術(shù)(如鏡像和RAID)使得實(shí)施更加復(fù)雜。
一般而言,服務(wù)器會(huì)自動(dòng)對(duì)需要存儲(chǔ)的數(shù)據(jù)進(jìn)行分析,以確定哪些應(yīng)該存儲(chǔ)在PCIe固態(tài)盤(pán),哪些應(yīng)該存儲(chǔ)在硬盤(pán)中。在數(shù)據(jù)庫(kù)環(huán)境中,因?yàn)橛兴追Q(chēng)的“熱文件”,相比在虛擬環(huán)境中這個(gè)是更容易完成的,在虛擬環(huán)境中它們的I/O模式更加隨機(jī)。PCIe也是理想的虛擬內(nèi)存交換區(qū),雖然作為DRAM速度緩慢,但經(jīng)濟(jì)實(shí)惠。
為了增加高速服務(wù)器端閃存的吸引力,緩存解決方案應(yīng)運(yùn)而生。它可以自動(dòng)執(zhí)行大部分的數(shù)據(jù)識(shí)別和運(yùn)行過(guò)程。基本上,IT部門(mén)可以添加使用高速緩存軟件的PCIe固態(tài)硬盤(pán),然后“見(jiàn)證奇跡”即可。與此同時(shí),PCIe固態(tài)硬盤(pán)解決方案已經(jīng)進(jìn)入市場(chǎng),并且就像以往其他新興技術(shù)一樣,這種競(jìng)爭(zhēng)會(huì)導(dǎo)致創(chuàng)新力度的加大和成本的顯著降低。
PCIe固態(tài)硬盤(pán)有了充分利用高性能功能的方式,客戶(hù)采用率隨之快速上升。但隨著采用的人越來(lái)越多,人們對(duì)于服務(wù)器端緩存解決方案的一些潛在弱點(diǎn)的認(rèn)識(shí)也有所提高。
服務(wù)器端閃存的弱點(diǎn)
服務(wù)器端閃存的第一個(gè)明顯的弱點(diǎn),就是它在已經(jīng)很復(fù)雜的存儲(chǔ)堆棧中還要添加層。除了要判斷并充分了解共享存儲(chǔ)系統(tǒng)、存儲(chǔ)網(wǎng)絡(luò)和存儲(chǔ)主機(jī)總線(xiàn)適配器之外,管理員還需要知曉多個(gè)PCIe固態(tài)硬盤(pán)的解決方案。他們還必須熟悉多種緩存軟件應(yīng)用。
除此之外,還存在操作環(huán)境中的驅(qū)動(dòng)程序堆疊。除了已知的主機(jī)總線(xiàn)適配器驅(qū)動(dòng)程序,現(xiàn)在還要為PCIe固態(tài)硬盤(pán)安裝驅(qū)動(dòng)程序,因?yàn)榫拖袂懊嬲f(shuō)的這些設(shè)備大多避免了存儲(chǔ)協(xié)議堆疊。此外,緩存軟件要么是一個(gè)驅(qū)動(dòng)程序,或在某些情況下是充分開(kāi)發(fā)的應(yīng)用。
首要關(guān)注的一點(diǎn)就是,這些組件都需要消耗服務(wù)器系統(tǒng)資源,如CPU周期和內(nèi)存。某些PCIe固態(tài)盤(pán)使用一部分CPU來(lái)運(yùn)行其閃存管理軟件,當(dāng)然,大多數(shù)緩存軟件需要服務(wù)器的CPU和內(nèi)存來(lái)進(jìn)行實(shí)時(shí)數(shù)據(jù)分析。
除了兼容性和潛在的性能問(wèn)題,價(jià)格也是一大考慮因素。為了加速性能,存儲(chǔ)管理員必須單獨(dú)購(gòu)買(mǎi)PCIe固態(tài)硬盤(pán)的容量和在服務(wù)器中運(yùn)行的緩存軟件。通常這種購(gòu)買(mǎi)必須針對(duì)每個(gè)服務(wù)器,因?yàn)闊o(wú)法跨服務(wù)器來(lái)共享PCIe固態(tài)硬盤(pán)的緩存容量。從容量分配的角度來(lái)看,這種“服務(wù)器鎖定緩存”導(dǎo)致PCIe固態(tài)硬盤(pán)的效率與任何其他形式的直接連接存儲(chǔ)都一樣低下。
采用軟件緩存的PCIe固態(tài)硬盤(pán)的第二個(gè)弱點(diǎn)是它怎么應(yīng)對(duì)常用的集群環(huán)境,如VMware和許多數(shù)據(jù)庫(kù)。在這些環(huán)境中,應(yīng)用是移動(dòng)的,以保證具有一致性的共享緩存,這一點(diǎn)是至關(guān)重要的。如今數(shù)量慢慢增加的緩存軟件解決方案,可以直接集成到這些平臺(tái),在應(yīng)用遷移到集群中的其他主機(jī)之前使緩存數(shù)據(jù)安全地被移除。
當(dāng)然,服務(wù)器端閃存有其可取之處,主要是將加速升級(jí)直接連接到服務(wù)器,從而獲得效率提升。如果能夠解決上述服務(wù)器端閃存的問(wèn)題,即可實(shí)現(xiàn)更廣泛、更安全和更經(jīng)濟(jì)的部署。第一個(gè)步驟是通過(guò)對(duì)這些功能的一部分整合并減輕對(duì)CPU的依賴(lài),來(lái)鞏固這種性能的加速堆疊。目前已經(jīng)有了一些解決方案,可以在PCIe閃存的硬件中集成緩存功能。此外,這些解決方案可以應(yīng)對(duì)閃存本身的處理,而不是借用服務(wù)器的CPU和內(nèi)存資源。
在這種進(jìn)程中,下一步驟是將PCIe閃存和緩存功能與存儲(chǔ)網(wǎng)絡(luò)適配器或主機(jī)總線(xiàn)適配器(HBA)本身進(jìn)行邏輯組合,就如同QLogic利用其新的FabricCache QLE10000適配器所做的。這種緩存SAN適配器將所有三項(xiàng)功能:加速、緩存和存儲(chǔ)連接,完全透明地集成到服務(wù)器。這種級(jí)別的整合降低了存儲(chǔ)管理員所面臨的復(fù)雜性,因?yàn)樗麄児芾淼氖桥c他們之前所使用的相同的接口適配器。
主機(jī)總線(xiàn)適配器可以集成連接到基于服務(wù)器的閃存和最適配的智能高速緩存,就能夠充分利用與存儲(chǔ)網(wǎng)絡(luò)的連接,并創(chuàng)造出我們稱(chēng)之為的“高速緩存區(qū)域網(wǎng)絡(luò)”(CAN)。CAN是網(wǎng)絡(luò)上的共享資源,旨在為緩存數(shù)據(jù)而設(shè)計(jì)。CAN的主要目的是,它允許高速緩存信息在主機(jī)之間共享,這在虛擬環(huán)境中可以擁有更多的虛擬機(jī)移動(dòng)性,并使緩存功能在集群應(yīng)用環(huán)境中實(shí)現(xiàn),在這個(gè)環(huán)境中相同的存儲(chǔ)必須由集群中每個(gè)物理主機(jī)進(jìn)行訪(fǎng)問(wèn)。
如果CAN使用與存儲(chǔ)系統(tǒng)相同的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,就不會(huì)有額外的成本,卻可以提供更高的利用率。但如上所述,基于服務(wù)器間的連接,服務(wù)器端緩存的最后三項(xiàng)弱點(diǎn)在處理緩存容量效率、集群支持和應(yīng)用遷移方面是可以克服的。
當(dāng)應(yīng)對(duì)集群化或虛擬化環(huán)境時(shí)(其中的應(yīng)用遷移是常見(jiàn)的),CAN解決了另一個(gè)弱點(diǎn)。如上所述,當(dāng)虛擬機(jī)遷移時(shí),應(yīng)盡可能少的移除緩存和進(jìn)行重建。理想情況下,應(yīng)該沒(méi)有緩存重溫這個(gè)步驟。幸運(yùn)的是,CAN可以讓環(huán)境中其他的非緩存主機(jī)總線(xiàn)適配器共享緩存助力的主機(jī)總線(xiàn)適配器的資源,它也以同樣的方式取消了上述的這種要求。
當(dāng)遷移虛擬機(jī)時(shí),它會(huì)繼續(xù)從原來(lái)的主機(jī)總線(xiàn)適配器上的原始緩存獲取其緩存數(shù)據(jù)。雖然這確實(shí)帶來(lái)了輕微的延遲,但是遠(yuǎn)低于100%硬盤(pán)驅(qū)動(dòng)器存儲(chǔ)系統(tǒng)對(duì)于訪(fǎng)問(wèn)性能的影響。如果虛擬機(jī)將被遷移回原來(lái)的主機(jī),那么也可以計(jì)劃在非工作時(shí)間進(jìn)行,這樣重建的影響就不太大了。但通常在SAN中,服務(wù)器到服務(wù)器之間的可用帶寬是如此之多,以至于并不會(huì)真正需要緩存的遷移。
基于PCIe的閃存與高速緩存軟件已成為企業(yè)應(yīng)用和存儲(chǔ)性能加速的一大選擇。但在基于服務(wù)器的PCIe閃存、緩存軟件和存儲(chǔ)網(wǎng)絡(luò)適配器之間缺乏整合,使得加速堆疊非常復(fù)雜。某些解決方案,如QLogic的FabricCache LE10000利用真正透明的緩存簡(jiǎn)化了這種堆疊,它使用標(biāo)準(zhǔn)的主機(jī)總線(xiàn)適配器驅(qū)動(dòng)程序,并對(duì)這些層進(jìn)行整合以實(shí)現(xiàn)本地緩存(即“SAN感知”),來(lái)增加更多的價(jià)值。這樣做可以減少成本和復(fù)雜性,提高緩存效率,并且可以支持集群化的應(yīng)用及與應(yīng)用遷移協(xié)作,而不會(huì)破壞或者不需要對(duì)現(xiàn)有的基礎(chǔ)設(shè)施作任何改變。