精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

對(duì)于分布式存儲(chǔ)的若干看法

責(zé)任編輯:editor007

作者:麥子邁

2015-07-02 22:01:59

摘自:51CTO

對(duì)象存儲(chǔ): 也就是通常意義的鍵值存儲(chǔ),其接口就是簡(jiǎn)單的GET,PUT,DEL和其他擴(kuò)展,如七牛、又拍,Swift,S3、這三種接口分別以非分布式情況下的鍵值數(shù)據(jù)庫(kù)、硬盤(pán)和文件系統(tǒng)的IO特點(diǎn)來(lái)對(duì)應(yīng)即可。

Q: 現(xiàn)在領(lǐng)域內(nèi)對(duì)于分布式存儲(chǔ)的應(yīng)用場(chǎng)景是否有比較明確的分類(lèi)?比如冷熱,快慢,大文件小文件之類(lèi)的?

分布式存儲(chǔ)的應(yīng)用場(chǎng)景相對(duì)于其存儲(chǔ)接口,現(xiàn)在流行分為三種:

1. 對(duì)象存儲(chǔ): 也就是通常意義的鍵值存儲(chǔ),其接口就是簡(jiǎn)單的GET,PUT,DEL和其他擴(kuò)展,如七牛、又拍,Swift,S3、

2.塊存儲(chǔ): 這種接口通常以QEMU Driver或者Kernel Module的方式存在,這種接口需要實(shí)現(xiàn)Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的EBS,青云的云硬盤(pán)和阿里云的盤(pán)古系統(tǒng),還有Ceph的RBD(RBD是Ceph面向塊存儲(chǔ)的接口)

3. 文件存儲(chǔ): 通常意義是支持POSIX接口,它跟傳統(tǒng)的文件系統(tǒng)如Ext4是一個(gè)類(lèi)型的,但區(qū)別在于分布式存儲(chǔ)提供了并行化的能力,如Ceph的 CephFS(CephFS是Ceph面向文件存儲(chǔ)的接口),但是有時(shí)候又會(huì)把GFS,HDFS這種非POSIX接口的類(lèi)文件存儲(chǔ)接口歸入此類(lèi)。

按照這三種接口和其應(yīng)用場(chǎng)景,很容易了解這三種類(lèi)型的IO特點(diǎn),括號(hào)里代表了它在非分布式情況下的對(duì)應(yīng):

1. 對(duì)象存儲(chǔ)(鍵值數(shù)據(jù)庫(kù)): 接口簡(jiǎn)單,一個(gè)對(duì)象我們可以看成一個(gè)文件,只能全寫(xiě)全讀,通常以大文件為主,要求足夠的IO帶寬。

2. 塊存儲(chǔ)(硬盤(pán)): 它的IO特點(diǎn)與傳統(tǒng)的硬盤(pán)是一致的,一個(gè)硬盤(pán)應(yīng)該是能面向通用需求的,即能應(yīng)付大文件讀寫(xiě),也能處理好小文件讀寫(xiě)。但是硬盤(pán)的特點(diǎn)是容量大,熱點(diǎn)明顯。因此塊存儲(chǔ)主要可以應(yīng)付熱點(diǎn)問(wèn)題。另外,塊存儲(chǔ)要求的延遲是最低的。

3. 文件存儲(chǔ)(文件系統(tǒng)): 支持文件存儲(chǔ)的接口的系統(tǒng)設(shè)計(jì)跟傳統(tǒng)本地文件系統(tǒng)如Ext4這種的特點(diǎn)和難點(diǎn)是一致的,它比塊存儲(chǔ)具有更豐富的接口,需要考慮目錄、文件屬性等支持,實(shí)現(xiàn)一個(gè)支持并行化的文件存儲(chǔ)應(yīng)該是最困難的。但像HDFS、GFS這種自己定義標(biāo)準(zhǔn)的系統(tǒng),可以通過(guò)根據(jù)實(shí)現(xiàn)來(lái)定義接口,會(huì)容易一點(diǎn)。

因此,這三種接口分別以非分布式情況下的鍵值數(shù)據(jù)庫(kù)、硬盤(pán)和文件系統(tǒng)的IO特點(diǎn)來(lái)對(duì)應(yīng)即可。至于冷熱、快慢、大小文件而言更接近于業(yè)務(wù)。但是因?yàn)榇鎯?chǔ)系統(tǒng)是通用化實(shí)現(xiàn),通常來(lái)說(shuō),需要盡量滿(mǎn)足各種需求,而接口定義已經(jīng)一定意義上就砍去了一些需求,如對(duì)象存儲(chǔ)會(huì)以冷存儲(chǔ)更多,大文件為主。

Q: 實(shí)現(xiàn)思路方面是否又有一些通用的分類(lèi)法?

實(shí)現(xiàn)上主要有兩層區(qū)別:

