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

達(dá)沃時(shí)代副總裁雷迎春先生發(fā)表了名為“超融合與閃存”的主題演講。以下為此次演講實(shí)錄:

我是達(dá)沃時(shí)代的雷迎春,前面幾位主要講關(guān)于介質(zhì)方面的事情,我們從超融合的角度看看面臨的挑戰(zhàn),以及我們?cè)趺词褂瞄W存系統(tǒng)。

我在2000年左右的時(shí)候做存儲(chǔ),我們的軟件06年的時(shí)候開(kāi)始做,那個(gè)時(shí)候沒(méi)有特別多的開(kāi)源系統(tǒng)可以借鑒。Yeeos是我們的核心,我們派生出了YeeStor和WooStor中心,西藏到北京,南邊是東莞的14個(gè)中心看成是一個(gè)操作系統(tǒng),我們做了這樣的事情。到目前為止,我們也是為數(shù)不多的提供運(yùn)營(yíng)者,我們的存儲(chǔ)有多種接口,可以跑在虛擬機(jī),也可以跑在物理的環(huán)境下。因?yàn)槲覀兪荢DS的軟件,所以我們硬件上是使用標(biāo)準(zhǔn)的服務(wù)器,服務(wù)器也可以放在不同的數(shù)據(jù)中心里。

我們有原數(shù)據(jù),這是不同的設(shè)計(jì)體驗(yàn),但企業(yè)是有抑制的,有可能是高帶寬的,我們通過(guò)分布式的體驗(yàn),可以比較好的綜合使用不同的資源。我們可以看到IT結(jié)構(gòu),第二平臺(tái)到第三平臺(tái)的升級(jí)是一個(gè)非常大的概率事件,推動(dòng)力可能就是數(shù)據(jù),我們現(xiàn)在產(chǎn)生的數(shù)據(jù)太廉價(jià)。隨著數(shù)據(jù)的增加,IT系統(tǒng)越來(lái)越復(fù)雜,規(guī)模越來(lái)越大,其實(shí)傳統(tǒng)的陣列可能會(huì)比較難受。并不是說(shuō)陣列技術(shù)出了問(wèn)題,而是可能在云結(jié)構(gòu)下面有一些場(chǎng)景適應(yīng)不了。第三平臺(tái)的應(yīng)用,現(xiàn)在主要就是超融合。今天講講我們?cè)诔诤祥_(kāi)發(fā)過(guò)程中碰到的挑戰(zhàn)。

資源共享,傳統(tǒng)的陣列可以獨(dú)享CPU,可以盡可能的發(fā)揮硬件的特點(diǎn),我們從編程來(lái)看可以利用多線程。如果發(fā)揮NVMe可能利用別的模式,但是在超融合不是這樣的,我們說(shuō)不能使用超過(guò)20%的計(jì)算資源。我們?cè)诔绦蛟O(shè)計(jì)的時(shí)候,這不是簡(jiǎn)單把軟件可以部署在一塊,絕對(duì)不是這樣的情況。超融合它的目標(biāo)定義來(lái)說(shuō),更強(qiáng)調(diào)是一種均衡的性能,而不是說(shuō)莫名其妙地提供數(shù)據(jù),超融合看到應(yīng)用的運(yùn)行流暢性和系統(tǒng)的可靠性,最大的特點(diǎn)就是由于共享資源帶來(lái)非常強(qiáng)的限制。

為什么細(xì)說(shuō)這件事情,我們很典型的客戶在教育環(huán)境,它們幾乎不具備像傳統(tǒng)IT的管理能力,對(duì)它們來(lái)說(shuō)每天干的事情,關(guān)機(jī)直接拉電閘。第一個(gè)傳統(tǒng)的陣列很少被關(guān),不敢動(dòng),我們現(xiàn)在的客戶直接關(guān)電,這個(gè)時(shí)候必須得考慮掉電保護(hù),傳統(tǒng)的UPS很難利用超融合,有幾個(gè)原因,有可能是成本的原因。如果說(shuō)你要把這些布件移到超融合,這個(gè)產(chǎn)品定義會(huì)出問(wèn)題的。我們對(duì)超融合的使用來(lái)說(shuō),我們是定位于小白用戶,或者說(shuō)IT感受為0。Server SAN不會(huì)考慮掉電的情況,但是超融合不得不考慮掉電。

這個(gè)軟件很難受,我們會(huì)做很多的操作在里面,因?yàn)橹荒芡ㄟ^(guò)軟件的方式避免掉電的事情,所以我認(rèn)為超融合的故障電是大于Server SAN,虛擬機(jī)有各種應(yīng)用機(jī)。存儲(chǔ)本身是自由的,超融合有其它第三方的應(yīng)用。我們是通過(guò)軟件來(lái)應(yīng)對(duì)突發(fā)性的拉閘式的斷電行為,我認(rèn)為這是非常困難的事情。

