假設(shè)你有對(duì)固態(tài)存儲(chǔ)系統(tǒng)的需求,那么要解決的存儲(chǔ)系統(tǒng)問題包含兩個(gè)部分:第一,如何將固態(tài)存儲(chǔ)集成到存儲(chǔ)系統(tǒng)中。第二,如何確保存儲(chǔ)系統(tǒng)對(duì)于固態(tài)存儲(chǔ)性能的最大化不存在瓶頸。
目前,把固態(tài)存儲(chǔ)集成到存儲(chǔ)系統(tǒng)中,主要是以硬盤方式使用固態(tài)存儲(chǔ)。這使SSD廠商只須將固態(tài)存儲(chǔ)安裝到它們現(xiàn)有的硬盤中,就可以迅速地把固態(tài)存儲(chǔ)解決方案推向市場(chǎng)。其他廠商則要么在存儲(chǔ)系統(tǒng)內(nèi)部直接使用PCIeSSD,或者開發(fā)出單獨(dú)的設(shè)備或者僅使用固態(tài)存儲(chǔ)的存儲(chǔ)系統(tǒng)。
多數(shù)情況下,存儲(chǔ)系統(tǒng)所使用的固態(tài)硬盤的類型都不會(huì)像預(yù)計(jì)的那樣對(duì)存儲(chǔ)層的性能產(chǎn)生嚴(yán)重影響。唯一的問題是固態(tài)硬盤的形狀尺寸和能耗與其他專門設(shè)計(jì)的更類似于內(nèi)存模塊的設(shè)備相比沒有什么優(yōu)勢(shì)。例如,閃存就比一般硬盤需要的空間小,耗電量也少。SSD迅速推向市場(chǎng)的代價(jià),就是空間和電源效率的損失。
對(duì)于希望把SSD集成到存儲(chǔ)系統(tǒng)中的廠商來說,真正的性能挑戰(zhàn)是如何保證存儲(chǔ)系統(tǒng)不會(huì)成為瓶頸。一個(gè)存儲(chǔ)系統(tǒng)是一個(gè)包含了服務(wù)器、網(wǎng)絡(luò)和數(shù)據(jù)存儲(chǔ)設(shè)備的復(fù)雜系統(tǒng)。服務(wù)器一般被稱作存儲(chǔ)控制器。網(wǎng)絡(luò)是從服務(wù)器到存儲(chǔ)設(shè)備的連接,以及從服務(wù)器到附加主機(jī)的連接。存儲(chǔ)設(shè)備是硬盤或者SSD。其他兩個(gè)部分的性能(控制器和網(wǎng)絡(luò))對(duì)于實(shí)現(xiàn)最大限度的存儲(chǔ)性能是非常重要的。
從主機(jī)回流到控制器的數(shù)據(jù)流以及從存儲(chǔ)設(shè)備提取數(shù)據(jù)的能力直接影響到性能。過去使用機(jī)械硬盤,這樣的結(jié)構(gòu)都有相當(dāng)長(zhǎng)的延遲,所以控制器和網(wǎng)絡(luò)的性能基本上是感覺不到的。出了問題一般都認(rèn)為是硬盤的性能不夠。
固態(tài)硬盤改變了這種情況。數(shù)據(jù)存儲(chǔ)設(shè)備很少出錯(cuò),基本上無延遲或低延遲。因此性能問題就變成了從控制器到設(shè)備之間的網(wǎng)絡(luò),以及連接到到附加主機(jī)的網(wǎng)絡(luò)的問題。即使升級(jí)到速度最快的網(wǎng)絡(luò),計(jì)劃訪問共享存儲(chǔ)的幾十臺(tái)主機(jī)在存儲(chǔ)控制器的連接點(diǎn)上都可能成為瓶頸。
因此關(guān)鍵問題就在于存儲(chǔ)控制器是否能夠處理這些存儲(chǔ)I/O(輸入/輸出)請(qǐng)求,以及在存儲(chǔ)介質(zhì)上讀寫這些數(shù)據(jù)。我們?cè)啻慰吹酱鎯?chǔ)控制器被這些數(shù)據(jù)操作所淹沒。這種情況導(dǎo)致企業(yè)需要購(gòu)買多個(gè)存儲(chǔ)系統(tǒng),并限制每個(gè)存儲(chǔ)架上的SSD的數(shù)量。
有沒有繞開這個(gè)問題的方法呢?我們要么建立一個(gè)能夠處理固態(tài)存儲(chǔ)性能的存儲(chǔ)系統(tǒng),這意味著需要設(shè)計(jì)一個(gè)新的存儲(chǔ)后臺(tái)基礎(chǔ)設(shè)施;要么就使用一個(gè)服務(wù)器層盡可能多地分流I/O數(shù)據(jù),利用一個(gè)基于服務(wù)器的SSD層,或許可以多少減輕存儲(chǔ)控制器潛在的瓶頸。
基于服務(wù)器的分層結(jié)構(gòu)本身是沒錯(cuò)的。在你尋求改善現(xiàn)有存儲(chǔ)系統(tǒng)性能的時(shí)候,有些事情肯定要考慮。然而,在考慮新的系統(tǒng)時(shí),如果要想指望固態(tài)存儲(chǔ)的性能,你也許還得考慮能夠提供SSD和高速網(wǎng)絡(luò)所承諾的性能,又不需要基于服務(wù)器的設(shè)備作為變通方案。