由中國計算機學會信息存儲技術專業委員會、中國教育部信息存儲系統重點實驗室和DOIT、存儲在線聯合舉辦的2016中國閃存峰會在京召開,主題為“關鍵之年,讓閃存綻放”,來自產業界的眾多嘉賓圍繞閃存技術本身將如何演變與發展,以及閃存競爭的其它存儲芯片技術,存儲系統將會怎樣發展這些熱點問題進行了精彩的分享。

Memblaze高級技術總監吳忠杰先生發表了名為“構建NVMe高性能存儲的方法與實踐”的主題演講。以下為此次演講實錄:

我是來自Memblaze的吳忠杰,今天想與大家分享一個話題,圍繞閃存,如何打造高性能的存儲系統。跟大家分享一些構造高性能存儲的方法,以及我們的實踐結果。

數據中心會在全球各地遍地開花,在數據中心的背后有什么樣的技術在支撐,這里有一個大家是不可否認的,那就是閃存。對閃存而言,Memblaze做了很多的工作,并且一直在推動著閃存技術的發展?;ヂ摼W領域做閃存技術,現在很多人想把SSD用于數據庫、銀行等等對數據可靠性有很高要求的業務。Memblaze在這個月推出了面向數據高可靠,針對數據保護,針對高性能存儲介質的性能。SSD技術發展很多年,十年前都用過SSD。最早的SSD就是采用SATA的接口。第二代的PCIe SSD沒有標準,各個廠商都有自己的協議,自己的接口,這樣的話很影響推動。第三代SSD就是NVMe SSD,它是國際標準的SSD。

我們Memblaze推出了一款產品,單盤75萬IOPS。以前用磁盤做存儲系統的時候,我們需要考慮磁盤的特性,并且對磁盤的IO性能進行優化。但是在今天SSD有這么高的性能,傳統存儲面臨的問題不復存在,所以作為存儲的設計者應該重新地考慮問題。這次的閃存峰會上很多人在關注,上午很多人做報告的時候提到了軟件一定要變革,如果軟件不變革,高性能存儲介質沒有辦法在行業或者說其它的領域里面利用。

面對高性能的存儲介質做存儲需要解決什么問題,這是我們做存儲系統需要考慮的。我們發現高性能存儲介質,在服務器里面已經大量的使用,大約在2014年的時候我們只能找到一個服務器里面帶四塊盤的SSD,2015年3月份的時候剛剛發布的我已經定了,那有十塊盤。但是我們今天可以在2U的機器里面可以找到48塊盤,有了服務器廠商的支持,有了SSD廠商的支持,從軟件的角度我們應該解決什么問題?數據可靠性。

如何保證在NVMe SSD方面的數據可靠性,這是使用SSD需要考慮的問題。怎么限性的擴展SSD的性能,多買一些盤可以聚合起來。一個盤75萬以上的IOPS,這比以前的陣列都高。怎么把多塊盤的性能聚合起來,這是需要考慮的問題。一個存儲系統提供的存儲能量已經很大,怎么共享做服務,這也是需要考慮的。怎么與傳統的存儲性能進行融合,以及高效的網絡輸入,這是高性能存儲介質。無論是研發還是設計都需要考慮的問題,我們的解決方案就是 Flash RAID,更重要的是一個面向高性能存儲介質的軟件定義存儲解決方案,具備數據保護的能力,可以做分層的存儲,在性能方面解決了軟件的問題,可以做分布式的存儲。目前我們發布的還沒有做到分布式這塊。

Flash RAID面向SSD軟件定義存儲系統,可以對NVMe SSD做數據保護。支持的平臺方面,因為是軟件定義存儲,所以在支持的平臺方面有一定的普遍性,可以支持X86,ARM、SPDK, Flash RAID可以跟它們進行集成。軟件架構來講,Flash RAID是層次化很強的系統,最底下的是物理資源池,上面是全局的資源池。在全局資源池上面,這是存儲的對象,通過多個存儲對象聚合成一個虛擬的磁盤池,多個磁盤跨多個節點構成了網絡池,具備了RAID2.0的架構。