我們傳統(tǒng)的陣列來(lái)說(shuō),它的硬盤(pán)相對(duì)固定,這個(gè)時(shí)候比較容易做一些數(shù)據(jù)的分布。超融合不太一樣,因?yàn)榉?wù)器和存儲(chǔ)介質(zhì)時(shí)刻都有可能不存在,所以我們程序里花了很大的時(shí)間來(lái)解決這樣的意識(shí)性問(wèn)題,資源不存在的事情。超融合需要很復(fù)雜的分布式計(jì)算技術(shù),也需要很高效地適應(yīng)節(jié)點(diǎn)和資源。有強(qiáng)的一致性,而不是系統(tǒng)的一致性,亞馬遜論文說(shuō)提供系統(tǒng)的一致性,只要系統(tǒng)一致就可以。我們目前需要存儲(chǔ)一致性,只要數(shù)據(jù)存儲(chǔ),你就必須得保證數(shù)據(jù)一定要存在。無(wú)論資源怎么樣,只要少的部分資源丟失不影響數(shù)據(jù)的,我認(rèn)為考慮問(wèn)題可能和做陣列廠商,或者說(shuō)傳統(tǒng)存儲(chǔ)不太一樣。分布式為什么非常重要,節(jié)點(diǎn)失效是常態(tài)。

NFS基礎(chǔ)是RBC,你只會(huì)建一個(gè)鏈條,因?yàn)橛邢拗?。NFS可能沒(méi)有辦法用到帶寬,因?yàn)楝F(xiàn)在的網(wǎng)絡(luò)很快了。新的技術(shù)出現(xiàn),都是為了利用已有更好的帶寬資源做。如果標(biāo)準(zhǔn)的話,需要做很復(fù)雜的轉(zhuǎn)化,這會(huì)消耗CPU的資源,本身超融合CPU不富裕,不得不用傳統(tǒng)的方式來(lái)做。

超融合本身是需要統(tǒng)一存儲(chǔ)的,現(xiàn)在很多的初創(chuàng)企業(yè),或者說(shuō)已有的超融合領(lǐng)先的企業(yè),包括美國(guó)企業(yè),很多的企業(yè)提供存儲(chǔ)。但是VM是什么?你有可能會(huì)裝數(shù)據(jù)庫(kù),肯定里面有文件應(yīng)用會(huì)需要文件性的東西。超融合本身還是需要在存儲(chǔ)的池里面提供統(tǒng)一存儲(chǔ)的協(xié)議,而不是說(shuō)僅僅簡(jiǎn)單的只是用一個(gè)快存儲(chǔ)。超融合也好,Server SAN也好,傳統(tǒng)陣列的功能都得有,需要分布式的技術(shù)來(lái)實(shí)現(xiàn)。由于CPU的限制,可能無(wú)法開(kāi)啟一些功能。比如說(shuō)去重的問(wèn)題,我們除了去重還有一些壓縮,但凡會(huì)引起到CPU的資源,我們都沒(méi)有辦法開(kāi)這樣的功能。從用戶的場(chǎng)景來(lái)說(shuō),超融合本身主要就是小白用戶居多,陣列或者說(shuō)是Server SAN是專(zhuān)業(yè)的維護(hù)人員,所以它場(chǎng)景是完全不一樣的。超融合不太適合性能。

為什么超融合需要閃存,傳統(tǒng)的情況下VM可以把IO順序化,但是多個(gè)VM在一塊會(huì)把數(shù)據(jù)變成一個(gè)隨機(jī)的IO。沒(méi)有閃存是不太可能的,我們?cè)?jīng)在兩年前的時(shí)候做過(guò)一個(gè)全硬盤(pán)的超融合,但是這樣的情況下現(xiàn)在的閃存太便宜,而且很容易達(dá)到幾萬(wàn),所以后來(lái)逐漸地把這個(gè)方案放棄。但是超融合離開(kāi)閃存就不需要提了。我們有兩種方式,混合存儲(chǔ)和全閃存,都是利用快速的存儲(chǔ)設(shè)備作為緩存。

現(xiàn)在在我們用戶的部署情況下,大部分的應(yīng)用還是混合存儲(chǔ),因?yàn)槌诤系亩x和陣列的定義不一樣,陣列的定義是高性能,高可靠,對(duì)用戶的成本還是非常敏感的。我們現(xiàn)在更多的工作還是在混合存儲(chǔ)方面。我們?cè)O(shè)計(jì)了日志式的訪問(wèn)結(jié)構(gòu)。這種方式很難用到超融合里面去。系統(tǒng)改變了IO的邏輯,由于虛擬化的存在可能會(huì)影響到存儲(chǔ)軟件對(duì)CPU的使用。傳統(tǒng)的做工作,他們沒(méi)有想過(guò)把數(shù)據(jù)寫(xiě)在本地利用超融合,他們想數(shù)據(jù)怎么寫(xiě)在外面的存儲(chǔ),通過(guò)網(wǎng)絡(luò)。CPU好壞對(duì)效果有很大的差別,F(xiàn)TL本身讓閃存看起來(lái)像硬盤(pán),閃存本身每次寫(xiě)操作有可能只采取寫(xiě)到另外的位置。

