日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
比較Swift與HDFS話Ceph本質(zhì)

比較swift與HDFS 話Ceph本質(zhì)

作者:張華 2015-05-15 10:52:45

云計算 Ceph是一個支持大量小文件和隨機(jī)讀寫的分布式文件系統(tǒng),在維護(hù) POSIX 兼容性的同時加入了復(fù)制和容錯功能。目前Ceph已經(jīng)被加到了Linux內(nèi)核之中,雖然可能還不適用于生產(chǎn)環(huán)境。它也想實(shí)現(xiàn)統(tǒng)一存儲的目標(biāo)。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、三門峽網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、三門峽網(wǎng)絡(luò)營銷、三門峽企業(yè)策劃、三門峽品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供三門峽建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

先溫習(xí)一下之前作者曾發(fā)表在openstack中國社區(qū)的一篇理論文章(http://www.openstack.cn/p276.html),復(fù)制如下:

Ceph是一個支持大量小文件和隨機(jī)讀寫的分布式文件系統(tǒng),在維護(hù) POSIX 兼容性的同時加入了復(fù)制和容錯功能。目前Ceph已經(jīng)被加到了Linux內(nèi)核之中,雖然可能還不適用于生產(chǎn)環(huán)境。它也想實(shí)現(xiàn)統(tǒng)一存儲的目標(biāo),即:

對象系統(tǒng),類似Swift, 這里是RADOS, Reliable Autonomic Distributed Object Store, 可靠的自主分布式對象存儲。在每臺host上都要運(yùn)行OSD(Object Storage Daemon)進(jìn)程,當(dāng)然,如果已經(jīng)用RAID, LVM或btrf,xfs(最好別用ext4)將每臺host上的硬盤都做成一個池了的話,運(yùn)行一個OSD就可以了。OSD會默認(rèn)創(chuàng)建三個池:data, metada與RBD 。同時,在每臺host上還要運(yùn)行MON (Monitor)進(jìn)程。

文件存儲,類似Hadoop中的HDFS,但HDFS是流式存儲,即一次寫多次讀。想使用Ceph文件存儲的話,那還在每臺host上還要運(yùn)行MDS(Meta-Data Server)進(jìn)程。MDS是在對象系統(tǒng)的基礎(chǔ)之上為Ceph客戶端又提供的一層POSIX文件系統(tǒng)抽象實(shí)現(xiàn)。

塊存儲, 類似Cinder

這樣說來,至少有下列幾種方式可以訪問Ceph中的對象:

RADOS方式,RADOS是Ceph的基礎(chǔ),即使對于Ceph文件存儲,底層也是使用RADOS,RADOS本來提供一個librados庫來訪問對象,這個庫支持php, java, python, c/c++。還通過RADOS Gateway來提供和Swift與Amazon-S3兼容的REST接口。

RBD(rados block device)與QEMU-RBD,前面說了,Ceph已經(jīng)加到內(nèi)核了,所以可以使用內(nèi)核的RBD驅(qū)動來訪問對象,它也和QEMU-RBD兼容。

CephFS, 上述MDS提供的POSIX兼容的文件系統(tǒng)。在生產(chǎn)系統(tǒng)中,建議用以上三種方式,不建議這種。

一個數(shù)據(jù)塊具體存放在哪些host上需要有元數(shù)據(jù)來描述,HDFS是在一臺機(jī)器上集中存儲元數(shù)據(jù)的(HA可以通過配置主備實(shí)現(xiàn)),Swift則完全是分布式的,一個數(shù)據(jù)塊具體存放在哪些host(在Ceph中稱OSD, OSD是在host上維護(hù)數(shù)據(jù)塊的一個進(jìn)程)上由一致性哈希算法決定,元數(shù)據(jù)使用rsync命令同步分布在每一個host上,所以需要分級來減小元數(shù)據(jù)的大小,所以也就有了Accounts, Containers, Objects這三級RING。對應(yīng)在RADOS中,有兩級映射,先經(jīng)過哈希把key映射到PG (Placement Group),再通過一致性哈希函數(shù)CRUSH從PGID映射到實(shí)際存儲數(shù)據(jù)的host (OSD)。Swift使用的一致性哈希算法使用flat的host列表,但是CRUSH這種一致性哈希算法使用的host列表具有層次結(jié)構(gòu)(shelves, racks, rows),并且能允許用戶通過指定policies把復(fù)制存放在不同的機(jī)架。剩下的事和Swift類似,CRUSH會生成在RING上產(chǎn)生副本信息,第一個副本是主,其它是從,主負(fù)責(zé)接收來自客戶端的寫,及協(xié)調(diào)多個客戶端的寫,主再將數(shù)據(jù)寫給從,待主返回結(jié)果后,主才告訴用戶寫成功,所以副本是強(qiáng)一致性的,這點(diǎn)和AWS dynamo這些最終一致性的做法有些區(qū)別。當(dāng)新增機(jī)器或發(fā)生宕機(jī)時,和swift也類似,CRUSH一致性哈希算法也會保證數(shù)據(jù)的抖動性最小(即轉(zhuǎn)移的數(shù)據(jù)塊最少)。

除了存儲節(jié)點(diǎn)外,還有一些監(jiān)控節(jié)點(diǎn)組成的小集群,負(fù)責(zé)監(jiān)控存儲節(jié)點(diǎn)的運(yùn)行狀態(tài),它們通過Paxos協(xié)議達(dá)到一致和保持?jǐn)?shù)據(jù)冗余,Paxos和ZooKeeper中用到的領(lǐng)導(dǎo)者選擇算法Zap協(xié)議類似,只要保證這些host中的大多數(shù)host不出故障就行,并且我們一般選擇奇數(shù)臺host,舉個例子,在5個host的監(jiān)控集群中,任何兩臺機(jī)器故障的情況下服務(wù)都能繼續(xù)運(yùn)行。

