最近一段時間,閃存一直是新聞報道的熱門話題,Texas Memory Systems和EMC最近又宣布了各自與閃存有關的新產品。
從服務器中的PCI-E固態硬盤到固態存儲陣列,我們發現閃存在企業中的應用范圍越來越廣。可選擇的產品越來越多,不同的存儲陣列產品之間的界限越來越模糊。 本文簡要地概述了目前市場上與閃存有關的產品以及它們可如何搭配使用。
部分閃存
目前,使用部分閃存有兩種方法。 第一種方法是在分級策略中使用固態硬盤。 固態硬盤一直不被企業當做分級存儲設備使用,因為它們價格昂貴,而且很難決定將那一臺主機當做主LUN.最初的解決方案是將主機分割或將所有的閃存LUN都作為主LUN,但是這樣做既費時又費錢。
模塊級分級存儲改變了這一功能,現在許多廠商如IBM、EMC、日立、惠普/3PAR和戴爾/Compellent都已經推出了這項功能。新功能可以將LUN分割成一個個的模塊,然后根據活躍情況將每個模塊放到對應的存儲等級上。 這樣就可以只將活躍數據的模塊放在固態硬盤上。
這種解決方案比標準的分級方案更加有效,但是在可變的工作負載條件下,這種解決方案并不好用,因為活躍模塊經常發生變動。陣列為了提高性能必須頻繁地進行調整,因此而造成的時滯足以抵消這種解決方案能夠帶來的任何優勢。
第二個可選的方案是將閃存用作寫入數據的高速緩存。基于甲骨文ZFS文件系統的許多陣列就使用了這種解決方案。 它使用了一種名為ZIL的記錄機制來映射固態硬盤。 然后再非同步地將數據轉移到主磁盤。
讀數據則利用一種名為L2ARC的固態硬盤高速緩存在內存中緩存數據。 ZFS解決方案的寫數據性能與可用高速緩存的數量成正比。這種解決方案可兼顧高速緩存的成本和陣列寫數據的性能。
如果想獲得更高的性能,則需付出更高的成本。
全部閃存
如今的固態硬盤一直都是用于模仿和兼容標準硬盤。因此,開發一款完全使用固態硬盤的陣列是有可能的。 但這樣做的成本是極其高昂的,但這樣做真能提高性能嗎? 在自第一款Symmetrix上市以來的20年里,所有的存儲陣列廠商都在不知疲倦地設法提高I/O性能,以彌補硬盤的缺憾。
傳統硬盤的I/O同時存在延遲和尋道時滯的問題,這些時滯根據工作負載類型的不同而不同。廠商們已經開發出各種技術如striping、鏡像和高速緩存,將這種相對慢速的存儲媒介中的價值都榨取出來。 如果我們將固態存儲加入其中,這些設備的響應時間將比那些傳統硬盤快很多倍,而且它們的性能也能超過能夠滿足I/O負載需求的陣列。
在傳統硬盤的響應時間一度是個難以破解的難題的地方,我們發現I/O路徑、高速緩存和處理器性能也都成了限制因素。成本效益的計算過程變得更加復雜,因為限制性能的因素太難預測了。 當然,如果有廠商愿意送給我一塊固態硬盤來進行測試,我想我會樂意回答這個問題的。 據我了解,EMC是唯一一家認證和提供全閃存陣列產品的廠商。
專用閃存
并非所有的閃存陣列都是一樣的。我們已經發現Violin Memory、Texas Memory Systems和Kaminario等廠商推出了一種全新的產品。它們的新產品使用閃存和DRAM來創造專與固態硬盤協作的存儲陣列。 這意味著新產品在信息吞吐量方面堪與固態硬盤媲美,而且廠商們已經意識到固態硬盤和傳統硬盤在技術上的差異。例如,固態硬盤的使用壽命是有限的。
廠商們利用了一些技術如磨損矯正來解決這些問題及提高所謂的耐寫性。Violin Memory在這方面走在前列,它已經將磨損矯正技術應用到整個陣列之中,以保證盡可能長地延長固態硬盤的使用壽命。 毫無疑問,專用閃存陣列的速度性能是最快的。它們是按照既定目的而設計的,它們的價格只根據最大性能進行浮動。
總結
什么樣的解決方案才是最好的解決方案呢? 這就要根據具體情況來定了。 首先必須了解工作負載的性質和需求,判斷I/O延遲是否是限制應用性能的重要因素,但最重要的是,你還要判斷降低I/O時間是否會大幅改善應用層的性能。固態硬盤解決方案是有可能大幅改善性能的。 問題是,你能否承擔因此而增加的成本?