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