如果說羽泉的《冷酷到底》反映了年輕人心中激蕩的自信與活力;那么同有NetStor NCS8000全閃存陣列設計的“一硬到底”就體現同有對于存儲硬件性能和功能的極致追求。
眾所周知,十年間CPU速度增長了10倍,內存性能增長了8倍,網絡帶寬速率更是大幅提升了100倍,對比硬盤I/O系統的性能幾乎是原地踏步,處理器和硬盤之間的差距被越拉越大。為了追求整體性能的平衡,不得不通過磁盤并行化來提升I/O的性能,由此造就了外部存儲市場,也就是磁盤陣列市場的繁榮。實際上,很多行業關鍵業務應用,如在線交易的數據量并不大,在100TB左右,但卻為此不得不購買成千上萬塊磁盤,就是為了彌補I/O性能的不足。如今隨著閃存介質的應用,情況有所緩解。
然而,閃存有沒有從根本上解決問題呢?同有給出的答案是:要想充分發揮閃存的優勢,在系統設計還要采取很多針對性的技術。
深度定制化
現有SSD固態盤設計,為了實現在同一個存儲系統內與傳統磁盤(HDD)共存,不得不將閃存顆粒封裝在與硬盤相同的磁盤模塊內部,再經由SAS接口和SAS HBA連接到PCI-E總線上,雖然實現了HDD模塊與SSD模塊的通用,但付出了更多協議轉換及更多鏈路開銷的代價, 其性能,效率及延遲受到很大影響,難以發揮出閃存芯片應有的性能。在數據保護方面,很多SSD固態盤并沒有提供基于閃存顆粒一級的數據保護措施,導致整個SSD盤可靠性不高,特別是隨著閃存顆粒磨損,壞塊逐步增加性,問題暴露會更加明顯。
針對目前市場存在的問題,同有NetStor NCS8000針對閃存采取了深度定制化的設計方案,它基于硬件加速架構設計,使用無阻塞交叉總線架構,FPGA和專用低功耗CPU遍布各個控制單元。使用全硬件數據通路設計,無需接口轉換、協議控制等環節,充分發揮閃存介質的低延遲、高并發I/O和高吞吐量的特性。
NCS8000邏輯架構如下圖所示,主要包含:2個前端接口控制模塊、2個控制管理模塊、2個RAID控制器和多個閃存模塊等。
NetStor NCS8000全閃存陣列邏輯架構
NCS8000全閃存陣列使用專用的閃存模塊作為存儲介質,閃存模塊以接口卡的模式封裝閃存顆粒,閃存顆粒高密度集成到主板上。每個閃存模塊里最多有4個閃存控制器,每個閃存控制器最多管理16個閃存芯片,即每個閃存模塊最多管理64個閃存芯片。
閃存模塊邏輯架構圖
閃存模塊中使用專用的FPGA芯片管理閃存控制器,每個閃存控制器擁有獨立的FPGA芯片管理各自的閃存芯片。數據流傳輸到閃存模塊后,由FPGA處理,無需依賴通用的微處理器指令執行。借助閃存控制器中的 FPGA和閃存模塊中的 FPGA,即便在超大負載條件下,NCS8000全閃存陣列也可提供超低延遲的 I/O 性能。
FPGA擁有并行計算優勢,閃存模塊中的FPGA控制閃存控制器和閃存芯片并發操作,每個閃存控制器最多可并行 64 次存取操作,最高配置的NCS8000全閃存陣列最多可同時實現2816次存取操作。正是此并行處理架構,即便業務系統面臨大量讀寫 I/O 工作量的情況下,NCS8000全閃存陣列也能維持高速的 I/O 性能。
在一些關鍵技術設計上,NCS8000都體現出了獨具匠心的地方,例如超容量算法、均衡損耗技術、ECC 硬件檢測、收縮條帶、垃圾回收和二維RAID設計。以二維RAID為例,它從兩個維度進行數據保護,一方面閃存模塊內部具備收縮條帶RAID技術,實現芯片級的數據保護;另一方面存儲系統本身具有系統級的硬件RAID保護,橫跨多個閃存模塊組的RAID,可橫跨4(2D+1P+1S)、6(4D+1P+1S)、8(6D+1P+1S)、10(8D+1P+1S)或者12(10D+1P+1S)閃存模塊,類似于傳統的多塊磁盤組RAID5+熱備磁盤。再例如垃圾回收,大多數閃存存儲垃圾回收算法采用對稱設計,相比NCS8000全閃存陣列使用詳細的NAND塊特性數據,分析多個屬性來確定每個數據塊的健康情況,更能夠將之與接下來的寫入活動相匹配。
高級功能:兩條腿走路
目前市場上也有一些硬件深度定制化的產品,就像是一塊大閃存固態盤,沒有任何高級存儲功能,從而限制了現實市場的應用。與之先比,NCS8000在深度定制化的同時,堅持兩條腿走路,提供了大量的高級軟件功能。
存儲虛擬化
NCS8000外部存儲系統虛擬化功能將不同存儲廠商的SAN存儲陣列,整合為一個大的虛擬SAN,為傳統存儲系統的改造提供一個基礎的軟件定義的平臺。NCS8000提供對后端存儲設備的查找,管理功能,同時也能對存儲設備進行分組管理。
自動精簡配置:
空間高效的虛擬磁盤技術為連接到的所有后端存儲設備提供了自動精簡配置特性。只有真正要向磁盤寫入數據時,才為其分配物理空間,令實際使用的物理磁盤容量大為減少。此外,虛擬資源調配和快照功能結合,能夠減少進行快照時所需的磁盤空間。
虛擬磁盤鏡像:
虛擬磁盤鏡像能夠將一個虛擬磁盤的數據同時存儲在兩臺不同的磁盤陣列上,互為備份。其主要用于保護重要數據的安全性和可用性,是一個基于本地的高可靠性解決方案。
虛擬磁盤恢復:
虛擬磁盤恢復特性能夠幫助用戶提高災難恢復的效率,快速恢復虛擬磁盤使其回到在線狀態。
自動分層:
當NCS8000外部虛擬化其他磁盤陣列后,可以在NCS8000和外部磁盤陣列之間實現自動數據分層功能。此功能無需手動干預就可以將外部磁盤陣列卷上頻繁活動的數據分配到閃存模塊上。動態數據移動不僅可提高外部磁盤陣列的訪問性能,還對主機服務器和數據的應用用戶透明。
在線數據遷移:
如何將現有存儲系統上的核心業務數據無縫遷移到全閃存陣列上是很多IT管理人員面臨的重要問題,NCS8000存儲虛擬化功能可以有效的解決這一問題,使用虛擬磁盤鏡像不但可以提供本地高可用解決方案,還可以提供數據遷移功能。通過啟用NCS8000全閃存陣列的存儲虛擬化功能,將現有存儲系統進行虛擬整合,虛擬整合之后即可在NCS8000和現有存儲系統進行虛擬磁盤鏡像,現有數據完全鏡像到NCS8000全閃存陣列后,將鏡像與源進行分離,完成數據遷移。
數據壓縮
不同于其他壓縮方案,啟用壓縮功能許可,需配置獨立的CPU和硬件壓縮卡,壓縮功能可以將NCS8000的有效容量最多提高 5 倍(在相同的物理存儲空間內存儲多達 5 倍的數據),進一步降低成本以及占地空間、電源與散熱需求。此外,具有硬件加速功能的實時壓縮提高數據存儲的經濟性。
存儲雙活高可用
兩臺NCS8000上的邏輯卷可以被整合成為統一的虛擬卷標示符,從主機看來如同來自不同路徑的同一個邏輯卷,底層的數據雙寫和雙讀操作則由NCS8000雙活軟件控制完成。兩個數據卷上的數據一致性由雙活功能模板監測保障,并且兩臺存儲系統之間的鏡像卷關系無法進行手工啟停操作,此動作由存儲微碼自動進行控制,在某一臺存儲系統出現故障時,實現存儲卷在磁盤陣列間的自動遷移。
小結
針對閃存介質和存儲應用的需要,同有NetStorNCS8000在設計上采用了“兩手抓,兩手都要硬”的方針,實現了全閃存陣列設計的新突破。為何同有能超越稱霸業界的巨頭們,在全閃存陣列技術率先取得突破呢?這與同有長期服務軍工企業有關,以強大的軍轉民技術作為依托,同有堅持創新突破,源源不斷輸出領先的產品,引領企業級應用市場的發展。