由中國計(jì)算機(jī)學(xué)會信息存儲技術(shù)專業(yè)委員會、中國教育部信息存儲系統(tǒng)重點(diǎn)實(shí)驗(yàn)室和DOIT、存儲在線聯(lián)合舉辦的2016中國閃存峰會在京召開,主題為“關(guān)鍵之年,讓閃存綻放”,來自產(chǎn)業(yè)界的眾多嘉賓圍繞閃存技術(shù)本身將如何演變與發(fā)展,以及閃存競爭的其它存儲芯片技術(shù),存儲系統(tǒng)將會怎樣發(fā)展這些熱點(diǎn)問題進(jìn)行了精彩的分享。

Memblaze高級技術(shù)總監(jiān)吳忠杰先生發(fā)表了名為“構(gòu)建NVMe高性能存儲的方法與實(shí)踐”的主題演講。以下為此次演講實(shí)錄:

我是來自Memblaze的吳忠杰,今天想與大家分享一個(gè)話題,圍繞閃存,如何打造高性能的存儲系統(tǒng)。跟大家分享一些構(gòu)造高性能存儲的方法,以及我們的實(shí)踐結(jié)果。

數(shù)據(jù)中心會在全球各地遍地開花,在數(shù)據(jù)中心的背后有什么樣的技術(shù)在支撐,這里有一個(gè)大家是不可否認(rèn)的,那就是閃存。對閃存而言,Memblaze做了很多的工作,并且一直在推動(dòng)著閃存技術(shù)的發(fā)展?;ヂ?lián)網(wǎng)領(lǐng)域做閃存技術(shù),現(xiàn)在很多人想把SSD用于數(shù)據(jù)庫、銀行等等對數(shù)據(jù)可靠性有很高要求的業(yè)務(wù)。Memblaze在這個(gè)月推出了面向數(shù)據(jù)高可靠,針對數(shù)據(jù)保護(hù),針對高性能存儲介質(zhì)的性能。SSD技術(shù)發(fā)展很多年,十年前都用過SSD。最早的SSD就是采用SATA的接口。第二代的PCIe SSD沒有標(biāo)準(zhǔn),各個(gè)廠商都有自己的協(xié)議,自己的接口,這樣的話很影響推動(dòng)。第三代SSD就是NVMe SSD,它是國際標(biāo)準(zhǔn)的SSD。

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

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

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

Flash RAID面向SSD軟件定義存儲系統(tǒng),可以對NVMe SSD做數(shù)據(jù)保護(hù)。支持的平臺方面,因?yàn)槭擒浖x存儲,所以在支持的平臺方面有一定的普遍性,可以支持X86,ARM、SPDK, Flash RAID可以跟它們進(jìn)行集成。軟件架構(gòu)來講,F(xiàn)lash RAID是層次化很強(qiáng)的系統(tǒng),最底下的是物理資源池,上面是全局的資源池。在全局資源池上面,這是存儲的對象,通過多個(gè)存儲對象聚合成一個(gè)虛擬的磁盤池,多個(gè)磁盤跨多個(gè)節(jié)點(diǎn)構(gòu)成了網(wǎng)絡(luò)池,具備了RAID2.0的架構(gòu)。

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

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

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

全局的磨損。磨損的技術(shù)在SSD不是大量的采用,在SSD主要就是做顆粒之間的使用。但是在系統(tǒng)的層面,我們做SSD層面磨損均衡。磨損均衡,就是延長SSD的使用壽命,避免SSD同時(shí)發(fā)生故障。因?yàn)樵谶@里每一個(gè)SSD所寫入的數(shù)據(jù)量是固定的,如果說所有的盤在一個(gè)RAID有相同的數(shù)據(jù)量,很有可能會同時(shí)發(fā)生故障,這在以前的很多測試?yán)锩嬗龅竭^。

智能數(shù)據(jù)恢復(fù)技術(shù),以前我們講數(shù)據(jù)重構(gòu),就是壞了一盤你就技術(shù)重構(gòu)。但是在我們的Flash RAID里面不是采用這樣的,面向物理盤的重構(gòu),而是面向數(shù)據(jù)的重構(gòu),并且在面向數(shù)據(jù)的時(shí)候,對數(shù)據(jù)進(jìn)行分類。冷熱數(shù)據(jù)分層,我認(rèn)為在未來就可以,這跟介質(zhì)相關(guān)。因?yàn)樵诖疟P上你要用這樣的技術(shù),你的性能會很差的,磁盤有抖動(dòng),你的性能會變的很差。但是在SSD上,這個(gè)問題是不存在的,或者說是好了很多,隨機(jī)讀寫性能會非常之高,所以這樣的技術(shù)得以應(yīng)用。

冷熱數(shù)據(jù)分層技術(shù),通過我們現(xiàn)在的測試,數(shù)據(jù)局部性很強(qiáng)的應(yīng)用里面,這樣的技術(shù)很有價(jià)值,因?yàn)樵跀?shù)據(jù)局部性很強(qiáng)的應(yīng)用里面采用冷社如據(jù)分層以后的性能和全閃存的性能相差不多的。數(shù)據(jù)重構(gòu)有關(guān)系。發(fā)生故障的時(shí)候,我的系統(tǒng)里肯定會有重構(gòu),或者說數(shù)據(jù)遷移。在這個(gè)時(shí)候業(yè)務(wù)的性能肯定會受到一定的影響??梢宰鯯AN存儲,集群提供分布式的服務(wù),很多人可能會想到。選材,設(shè)計(jì)和施工、驗(yàn)證,質(zhì)量的保證在設(shè)計(jì)的階段,然后才是施工,施工就是實(shí)現(xiàn)的手段,最后強(qiáng)調(diào)的是驗(yàn)證。有了這樣的科學(xué)體系以后,我們才可以盡快地把一個(gè)龐雜的系統(tǒng)收斂,并且發(fā)布高效的存儲系統(tǒng),高可靠的存儲系統(tǒng)。

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

吳忠杰:我認(rèn)為就是低成本的,性能稍微有一點(diǎn)低的盤,就是這樣的存儲介質(zhì)。Flash RAID最后一級可以做到公有云,把存儲在Flash RAID里面的數(shù)據(jù)遷移到公有云,很多的存儲系統(tǒng)已經(jīng)有了這樣的技術(shù)。分層有一點(diǎn)很重要的,它不是緩存,分層和緩存是有差別的。分層強(qiáng)調(diào)了冷數(shù)據(jù)遷到了廉價(jià)的介質(zhì)上。

分享到

崔歡歡

相關(guān)推薦