如今全閃存陣列十分火熱。突然之間,初創(chuàng)公司和傳統(tǒng)存儲(chǔ)廠商推出了數(shù)以百計(jì)的全閃存陣列系統(tǒng)。許多廠商甚至聲稱,他們推出的全閃存陣列的價(jià)格比起那些使用傳統(tǒng)15K轉(zhuǎn)速機(jī)械硬盤的高端磁盤陣列還要便宜。混合陣列供應(yīng)商也不甘示弱,至少有一家供應(yīng)商聲稱他們的全閃存陣列可以提供比高端磁盤陣列更好的性能,并且價(jià)格要比高端陣列低。您在選擇適合自己環(huán)境的存儲(chǔ)系統(tǒng)時(shí),所有這些信息讓選擇變得更加的復(fù)雜。
全閃存陣列的購買標(biāo)準(zhǔn)須從以下三個(gè)重要因素來考量:IOPS(每秒輸入/輸出數(shù))、IO延遲和吞吐率。根據(jù)您的應(yīng)用程序,無論是IOPS還是吞吐率都至關(guān)重要。小數(shù)據(jù)塊I/O密集型應(yīng)用特別關(guān)注IOPS,而對(duì)于大數(shù)據(jù)塊密集型的應(yīng)用,核心關(guān)注的指標(biāo)就是吞吐率。此外,在所有的應(yīng)用場(chǎng)景下,延遲時(shí)間都是至關(guān)重要的。你很快就會(huì)發(fā)現(xiàn),通過將現(xiàn)有的基于傳統(tǒng)機(jī)械硬盤設(shè)計(jì)的磁盤陣列進(jìn)行設(shè)計(jì)和修改,使之變成全閃存陣列,這樣做并不能提供相匹配的性能。閃存盤和傳統(tǒng)的硬盤驅(qū)動(dòng)器有非常多的不同點(diǎn);它們?cè)谑褂茫Р呗院凸芾矸绞缴暇幌嗤?。修改現(xiàn)有的控制器方式應(yīng)該到此為止。要想發(fā)揮閃存盤每一個(gè)字節(jié)的性能優(yōu)勢(shì),則需要全新的思維方式,一般而言都要從頭開始進(jìn)行設(shè)計(jì)。我見過一個(gè)例外,那就是惠普公司的3PAR storeServ7450全閃存陣列。它看起來就像是一個(gè)為全閃存專門設(shè)計(jì)的陣列一樣,而這主要應(yīng)該歸功于3PAR系統(tǒng)內(nèi)部使用的定制ASIC芯片。
盡管現(xiàn)在“軟件定義一切”的概念十分流行,但是全閃存陣列在今天來看仍是硬件定義的。它們是專有的設(shè)備而且需要每個(gè)廠商都要完成對(duì)應(yīng)的設(shè)計(jì)和開發(fā)。其中大多數(shù)產(chǎn)品都是建立在以SSD磁盤為基礎(chǔ)上的,然而也有一些是從閃存芯片入手的?;赟SD磁盤的系統(tǒng)的大多數(shù)功能都依賴于SSD自身,如垃圾回收機(jī)制和耗損平衡機(jī)制。您獲取的一切功能都來自于SSD廠商。然而基于閃存芯片進(jìn)行設(shè)計(jì)的系統(tǒng)能夠在磁盤陣列級(jí)別而非SSD級(jí)別上來執(zhí)行相應(yīng)的功能,這樣做的結(jié)果就是獲得額外的性能,更好的彈性,更高的密度以及更低的功耗。而這些特性最終會(huì)體現(xiàn)在系統(tǒng)的價(jià)格上。IBM,Skyera和Violin的產(chǎn)品都屬于這一類型。
在線重復(fù)數(shù)據(jù)刪除和壓縮技術(shù)在全閃存陣列的世界里仍是一個(gè)有爭(zhēng)議的話題。一些陣列將這些功能進(jìn)行內(nèi)嵌,并且你不可以禁用它們。同樣重要的是,通過這些功能來實(shí)現(xiàn)4:1、5:1或6:1的容量折減,這樣表現(xiàn)出來的全閃存陣列的價(jià)格,就可以神奇的達(dá)成“等于硬盤價(jià)格”的效果。其他陣列則完全缺乏這些功能。這里有兩件事需要注意。第一,重復(fù)數(shù)據(jù)刪除需要有適用的應(yīng)用程序列表。VDI(虛擬桌面基礎(chǔ)架構(gòu))和虛擬服務(wù)器應(yīng)用在這些程序列表中應(yīng)該排在最前面,但是在很多數(shù)據(jù)庫、視頻流以及其他的一些應(yīng)用上,這些功能就不會(huì)起太大的作用。你跑在全閃存陣列上的應(yīng)用程序會(huì)告訴你廠家吹噓的每GB美元的花費(fèi)到底是不是適用的。第二,如果重復(fù)數(shù)據(jù)刪除和壓縮不影響性能,它們會(huì)是完美的技術(shù)特性,而性能又是你購買全閃存陣列的首要考慮因素。所以你需要結(jié)合性能的表現(xiàn)來看這些特性。基本上,這就意味著廠商必須通過添加硬件的方式來抵消功能引起的性能削弱。理想情況下,你應(yīng)該能夠在LUN基礎(chǔ)上來使用或者不使用這些功能。
下一個(gè)考慮的問題就是性能的一致性。一個(gè)設(shè)計(jì)優(yōu)良的系統(tǒng)性能表現(xiàn)必須是一致的,它的延遲時(shí)間必須保持在一個(gè)較低的水平上。你可能希望一臺(tái)全閃存陣列可以支持多種使用不同大小的數(shù)據(jù)塊的應(yīng)用程序,且都要求一個(gè)很高的性能。所以在詢問廠商產(chǎn)品的性能時(shí),讓他們給你提供在每個(gè)數(shù)據(jù)塊下的性能表現(xiàn),而不是所有數(shù)據(jù)塊下的一個(gè)平均性能。
數(shù)據(jù)保護(hù)是我們使用閃存時(shí)的另一個(gè)攔路虎。在硬盤的世界里,我們習(xí)慣于使用RAID作為數(shù)據(jù)保護(hù)機(jī)制。想當(dāng)然的是,我們盲目的把這樣的理念搬到了閃存的世界。閃存是一種隨機(jī)存取的介質(zhì),它不需要擔(dān)心尋址時(shí)間和旋轉(zhuǎn)延遲問題,但是RAID是針對(duì)這些問題來設(shè)計(jì)的。RAID機(jī)制可以用于閃存,但是你不得不從頭來思考數(shù)據(jù)保護(hù)的方式。例如,在使用閃存時(shí)就沒必要像傳統(tǒng)方式下在一個(gè)RAID5和RAID6的設(shè)置中只放五塊或者六塊驅(qū)動(dòng)器,從而來滿足更長(zhǎng)的條帶化需求。當(dāng)閃存盤失效時(shí),RAID的重建也需要不同的方式來實(shí)現(xiàn)。檢查我們的數(shù)據(jù)是如何受到保護(hù)的以及當(dāng)一個(gè)閃存單元失效時(shí)會(huì)發(fā)生什么。期待你能獲取比硬盤更好的數(shù)據(jù)保護(hù)機(jī)制。
任何全閃存陣列在和傳統(tǒng)磁盤陣列對(duì)比在電力供應(yīng)、制冷和密度方面都有明顯的優(yōu)勢(shì),但是你還需要在全閃存陣列之間進(jìn)行比較,因?yàn)檫@些系統(tǒng)在以上方面也會(huì)有很大的不同。電力和制冷需求普遍和密度有關(guān)。該行業(yè)仍然在研究如何在全閃存陣列上取得最大的效果,這期間一些廠商做的比其他廠商更好。
任何關(guān)于全閃存陣列的討論如果不提可擴(kuò)展性都是不完整的。市場(chǎng)上存在各種各樣的產(chǎn)品,有的支持scale-out(橫向擴(kuò)展),有的支持scale-up(縱向擴(kuò)展)。當(dāng)你評(píng)估全閃存陣列時(shí),首先要確保它能提供給你今天需求的足夠的性能和容量,另外還要保證在這兩個(gè)維度上有足夠的空間用于未來的擴(kuò)展。
幾年前還可以購買一臺(tái)不包含任何企業(yè)級(jí)存儲(chǔ)應(yīng)用程序和服務(wù)的全閃存陣列,如自動(dòng)精簡(jiǎn)配置,快照,復(fù)制和克隆。但是在今天,如果全閃存陣列沒有這些完整的功能特性,我是不會(huì)考慮購買的。這些需求同樣適用于易用性和可管理性。
不是每個(gè)全閃存陣列都是一樣的,同樣你要購買哪個(gè)取決于你要部署的應(yīng)用類型。任何全閃存陣列都能提供給你比傳統(tǒng)磁盤陣列更好的性能,但是怎么選擇就好比你要買一輛保時(shí)捷,也要先了解蘭博基尼和瑪莎拉蒂一樣。