以下為雷迎春演講實(shí)錄:
經(jīng)過了2016,有一些體會(huì)??傮w來(lái)說(shuō),存儲(chǔ)行業(yè)的大趨勢(shì)是從第二平臺(tái)向第三平臺(tái)轉(zhuǎn)移,第二平臺(tái)有PC機(jī)、客戶端服務(wù)架構(gòu)、局域網(wǎng)和互聯(lián)網(wǎng)。第三平臺(tái)有云計(jì)算、大數(shù)據(jù)、分析和社交。轉(zhuǎn)移過程當(dāng)中整個(gè)信息技術(shù)價(jià)值已經(jīng)從計(jì)算和業(yè)務(wù)驅(qū)動(dòng)為中心,轉(zhuǎn)向到以用戶和數(shù)據(jù)為中心。
所謂”新存儲(chǔ)”,第一是指分布式存儲(chǔ),第二是多種訪問協(xié)議,第三是以閃存為中心,第四,應(yīng)用定義。其實(shí)我們來(lái)看同樣陣列也好,存儲(chǔ)本身都是使用英特爾平臺(tái)。硬件存儲(chǔ)會(huì)用專用或定制化硬件,他們可能提供高集成度接口,可能會(huì)用定制化的東西,服務(wù)器里面會(huì)增加BBU,或者外面增加UPS,或使用好的服務(wù)器,硬件服務(wù)器主板會(huì)提高要求,通常情況下使用硬件存儲(chǔ)。從軟件上面來(lái)說(shuō),為了支撐硬件存儲(chǔ),會(huì)在軟件上做很多工作,比如說(shuō)內(nèi)置分配,電源一起整合,每次申請(qǐng)內(nèi)存都會(huì)看有沒有足夠電源。
分布存儲(chǔ)可能會(huì)使用商品化服務(wù)器,比如Dell XC服務(wù)器。分布式存儲(chǔ)更相信自己的軟件,對(duì)系統(tǒng)的可靠性,對(duì)性能的保證。我認(rèn)為分布式存儲(chǔ)和陣列本身最大一個(gè)區(qū)別,應(yīng)該是不同軟件的哲學(xué)。
陣列里面一個(gè)進(jìn)程只能看到直聯(lián)的存儲(chǔ)資源,所有資源是屬于硬狀態(tài),當(dāng)一個(gè)故障發(fā)生時(shí)候會(huì)發(fā)出一個(gè)信號(hào),說(shuō)磁盤故障,只能看到本地資源。而分布式存儲(chǔ)不一樣,每個(gè)介質(zhì)有獨(dú)立存在,整個(gè)OSD向Metosrv匯報(bào),OSD存儲(chǔ)之前呈現(xiàn)出抽象的狀態(tài)。Metasrv不能直接看見存儲(chǔ)資源,其上的Objects是軟狀態(tài),存儲(chǔ)故障可能在下一秒發(fā)生。軟件協(xié)作是先天的。
達(dá)沃是分布式軟件存儲(chǔ)提供商,主要兩個(gè)產(chǎn)品部署,一個(gè)是超規(guī)模,另一個(gè)是超融合,面向單數(shù)據(jù)中心和多數(shù)據(jù)中心,硬件平臺(tái)用的商品化硬件。所以在IT發(fā)展上,看自身如何提供多協(xié)議和閃存與定義來(lái)適應(yīng)存儲(chǔ)要求。
達(dá)沃自主研發(fā)文件系統(tǒng),比較受Google? GFS影響,主要數(shù)據(jù)是元數(shù)據(jù)服務(wù)+對(duì)象存儲(chǔ)服務(wù)組成。標(biāo)準(zhǔn)POsix語(yǔ)義。最開始元數(shù)據(jù)服務(wù)是HA,在2013年左右變成了三個(gè)節(jié)點(diǎn),最多我們做了6個(gè)節(jié)點(diǎn),在實(shí)驗(yàn)測(cè)試,我們做的這種分布式一個(gè)元數(shù)據(jù),10億級(jí)規(guī)模。存儲(chǔ)軟件比較早是以磁盤為中心,整個(gè)存儲(chǔ)面向磁盤的,閃存為輔。
這是我們的一個(gè)軟件結(jié)構(gòu),可以看到整個(gè)元數(shù)據(jù)設(shè)計(jì)比較復(fù)雜,實(shí)現(xiàn)文件系統(tǒng)的語(yǔ)義,同時(shí)管Objectmetasrv本身。整個(gè)來(lái)說(shuō)元數(shù)據(jù)非常重,因?yàn)镠A和存儲(chǔ)HA是獨(dú)立,自己要去實(shí)現(xiàn)存儲(chǔ)語(yǔ)義以外,自己來(lái)做很重的事物,是分布式的東西,近似于在做一個(gè)分布式數(shù)據(jù)庫(kù)的工作。右邊我們整個(gè)I/O受元數(shù)據(jù)一個(gè)驅(qū)動(dòng),磁盤并不是說(shuō)把簡(jiǎn)單把磁盤用I/O換過去就很好的I/O了,I/O模型并不能充分使用這個(gè)閃存,有必要去升級(jí)一下我們軟件的結(jié)構(gòu)。
這是達(dá)沃2.0軟件結(jié)構(gòu),今年突然一下發(fā)現(xiàn)我們本身從10億級(jí)規(guī)模到千億級(jí)規(guī)模本身,軟件數(shù)據(jù)規(guī)模太大了,怎么會(huì)一下子有這樣的需求,用戶把大數(shù)據(jù)提進(jìn)去了,現(xiàn)在來(lái)說(shuō)我們的4、5個(gè)項(xiàng)目千億級(jí)項(xiàng)目本身,確認(rèn)達(dá)沃軟件要升級(jí)的事情。第二,各種應(yīng)用并存,需要多種協(xié)議支撐,還有數(shù)據(jù)百億級(jí)的數(shù)據(jù)化,生產(chǎn)型和非生產(chǎn)型在一個(gè)平臺(tái)上,因?yàn)椴豢赡苓w移,有這樣一個(gè)需求,以閃存來(lái)支撐整個(gè)系統(tǒng)本身。
達(dá)沃1.0有中心,怎么將其變成全分布式多中心,我們把軟件分成了獨(dú)立開出一個(gè)層次,在上面怎么來(lái)用上層使用。整個(gè)來(lái)說(shuō)2.0是這樣一個(gè)背景。這是我們對(duì)象存儲(chǔ)一個(gè)結(jié)構(gòu),因?yàn)槭侵行拇鎯?chǔ),實(shí)現(xiàn)全對(duì)稱元數(shù)據(jù),管理對(duì)象狀態(tài),隨著系統(tǒng)大規(guī)模增長(zhǎng),也不會(huì)擔(dān)心狀態(tài)受限于這個(gè)規(guī)模。
I/O第一次訪問元數(shù)據(jù),第二次可以直接跳到對(duì)象存儲(chǔ)上面。對(duì)象存儲(chǔ)本身支持混合存儲(chǔ)或者全散,全散支持消重和壓縮。這是我們的一個(gè)I/O框架,稱為ROWS,獨(dú)優(yōu)化和寫順序。兩種配置,混合存儲(chǔ)和全閃存存儲(chǔ)。ROWS(Read? optimally,Writesequentially)讀寫分離,性能層服務(wù)絕大多數(shù)I/O。緩存,分離、壓縮、消重。順序?qū)?,到性能層的異步I/O寫,到容量層的異步I/O寫,讀優(yōu)化,自緩存層的同步I/O讀,自性能層的同步I/O讀。
我們這一塊本身實(shí)現(xiàn)了緩存、分層支撐性能東西,可以看到幾個(gè)配置,是有全散配置等等。
達(dá)沃的全分布式文件系統(tǒng)屬于千億級(jí)規(guī)模。這是我們分布存儲(chǔ)最基礎(chǔ)、文件存儲(chǔ)地方調(diào)用對(duì)象存儲(chǔ)的I/O,對(duì)象存儲(chǔ)庫(kù)把一個(gè)文件I/O變成一個(gè)對(duì)象本身往下扔,主要做的事情是File到Object的映射。元數(shù)據(jù)整個(gè)工作原理這樣一個(gè)事情。每個(gè)MDU里面組織方式有定長(zhǎng)部分,還有變長(zhǎng)部分。通常來(lái)說(shuō)每個(gè)節(jié)點(diǎn)分配8個(gè)MDU。我們MDU本身分散不同的MDU,名字空間動(dòng)態(tài)分區(qū)不是基于子樹,隨機(jī)深成不同的MDU里面去。整個(gè)來(lái)說(shuō)我們事物兩種思路,一個(gè)是MDU思路本身,還有跨MDU,還有涉及超級(jí)大的目錄操作,或者以千萬(wàn)單位的目錄,跨MDU,整個(gè)操作都是事物型的。
在統(tǒng)一存儲(chǔ)方面,由于達(dá)沃是做分布式文件系統(tǒng)出身,自然而然用文件方式管理資源??梢钥吹紽ile? Store的名字空間,還有Blob? Store的名字空間,還有Disk? Store的名字空間。BLob? Store是File? Store的簡(jiǎn)化。這是我們分布式對(duì)象存儲(chǔ),我們把Blob分成1K,所有1K放在Object,所有1K在一個(gè)地方。刪除一個(gè)對(duì)象,只需要植一個(gè)位就可以。
磁盤比較簡(jiǎn)單,只是一個(gè)大塊映射道不同的Object上。我們未來(lái)會(huì)做跨中心,還有混合云方面的工作。我們覺得這些年的體會(huì),首先是存儲(chǔ)需要多協(xié)議訪問,一個(gè)存儲(chǔ)池既需要通過NFS、SMB? 、ISCSI? 等等,還有數(shù)據(jù)的多協(xié)議訪問,同一個(gè)數(shù)據(jù)可能需要被NFS訪問到,同時(shí)需要被Web對(duì)象訪問到,還需要Hadoop,未來(lái)隨著這種流處理,在線處理分析一定是一種常態(tài)。所以我們認(rèn)為本身要做出數(shù)據(jù)多協(xié)議,不僅是存儲(chǔ)資源。
第二,規(guī)模和性能,全分布式系統(tǒng)本身是一個(gè)解決規(guī)模的問題。而閃存這邊我們認(rèn)為好的我們叫現(xiàn)成模式,或者通過I/O通道模式本身,才能把閃存發(fā)揮好,而不是簡(jiǎn)單的替換一個(gè)介質(zhì)。
最后一個(gè)是應(yīng)用定義,我們覺得超融合里面存儲(chǔ)本身有一些人用的Lang,超融合里面經(jīng)常給VM本身設(shè)定他的快照或者遷移,很多時(shí)候需要存儲(chǔ)做配合的事情。