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