大數(shù)據(jù)時(shí)代,用戶處理的數(shù)據(jù)量越來(lái)越大,需要的容量越來(lái)越大;保存的數(shù)據(jù)越來(lái)越多樣越來(lái)越復(fù)雜,包括不同的來(lái)源,不同的格式,包括結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)等;需要的訪問(wèn)速度越來(lái)越高,訪問(wèn)延遲越來(lái)越低;對(duì)數(shù)據(jù)價(jià)值的挖掘能力要求越來(lái)越高。
根據(jù)Gartner的分析,滿足大數(shù)據(jù)的IT架構(gòu),至少應(yīng)具備下面幾個(gè)特征
1) 橫向擴(kuò)展: 可以線性橫向擴(kuò)展而沒(méi)有性能影響
2) 低成本組件:通過(guò)使用消費(fèi)級(jí)硬件,降低采購(gòu)成本
3) 高可用:硬件故障作為常態(tài)而非特例來(lái)解決
4) 不共享架構(gòu):節(jié)點(diǎn)之間相互獨(dú)立
我們以此為基礎(chǔ),逐步揭開(kāi)MVX的面紗。
Scale-uporScale-out
傳統(tǒng)的NAS設(shè)備一般使用雙控制器節(jié)點(diǎn)提供服務(wù),每個(gè)節(jié)點(diǎn)支持特定的業(yè)務(wù)負(fù)載,當(dāng)容量不夠時(shí)通過(guò)擴(kuò)展磁盤(pán)框的方式增加存儲(chǔ)容量。這種方式的缺陷在于,首先業(yè)務(wù)和節(jié)點(diǎn)的綁定,意味著一個(gè)業(yè)務(wù)及其關(guān)聯(lián)的文件系統(tǒng)只在一個(gè)節(jié)點(diǎn)上工作,容易造成系統(tǒng)整體的負(fù)載不均。其次,這種系統(tǒng)本質(zhì)上是Scale-up的擴(kuò)容方式,追求單機(jī)性能,無(wú)法做到系統(tǒng)性能隨容量的增加線性增加。Scale-Out方式則是橫向擴(kuò)展,疊加容量或性能節(jié)點(diǎn),使容量性能得到擴(kuò)展。
華為OceanStorMVX存儲(chǔ)系統(tǒng)(以下簡(jiǎn)稱MVX)采用Scale-out架構(gòu),節(jié)點(diǎn)之間完全對(duì)稱,采用全Active的Sharenothing方式,系統(tǒng)的數(shù)據(jù)和管理數(shù)據(jù)(元數(shù)據(jù))分布在各個(gè)節(jié)點(diǎn)上,避免了系統(tǒng)資源爭(zhēng)用,消除了系統(tǒng)瓶頸;即使出現(xiàn)整節(jié)點(diǎn)故障,系統(tǒng)能夠自動(dòng)識(shí)別故障節(jié)點(diǎn),自動(dòng)恢復(fù)故障節(jié)點(diǎn)涉及的數(shù)據(jù)和元數(shù)據(jù),使故障對(duì)業(yè)務(wù)透明,完全不影響業(yè)務(wù)連續(xù)性。MVX支持3-288節(jié)點(diǎn)的彈性空間,100PB的全局統(tǒng)一命名空間,并且支持文件內(nèi)的細(xì)粒度的全局鎖,支持從多個(gè)節(jié)點(diǎn)并發(fā)訪問(wèn)相同文件的不同區(qū)域,實(shí)現(xiàn)高并發(fā)讀,最終實(shí)現(xiàn)高性能的訪問(wèn)系統(tǒng)。MVX系統(tǒng)采用全互聯(lián)組網(wǎng)機(jī)制,節(jié)點(diǎn)間采用10GE或者Infiniband高速互聯(lián),適配客戶不同的組網(wǎng)需求,支持從集群任何一個(gè)節(jié)點(diǎn)并發(fā)訪問(wèn)系統(tǒng)中的任何文件。所以MVX通過(guò)節(jié)點(diǎn)的擴(kuò)展來(lái)解決海量容量的增長(zhǎng),同時(shí)還能保持性能線性增長(zhǎng),以此滿足業(yè)務(wù)發(fā)展需求。
MVX系統(tǒng)對(duì)數(shù)據(jù)和元數(shù)據(jù)分開(kāi)管理,這樣做帶來(lái)的好處,MVX可以在存儲(chǔ)容量不變的情況下,通過(guò)增加性能加速節(jié)點(diǎn),進(jìn)一步顯著提高系統(tǒng)對(duì)IO的響應(yīng)能力,最終向用戶提供卓越的性能。
分布式Raid
傳統(tǒng)Raid,把數(shù)據(jù)存放在一個(gè)節(jié)點(diǎn)內(nèi)的不同硬盤(pán)上,當(dāng)一個(gè)硬盤(pán)損壞時(shí),通過(guò)Raid重構(gòu),恢復(fù)壞盤(pán)上的數(shù)據(jù),但當(dāng)整個(gè)節(jié)點(diǎn)故障時(shí),整節(jié)點(diǎn)的數(shù)據(jù)就會(huì)出現(xiàn)丟失,針對(duì)這個(gè)問(wèn)題,可以通過(guò)在節(jié)點(diǎn)間寫(xiě)多份來(lái)解決。節(jié)點(diǎn)間寫(xiě)多份可以解決傳統(tǒng)RAID整節(jié)點(diǎn)故障時(shí)丟數(shù)據(jù)的問(wèn)題,但磁盤(pán)利用率很低,導(dǎo)致高TCO。 MVX的數(shù)據(jù)通過(guò)分布式RAID,節(jié)點(diǎn)間冗余的方式進(jìn)行保護(hù),數(shù)據(jù)進(jìn)入系統(tǒng)之后,被切分為N個(gè)數(shù)據(jù)片,然后計(jì)算出M個(gè)冗余分片,保存在N+M個(gè)不同節(jié)點(diǎn)的不同硬盤(pán)上。這種N+M的冗余模式可以對(duì)任意目錄進(jìn)行重新配置,甚至可以對(duì)同一目錄下的不同文件配置不同的冗余比。這意味著用戶可以靈活多變地根據(jù)自己的實(shí)際需求來(lái)指定數(shù)據(jù)冗余,從而設(shè)置不同的可靠性。
集群節(jié)點(diǎn)中,任意不超過(guò)M個(gè)硬盤(pán)故障后,MVX可以通過(guò)節(jié)點(diǎn)間數(shù)據(jù)重構(gòu)的方式快速恢復(fù)出所損失的數(shù)據(jù),進(jìn)而恢復(fù)整系統(tǒng)的數(shù)據(jù)可靠性。集群中任意節(jié)點(diǎn)故障后,該節(jié)點(diǎn)所提供的服務(wù)會(huì)被自動(dòng)遷移到其他節(jié)點(diǎn)上,使得故障對(duì)業(yè)務(wù)無(wú)感知。通過(guò)把數(shù)據(jù)分片寫(xiě)到不同的節(jié)點(diǎn)上,不僅可以提高讀寫(xiě)性能,又能保證數(shù)據(jù)的高可靠性,還能保持高的磁盤(pán)利用率,節(jié)約投資。
分級(jí)存儲(chǔ)和桌面盤(pán)
MVX產(chǎn)品對(duì)用戶提供統(tǒng)一命名空間,組成統(tǒng)一命名空間的設(shè)備可以由不同系列的硬件組成,當(dāng)高性能設(shè)備和大容量設(shè)備同時(shí)存在時(shí),系統(tǒng)會(huì)自動(dòng)識(shí)別并形成分級(jí)存儲(chǔ)。
大容量節(jié)點(diǎn)可以使用桌面級(jí)硬盤(pán)。桌面級(jí)硬盤(pán)成本比較低,但是這種硬盤(pán)相對(duì)企業(yè)級(jí)硬盤(pán)來(lái)說(shuō),對(duì)業(yè)務(wù)的占空比要求比較苛刻,另外能持續(xù)在線工作的時(shí)間也比較短。MVX系統(tǒng)由于實(shí)現(xiàn)了自動(dòng)在線分級(jí),并且支持對(duì)硬盤(pán)下電,可以極大縮短硬盤(pán)在線工作的時(shí)間,在綠色節(jié)能的同時(shí)延長(zhǎng)硬盤(pán)使用壽命。MVX通過(guò)支持桌面級(jí)硬盤(pán)在離線存儲(chǔ)中的應(yīng)用,大幅降低企業(yè)的采購(gòu)成本。