在一致性保證方面,在ZooKeeper中,領(lǐng)導(dǎo)者與跟隨者非常聰明,跟隨者通過更新號(唯一的全局標(biāo)識叫zxid, ZooKeeper Transaction ID)來滯后領(lǐng)導(dǎo)者,這樣大部分host確認(rèn)更新之后,寫操作就能被提交了。Ceph換湯不換藥,這個全局標(biāo)識改了個名叫epoch序號,所以Monitor節(jié)點(diǎn)記錄的是epoch序號和一些全局狀態(tài)(如存儲節(jié)點(diǎn)是否在線,地址端口等),非常輕量,每個監(jiān)測到存儲節(jié)點(diǎn)發(fā)生變更時,如存儲節(jié)點(diǎn)上線或下線,將epoch序號增加以區(qū)別先前的狀態(tài)??傊?,Monitor節(jié)點(diǎn)維護(hù)了這些集群狀態(tài)映射對象ClusterMap,包括:monitor map, OSD map, placement group (PG) map, CRUSH map, epoch map。例如當(dāng)存儲節(jié)點(diǎn)宕機(jī)時,監(jiān)控節(jié)點(diǎn)發(fā)現(xiàn)后更新epoch和ClusterMap,然后通過gossip p2p方式推送給存儲節(jié)點(diǎn)(這種p2p通知和存儲節(jié)點(diǎn)自主復(fù)制和HDFS中的master-slave模型是有區(qū)別的),存儲節(jié)點(diǎn)再重新計算CRUSH決定將宕機(jī)機(jī)器丟失副本補(bǔ)上,由于一致性哈希的特性,發(fā)生變更的PG不會很多,也就是說抖動性不會很大。

通過將Ceph與現(xiàn)有的Swift, Hadoop等現(xiàn)有技術(shù)一坐標(biāo)映射,到了這一步,筆者也就清楚Ceph是做什么的了。有機(jī)會再看看OpenStack是怎樣用它的,以及它是怎樣具體安裝部署的。

參考文獻(xiàn):

http://ceph.com/docs/next/architecture/

http://blog.csdn.net/quqi99/article/details/7438258

ceph學(xué)習(xí)筆記--對象存儲

http://www.sebastien-han.fr/blog/2012/06/10/introducing-ceph-to-openstack/

博文出處:http://m.blog.csdn.net/blog/quqi99/32939509
 


網(wǎng)頁題目:比較Swift與HDFS話Ceph本質(zhì)
分享URL:http://www.5511xx.com/article/dpjedid.html