Flash RAID有創新性,因為解決了軟件和瓶頸的問題,最主要的解決點。怎么利用多核CPU,英特爾的發展思路是CPU多核化,怎么利用這是需要考慮的問題。SSD不是完美的, SSD怎么解決壽命的問題,我們在盤一級做優化,利用容量來換壽命。在系統級別有很多的技術可以增強SSD的使用壽命,發生故障以后怎么辦,不能等幾個小時恢復數據,所以這里我們提出來了很多數據恢復技術,還有資源池化,到底是對SSD有什么樣的好處,可以解決SSD什么問題。性能是不是會保持不變,這是對選擇存儲系統來說一個非常重要的考核點。

存儲資源的虛擬化,就是RAID2.0,我們可以對不同的資源做成不同的資源池,可以采用不同的分配策略,為上層提供服務。這里我們采用了存儲資源池化的技術,這是有接管。我們采用了資源池化的技術解決了SSD的故障問題,SSD的壽命問題。采用了資源池化的方式,我們才能避免多塊盤同時損壞,可以很好地適應SSD的故障模型,在這里可能很多人都忽略了一點,SSD的故障跟HDD有很大的差異,因為各家的廠商不一樣,你需要做大量的實驗。HDD很難用局部模型算到RAID里面去,但SSD不一樣。這個時候可以在故障處理方面有大量的優化,使得它的性能可以很高,當一塊盤子壞了以后,對Flash RAID來講恢復的時間可以變化,盤越多,恢復的速度快,時間會越短。

多核,NVMe SSD性能高了以后,IO的瓶頸在CPU端。實踐了以后發現,比我們想象的更為嚴重。以前很少有人可以拿四塊盤,但是如果做了這樣的實踐后發現,四塊盤同時跑,加了存儲軟件以后性能發揮不出來。我們提出了很多的創新技術,無鎖的生產者消費者模型,無鎖的流控,這與多核CPU匹配起來,能夠很好地使性能達到可擴展性。Flash RAID的性能可以使CPU個數線性擴張,CPU越多,我的性能會越高。CPU是物理的CPU,而不是說邏輯的CPU,邏輯的CPU不一定對性能有很好的幫助。

全局的磨損。磨損的技術在SSD不是大量的采用,在SSD主要就是做顆粒之間的使用。但是在系統的層面,我們做SSD層面磨損均衡。磨損均衡,就是延長SSD的使用壽命,避免SSD同時發生故障。因為在這里每一個SSD所寫入的數據量是固定的,如果說所有的盤在一個RAID有相同的數據量,很有可能會同時發生故障,這在以前的很多測試里面遇到過。

智能數據恢復技術,以前我們講數據重構,就是壞了一盤你就技術重構。但是在我們的Flash RAID里面不是采用這樣的,面向物理盤的重構,而是面向數據的重構,并且在面向數據的時候,對數據進行分類。冷熱數據分層,我認為在未來就可以,這跟介質相關。因為在磁盤上你要用這樣的技術,你的性能會很差的,磁盤有抖動,你的性能會變的很差。但是在SSD上,這個問題是不存在的,或者說是好了很多,隨機讀寫性能會非常之高,所以這樣的技術得以應用。

冷熱數據分層技術,通過我們現在的測試,數據局部性很強的應用里面,這樣的技術很有價值,因為在數據局部性很強的應用里面采用冷社如據分層以后的性能和全閃存的性能相差不多的。數據重構有關系。發生故障的時候,我的系統里肯定會有重構,或者說數據遷移。在這個時候業務的性能肯定會受到一定的影響??梢宰鯯AN存儲,集群提供分布式的服務,很多人可能會想到。選材,設計和施工、驗證,質量的保證在設計的階段,然后才是施工,施工就是實現的手段,最后強調的是驗證。有了這樣的科學體系以后,我們才可以盡快地把一個龐雜的系統收斂,并且發布高效的存儲系統,高可靠的存儲系統。

觀眾問:公有云的盤如何?

吳忠杰:我認為就是低成本的,性能稍微有一點低的盤,就是這樣的存儲介質。Flash RAID最后一級可以做到公有云,把存儲在Flash RAID里面的數據遷移到公有云,很多的存儲系統已經有了這樣的技術。分層有一點很重要的,它不是緩存,分層和緩存是有差別的。分層強調了冷數據遷到了廉價的介質上。

未經允許不得轉載:存儲在線-存儲專業媒體 » Memblaze吳忠杰:構建NVMe高性能存儲的方法與實踐
分享到

崔歡歡

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走