閃存陣列徹底改變了企業(yè)的存儲(chǔ)環(huán)境。在遷移至全閃存陣列后,以往困擾存儲(chǔ)已久的性能問題幾乎完全得以解決。不過,最終用戶期望的提升以及應(yīng)用程序的復(fù)雜性很快帶來了更大的挑戰(zhàn),換句話說,改進(jìn)性能的需求永遠(yuǎn)不會(huì)停止。所幸的是,存儲(chǔ)供應(yīng)商并未坐享其成、停滯不前,業(yè)內(nèi)正在產(chǎn)生的一些創(chuàng)新技術(shù)正促使全閃存系統(tǒng)領(lǐng)跑于用戶的需求。
存儲(chǔ)媒介無(wú)法決定閃存陣列是否有更大的提速空間,事實(shí)上,這更多地取決于周圍的基礎(chǔ)架構(gòu)。大多數(shù)情況下,隨著閃存顆粒密度的提升,系統(tǒng)實(shí)際只會(huì)變得笨拙而遲緩,尤其是針對(duì)寫入的I/O操作。總之,閃存的性能已經(jīng)遠(yuǎn)遠(yuǎn)大于硬盤驅(qū)動(dòng)器,比起周邊系統(tǒng)其它組件的延遲也更低。
目前,閃存供應(yīng)商所面臨的挑戰(zhàn)在于,存儲(chǔ)介質(zhì)發(fā)展如此之迅猛,而延遲主要源自閃存封裝以及其它相關(guān)組件。無(wú)論對(duì)于閃存驅(qū)動(dòng)器還是全閃存陣列,供應(yīng)商下一階段從整體角度來提升性能。
處理器首當(dāng)其沖
當(dāng)今的閃存存儲(chǔ)系統(tǒng)的核心在于軟件,大多數(shù)情況下,其運(yùn)行在相對(duì)標(biāo)準(zhǔn)化的英特爾服務(wù)器硬件上。處理器構(gòu)成了硬件的核心。處理器速度越快,軟件執(zhí)行的速度亦得以提升,從而使得全閃存陣列運(yùn)行越快。事實(shí)上,在過去三到四年中,全閃存陣列中大部分的性能升級(jí)得益于處理器的提速,而非存儲(chǔ)媒介的改善。
目前,存儲(chǔ)軟件供應(yīng)商所面臨的難題在于,推動(dòng)處理器變得日益強(qiáng)大的動(dòng)力并非是處理內(nèi)核原始速度的提升,而更多來自于增加處理內(nèi)核數(shù)量。但是僅有少數(shù)軟件供應(yīng)商能夠在存儲(chǔ)的軟硬件上充分利用多線程技術(shù)。那些具備多線程應(yīng)用能力的供應(yīng)商現(xiàn)在已經(jīng)實(shí)現(xiàn)了業(yè)界保持了性能領(lǐng)先的地位,他們減少處理器數(shù)量(因?yàn)榭梢岳盟锌捎玫奶幚韮?nèi)核),在成本方面贏得競(jìng)爭(zhēng)力。
更高效的存儲(chǔ)服務(wù)
各家存儲(chǔ)系統(tǒng)都有不同的功能特性——全閃存存儲(chǔ)系統(tǒng)尤其如此。除了標(biāo)準(zhǔn)的軟件功能(例如快照與復(fù)制技術(shù)),大多數(shù)全閃存陣列亦包含有重復(fù)數(shù)據(jù)刪除和壓縮等技術(shù)以降低成本?;旌祥W存存儲(chǔ)系統(tǒng)能夠在閃存與硬盤之間實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)遷移。未來這種數(shù)據(jù)遷移或許還將發(fā)生在不同類型與性能的閃存層之間。
而這些功能同樣也帶來了額外的系統(tǒng)開銷,在多數(shù)情況下都會(huì)增加I/O負(fù)擔(dān)。軟件供應(yīng)商正致力于使其應(yīng)用程序變得更為高效,以減少其軟件方案在整合到閃存存儲(chǔ)系統(tǒng)過程中帶來的延遲量。顯然,解決問題的方式之一是利用上文所提及的多核處理器技術(shù)。此外,供應(yīng)商還需要進(jìn)一步改進(jìn)復(fù)制與壓縮技術(shù)的效率。這種改善主要通過陣列改變管理這些功能在元數(shù)據(jù)方面的開銷得以實(shí)現(xiàn)。
NVMe:更快速的閃存連接
另一項(xiàng)有待探索的領(lǐng)域是如何實(shí)現(xiàn)閃存陣列內(nèi)部的連接。今天,大多數(shù)全閃存陣列本質(zhì)上是運(yùn)行著存儲(chǔ)軟件的服務(wù)器。這些服務(wù)器通常使用SAS連接處理器和閃存驅(qū)動(dòng)器。雖然SAS在設(shè)計(jì)之初擁有強(qiáng)大的初始帶寬,但我們不要忘記這項(xiàng)技術(shù)誕生在硬盤驅(qū)動(dòng)器時(shí)代,而非為閃存時(shí)代設(shè)計(jì)。換句話說,系統(tǒng)使用標(biāo)準(zhǔn)SCSI協(xié)議來連接SAS接口的閃存驅(qū)動(dòng)器。
SCSI協(xié)議增加了延遲,因此供應(yīng)商不停地尋找更好的替代方案,甚至創(chuàng)建自己的專用協(xié)議。雖然這些專用協(xié)議確實(shí)提高了性能,但如果繼續(xù)以這種情況發(fā)展,每家閃存供應(yīng)商的產(chǎn)品都需要自己的驅(qū)動(dòng)程序。在企業(yè)中,這意味著每臺(tái)服務(wù)器都將需要在存儲(chǔ)數(shù)據(jù)的每個(gè)閃存設(shè)備上分別安裝驅(qū)動(dòng)。供應(yīng)商則必須為各種操作系統(tǒng)和環(huán)境開發(fā)相應(yīng)的驅(qū)動(dòng)程序。
供應(yīng)商和IT專家所需要的是特定的用于訪問閃存存儲(chǔ)系統(tǒng)的標(biāo)準(zhǔn)協(xié)議。于是NVMe(非易失性快速存儲(chǔ)協(xié)議),一種基于內(nèi)存存儲(chǔ)技術(shù)設(shè)計(jì)的專用標(biāo)準(zhǔn)化協(xié)議,應(yīng)運(yùn)而生。
NVMe減少了SCSI堆棧中不必要的開銷,從而簡(jiǎn)化軟件I/O堆棧。其同時(shí)還支持比標(biāo)準(zhǔn)SCSI更多的隊(duì)列,相較于傳統(tǒng)的AHCI(高級(jí)主機(jī)控制器接口)所支持的單個(gè)隊(duì)列,NVMe可以支持高達(dá)64,000個(gè)隊(duì)列。而每個(gè)NVMe隊(duì)列可以支持64,000條命令(AHCI單個(gè)隊(duì)列支持32條命令),這意味著NVMe驅(qū)動(dòng)器連接速度會(huì)比SAS或SATA快出2至3倍。此外,由于基于相同的行業(yè)標(biāo)準(zhǔn),某家供應(yīng)商的NVMe驅(qū)動(dòng)器完全可以和另一家的相互協(xié)作。
目前,閃存驅(qū)動(dòng)器廠商正快速在其產(chǎn)品中部署NVMe協(xié)議;另一方面,大部分的閃存陣列供應(yīng)商亦已發(fā)布了或即將發(fā)布基于NVMe協(xié)議的相應(yīng)產(chǎn)品。我們可以預(yù)見到,存儲(chǔ)系統(tǒng)內(nèi)部的數(shù)據(jù)遷移速度應(yīng)該會(huì)在明年得到顯著提升。不過,訪問共享存儲(chǔ)系統(tǒng)時(shí)仍然要遍歷整個(gè)存儲(chǔ)網(wǎng)絡(luò)。
Brocade與Cisco在內(nèi)的一線網(wǎng)絡(luò)供應(yīng)商都已宣布支持NVMe over Fabrics,這種協(xié)議可以同時(shí)適用于以太網(wǎng)和光纖通道網(wǎng)絡(luò)。而對(duì)數(shù)據(jù)中心而言,該標(biāo)準(zhǔn)的滲透則需要更長(zhǎng)的時(shí)間?;蛟S不少數(shù)據(jù)中心會(huì)在未來數(shù)年之內(nèi)進(jìn)行轉(zhuǎn)型。值得慶幸的是,最近市場(chǎng)上發(fā)布的產(chǎn)品既支持傳統(tǒng)的SCSI連接,亦可用NVMe進(jìn)行訪問。
從今往后,連接方面的改善空間將更多來自于帶寬的持續(xù)增加,以及帶寬更為智能的利用。
閃存DIMM
大部分的NVMe產(chǎn)品經(jīng)由PCIe接口安裝。不過現(xiàn)在,內(nèi)存供應(yīng)商有了更快速的通道:系統(tǒng)自身的內(nèi)存總線。PCIe總線是實(shí)現(xiàn)各種設(shè)備間連接的共享總線,而在內(nèi)存總線則是內(nèi)存所專用的。顯然,內(nèi)存總線主要運(yùn)用于動(dòng)態(tài)RAM(DRAM)領(lǐng)域,但是現(xiàn)在,閃存制造商也希望藉此實(shí)現(xiàn)通往處理器的高速路徑。雖然閃存DIMM比DRAM慢,但它為每個(gè)DIMM提供了更大,且成本更低的存儲(chǔ)容量。
供應(yīng)商提供兩種不同形式的閃存DIMM技術(shù)。一種形式是將閃存DIMM封裝成為閃存驅(qū)動(dòng)器,用作高速存儲(chǔ)設(shè)備。DIMM即存儲(chǔ)是存儲(chǔ)那些熱點(diǎn)文件(如虛擬內(nèi)存分頁(yè)文件)的理想場(chǎng)所。
閃存DIMM技術(shù)的另一種形式是將閃存DIMM作為內(nèi)存而不是存儲(chǔ)外設(shè)。這種做法的優(yōu)點(diǎn)同樣是提升存儲(chǔ)密度,降低成本;當(dāng)然亦有缺陷,延緩了整體內(nèi)存的性能。不過這種性能的延緩或許不會(huì)有你想象的那么大。在大多數(shù)設(shè)計(jì)中,閃存DIMM完全可以充當(dāng)DRAM DIMM。寫入操作先會(huì)在DRAM 上執(zhí)行,當(dāng)再次需要被讀取前降級(jí)到容量更大的閃存區(qū)域。
將閃存作為系統(tǒng)內(nèi)存所帶來的關(guān)鍵好處在于單臺(tái)服務(wù)器有機(jī)會(huì)以大約一半的成本部署一倍的內(nèi)存容量,是當(dāng)前橫向擴(kuò)展應(yīng)用程序的理想選擇。通常在這類環(huán)境中都面臨著管理橫向擴(kuò)展節(jié)點(diǎn)的難題,其解決之道在于更多的內(nèi)存,而非處理器性能。
閃存DIMM的另一用途在于防止服務(wù)器在系統(tǒng)崩潰時(shí)丟失數(shù)據(jù)。設(shè)想服務(wù)器會(huì)像筆記本那樣:當(dāng)發(fā)生斷電時(shí),它只是進(jìn)入休眠狀態(tài);在電源恢復(fù)時(shí)又會(huì)自動(dòng)從停下的地方重新啟動(dòng)。
總結(jié)
今天的企業(yè)第一次可以為應(yīng)用程序與最終用戶提供超出其所需的內(nèi)存容量。但這并不能滿足所有的應(yīng)用程序。此外,伴隨著虛擬化技術(shù)在系統(tǒng)環(huán)境中日益滲透,應(yīng)用程序的持續(xù)擴(kuò)展,這部分富裕的性能遲早會(huì)被消耗殆盡。
設(shè)備供應(yīng)商仍將持續(xù)專注于改善和提高性能,但比起今天單純將閃存添加入傳統(tǒng)的系統(tǒng)會(huì)困難許多。保持性能的領(lǐng)先需要的是更高效的軟件,以及本文中所提到的內(nèi)外部連接的改善。
分享到微信 ×
打開微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁(yè)分享至朋友圈。