了解這件事情本身是我們?cè)趺从煤瞄W存的工作,閃存本身很多的便攜性,英特爾如果想利用好的話,內(nèi)部架構(gòu)本身是需要告知的,這些數(shù)據(jù)我們都是不斷地問(wèn)它們的負(fù)責(zé)人。SSD是有內(nèi)部并行的,有通道、芯片、封裝,SSD本身的讀寫(xiě)力度越大的話,效果是越好的,力度小的話,開(kāi)銷(xiāo)會(huì)大一些。讀沒(méi)有問(wèn)題,寫(xiě)的話大塊的寫(xiě),不要小塊的寫(xiě),我們認(rèn)為這會(huì)影響到我們的系統(tǒng)設(shè)計(jì)。我們裸設(shè)備IO設(shè)計(jì)中,資源分配是由MDS管理,我們是把它分成段,我們基于裸設(shè)備的空閑回收。為了發(fā)揮SSD的特點(diǎn),我們盡可能地順序?qū)懡鉀Q可靠性這件事情,一部分的寫(xiě)緩存,另外做只讀緩存,為了加快訪問(wèn),我們?cè)趦?nèi)存里面建立了系統(tǒng),緩存做了大了,一旦宕機(jī)的話,不能秒級(jí)的恢復(fù)起來(lái),還是需要掃描介質(zhì),然后把內(nèi)存的索引服務(wù)恢復(fù)起來(lái),這是要加快的。

下面的分布式存儲(chǔ)可以解決可靠性和負(fù)載均衡,我們希望部署的方式更大塊的使用閃存和硬盤(pán),這是我們這樣的東西。達(dá)沃當(dāng)前的選擇,讀寫(xiě)緩存盡可能利用裸設(shè)備訪問(wèn),解決延遲IOPS的問(wèn)題。持久化的問(wèn)題可能是硬盤(pán),也有可能會(huì)是閃存,所以這是一套軟件既可以支持全閃,也可以支持混合存儲(chǔ)。

我們自己說(shuō)是閃存,不能是硬盤(pán),不能采取硬盤(pán)的方式訪問(wèn),需要采用特殊的結(jié)構(gòu)來(lái)做。日志的結(jié)構(gòu)是隨大流,我們利用這樣的方式比較好的可以把閃存的特性發(fā)揮出來(lái)。但是它的代價(jià)本身就是內(nèi)存資源,規(guī)模其實(shí)是有限的,盡量減少CPU的消耗,這是我們現(xiàn)在使用的超融合。

超融合本身是一個(gè)中產(chǎn)規(guī)模,這是小白用戶,不太適合做高性能的事情。怎么讓一個(gè)應(yīng)用運(yùn)行流暢,可能會(huì)是我們非常重要的考慮。開(kāi)發(fā)難度上,超融合的難度是高于分布式存儲(chǔ)。我們最近有幾個(gè)月的時(shí)間解決存儲(chǔ)的問(wèn)題,我們?cè)趩?wèn)原廠的程序員,他們有沒(méi)有想過(guò)這個(gè)問(wèn)題,所以很多的問(wèn)題可能不得不自己解決,因?yàn)槿绻f(shuō)不解決的話系統(tǒng)會(huì)出很大的事情,所以我認(rèn)為難度是要高于存儲(chǔ)的,因?yàn)榇鎯?chǔ)只需要考慮自身的事情,而超融合要考慮應(yīng)用,包括了操作系統(tǒng)本身的東西考慮的比較多。

閃存不是硬盤(pán),需要一種合理的數(shù)據(jù)結(jié)構(gòu)才能把閃存給使用的比較高效率。雖然混合存儲(chǔ)居多,但是我們認(rèn)為閃存和硬盤(pán)來(lái)說(shuō)還是會(huì)共存的,我們現(xiàn)在硬盤(pán)還是大量的使用?,F(xiàn)在有的項(xiàng)目一天有幾億個(gè)對(duì)象,我們需要做千億級(jí)規(guī)模的存儲(chǔ),它其實(shí)用戶就不想閃存,就是這樣的想法,在他們看來(lái)可能還是會(huì)用硬盤(pán)更加合適,硬盤(pán)會(huì)在相當(dāng)長(zhǎng)的時(shí)間內(nèi)有生命力。

分享到

崔歡歡

相關(guān)推薦