為你的存儲網絡環境選擇合適的固態盤(SSD)是一項關鍵決定——同樣關鍵的是,確保你有合適的控制器可以最大限度上利用這種昂貴的驅動器。
本系列的前兩篇文章談到了固態盤應用、軟件問題、可靠性和性能等問題。
作為最后一部分,本文中我們將討論固態盤的內部設計以及SAS和RAID控制器的使用——這對于從最大限度上利用固態盤來說是一些重要的選擇。如果你的應用要求固態盤那樣的性能,那么你需要確保采用了正確的方法來實現投資最大化。
你在以上每個方面的決策都將決定在數據存儲環境中使用固態盤是否能取得成功,或者它僅僅是帶來性能上小幅提升的高成本附加技術。考慮到固態盤的成本,恐怕你最不希望看到的就是后者了。
固態盤內部設計
毫無疑問,這將是你要做出的最重要的決定:你需要尋找一款可以讓你所能交付的性能與你所需的可靠性相匹配的固態盤。
這個決策流程的第一步也是最重要的一步就是,了解你需要寫入多少數據以及這些寫入是突發的還是連續的。這很重要,因為對于很多固態盤來說,突發的寫入會因為損耗均衡優化而影響性能,固態盤內部的帶寬也許不足以處理來自通道的寫入并滿足固件的損耗均衡要求。
損耗均衡:固態盤廠商的損耗均衡固件設計對于寫入性能來說十分關鍵。重要的是,決定算法是否達到損耗前水平使得你有額外的塊來提前寫入,或者在考慮到內部帶寬的情況下,使損耗平衡和寫入不會影響固態盤。
內部帶寬:內部帶寬的問題很少被人們提及,但這也許是選擇固態盤時最重要的考慮因素。目前這個行業正在快速從3Gb SAS升級到6Gb SAS,不少固態盤廠商甚至宣稱可以提供超過300MB/s的寫入性能。在使用3Gb SAS的情況下,最高性能大約是300MB/s,使用6Gb SAS的情況下大約為600MB/s,如果寫入性能達到300MB/s的話,也就是說這個固態盤的內部帶寬僅為300MB/s,那么在寫入過程中,損耗均衡算法很有可能有很高的優先級,從而導致寫入性能大幅降低。很多情況下,損耗均衡寫入的數量要遠遠多于寫入數據流,在我所見過很糟糕的設置環境中,這個比例甚至達到了4:1。這意味著寫入性能可能會下滑到60MB/s,損耗均衡可能為240MB/s。顯然,對于流式寫入性能來說,60MB/s這個速度是低于大多數磁盤驅動器的,尤其是企業級驅動器。你會對我所見過這種糟糕設置的驅動器的數量而感到驚訝——即使廠商聲稱他們的驅動器是企業級質量的。
在考慮固態盤的內部帶寬時必須將外部帶寬(通道)、固態盤讀取和(更重要的)寫入的最大全雙工性能、根據算法和寫入數量估算出損耗均衡將占用的最大帶寬。在我看來,固態盤內部帶寬是固態盤規劃和設計過程中最容易被忽略的一塊,也是針對寫入密集型工作負載所要考慮的最重要設計因素。
在RAID控制器中使用固態盤
現在,即使是性能最高的RAID控制器也無法支持僅僅3個速度最快的固態盤的IOPS。我說的不是磁盤托架,而是整個RAID控制器。如果你完全發揮這些高成本固態盤的性能,那么你需要利用這些5萬美元或者10萬美元的RAID控制器,不要給它配置過多的驅動器。實際上,現在大多數廠商的一個磁盤托架上可以部署16~60個驅動器,你甚至不能裝滿一整個托架。而且,有些RAID廠商的磁盤托架只是針對磁盤驅動器的性能設計的,你會發現每個固態盤平均的磁盤托架成本是很高的。你可能會想,干脆就不要在RAID中使用固態盤嘛,但事情并不是那么簡單的。RAID中的固態盤在配置、RAID等級、熱備份和故障管理方面擁有很重要的管理優勢。
·配置:很多站點不會將一整個固態盤全用于一個文件系統或者應用,因此你需要能夠分配空間。RAID控制器在這方面可以做得很好。RAID控制器支持LUN創建、LUN掩碼、不同的配置選項和功能,在與你其他文件系統保持一致的結構下執行這些功能。
·RAID等級:很少有人會針對固態盤使用RAID-5或者RAID-6,因為很多RAID控制器無法維持三個高端固態盤的性能,有5個或6個驅動器的RAID-5 4+1或RAID-6 4+2就更是如此了。因此,大多數情況下你會使用RAID-1。大多數RAID控制器突破了這個障礙,同樣地,你可以在一個與其他文件系統保持一致的結構下進行工作。有一個重要的提示:如果你將使用RAID-1以外的一個RAID等級,那么RAID控制器必須配置有一個高速處理器,還要有硬件的奇偶生成和RAID奇偶校驗來實現固態盤資源使用的最大化。
·熱備份:如果RAID-1 LUN中的一個驅動器發生故障,那么RAID控制器會快速地解決這個故障。從一開始熱備份就是RAID控制器的一項特性。
·故障管理:這是到目前為止最大的一個難題。由于沒有標準的S.M.A.R.T.固態盤結構,如果固態盤是在RAID陣列中,那么你就知道RAID廠商已經和固態盤廠商合作來掌握固態盤所提供的非標準S.M.A.R.T.數據。當你考慮固態盤在存儲分層中的重要性時,知道固態盤已經在你的管理下可防止潛在故障的發生,這會讓你放心不少。
配合SAS控制卡使用固態盤
考慮到在RAID控制器使用固態盤的缺點,你還有另一個選擇,那就是將固態盤與使用接入PCIe插槽的SAS控制器卡的系統相連接。最新的SAS控制器卡可以支持和RAID控制器差不多同樣水平的IOPS,而且成本更低。但是每一項好的技術都有其缺點,沒有什么是完美的。這些新的SAS卡也許可以支持相同數量的IOPS,但卻缺失了RAID高端控制器中的大部分功能:
·配置:SAS控制卡可以做這項,但是軟件并不那么全面和靈活。
·RAID等級:SAS卡可以做RAID-1,但是利用固態盤做RAID-5或者RAID-6可能會超過片上處理器生成奇偶校驗的功能。我發現,目前沒有哪個SAS 控制器卡是在讀取過程中驗證奇偶性的。
·熱備份:SAS卡通常可以管理熱備份,但同樣地,軟件方面不夠強大
·故障管理:這是最大也是最關鍵的問題。RAID廠商需要數月時間驗證作為他們系統一部分的驅動器、固態盤或者磁盤。作為驗證的一部分,S.M.A.R.T.信息搜集、疑似故障磁盤的主動熱備援都在廠商的考慮之中。
許多機構會在今年年底前開始使用固態盤。問題是,從文件系統一直到設備的存儲基礎架構都不是針對固態盤設計的,這意味著你在實施一項固態盤決策過程中將面臨艱難的選擇。