1. 系統(tǒng)的分布式設(shè)計(jì): 主從、還是全分布式或者是兼而有之,目前現(xiàn)在存儲(chǔ)系統(tǒng)因?yàn)橐恢滦缘囊螅灾鲝臑橹鳌?/p>

2. 底層的單機(jī)存儲(chǔ): 一種是依賴(lài)本地文件系統(tǒng)的接口,如GlusterFS,Swift,Sheepdog,Ceph。一種是依賴(lài)塊接口的,目前只知道Nutanix是使用這個(gè)的(http://stevenpoitras.com/the-nutanix-bible)。最后一種是依賴(lài)鍵值接口的,目前應(yīng)該只有Ceph是支持(Ceph支持多種單機(jī)存儲(chǔ)接口)。第一種依賴(lài)文件系統(tǒng)是因?yàn)榉植际酱鎯?chǔ)系統(tǒng)本身已經(jīng)夠復(fù)雜,實(shí)現(xiàn)者很難從上層一直到底層存儲(chǔ)都去實(shí)現(xiàn),而本地文件系統(tǒng)已經(jīng)是一個(gè)通用化并且非常成熟的實(shí)現(xiàn),因此分布式存儲(chǔ)系統(tǒng)絕大部分(上述提到的都應(yīng)該是)都會(huì)直接依賴(lài)本地文件系統(tǒng)。第二種接口目前只知道Nutanix 是支持的(傳統(tǒng)的存儲(chǔ)廠商的存儲(chǔ)產(chǎn)品一般會(huì)使用這種方式),這種接口也就是比第一種去掉了文件系統(tǒng)層,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的物理塊管理即可。第三種它的主要原因是“存儲(chǔ)定義”和對(duì)象存儲(chǔ)的普及,希望硬盤(pán)來(lái)提供簡(jiǎn)單的鍵值接口即可,如希捷的Kinetic API(https://github.com/Seagate/Kinetic-Preview),F(xiàn)usionIO的 NVMKV(https://github.com/opennvm/nvmkv),這種接口另一方面是閃存廠商非常喜愛(ài)的,因?yàn)殚W存的物理特性使得它支持鍵值接口比快接口容易得多,目前Ceph是支持這種接口,而希捷和華為最近推出了IP硬盤(pán)(http://net.zdnet.com.cn /network_security_zone/2013/1024/2993465.shtml),聽(tīng)說(shuō)已經(jīng)實(shí)現(xiàn)了Swift上的原型。

(從這里可以發(fā)現(xiàn),分布式存儲(chǔ)系統(tǒng)是在傳統(tǒng)的單機(jī)接口上重新包裝了一層,然后實(shí)現(xiàn)三種類(lèi)似的接口)

Q: 另外,對(duì)于不同的實(shí)現(xiàn)方案,分布式存儲(chǔ)系統(tǒng)的性能是可以直接測(cè)試的,但理論可用性、數(shù)據(jù)可靠性的計(jì)算方式是不同的。UOS Cloud現(xiàn)在是Ceph方案,你們是怎么做這個(gè)計(jì)算的?

實(shí)際上這個(gè)計(jì)算是需要依賴(lài)于存儲(chǔ)系統(tǒng)本身的,Ceph的優(yōu)勢(shì)是提供了一個(gè)叫CRush算法的實(shí)現(xiàn),可以輕松根據(jù)需要來(lái)規(guī)劃數(shù)據(jù)的副本數(shù)和高可用性。參考Ceph提供的模型定義(https://github.com/ceph/ceph-tools/blob/master/models /reliability/README.html)來(lái)規(guī)劃自己的。這是我的同事朱榮澤做的故障計(jì)算。這個(gè)計(jì)算只針對(duì)副本策略,并不適合使用EC(擦除碼)的情況。

硬盤(pán)發(fā)生故障的概率是符合泊松分布的。

我們對(duì)丟失數(shù)據(jù)是不能容忍的,所以只計(jì)算丟失數(shù)據(jù)的概率,不計(jì)算丟失每個(gè)object的概率。

計(jì)算1年內(nèi)任意R個(gè)OSD發(fā)生相關(guān)故障概率的方法是

因?yàn)槿我釸個(gè)OSD不一定屬于Ceph的Copy Sets,則Ceph的丟失Copy Sets的概率是:

最終公式是:

P = func(N, R, S, AFR)

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 武汉市| 江陵县| 右玉县| 如皋市| 新安县| 怀远县| 五原县| 陆川县| 英吉沙县| 汝州市| 名山县| 涿州市| 曲阜市| 卢龙县| 陵川县| 肥乡县| 花莲市| 会泽县| 邵东县| 宁津县| 望奎县| 襄汾县| 清镇市| 岳西县| 温州市| 河源市| 马公市| 贵溪市| 罗江县| 商南县| 大同县| 扶余县| 潜山县| 威海市| 汉源县| 遂溪县| 托克托县| 峨眉山市| 高唐县| 喀什市| 万安县|