Ceph架構(gòu)剖析

朱 榮澤| 2013.09.09

https://www.ustack.com/blog/ceph_infra/

云硬盤(pán)是IaaS云平臺(tái)的重要組成部分蛉拙,云硬盤(pán)給虛擬機(jī)提供了持久的塊存儲(chǔ)設(shè)備肮雨。目前的AWS 的EBS(Elastic Block store)給Amazon的EC2實(shí)例提供了高可用高可靠的塊級(jí)存儲(chǔ)卷镇匀,EBS適合于一些需要訪問(wèn)塊設(shè)備的應(yīng)用,比如數(shù)據(jù)庫(kù)杂瘸、文件系統(tǒng)等玄渗。 在OpenStack中笨鸡,可以使用Ceph、Sheepdog缤弦、GlusterFS作為云硬盤(pán)的開(kāi)源解決方案领迈,下面我們來(lái)了解Ceph的架構(gòu)。

Ceph是統(tǒng)一存儲(chǔ)系統(tǒng),支持三種接口狸捅。

Object:有原生的API衷蜓,而且也兼容Swift和S3的API

Block:支持精簡(jiǎn)配置、快照薪贫、克隆

File:Posix接口恍箭,支持快照

Ceph也是分布式存儲(chǔ)系統(tǒng),它的特點(diǎn)是:

高擴(kuò)展性:使用普通x86服務(wù)器瞧省,支持10~1000臺(tái)服務(wù)器扯夭,支持TB到PB級(jí)的擴(kuò)展。

高可靠性:沒(méi)有單點(diǎn)故障鞍匾,多數(shù)據(jù)副本交洗,自動(dòng)管理,自動(dòng)修復(fù)橡淑。

高性能:數(shù)據(jù)分布均衡构拳,并行化度高。對(duì)于objects storage和block storage,不需要元數(shù)據(jù)服務(wù)器梁棠。

目前Inktank公司掌控Ceph的開(kāi)發(fā)置森,但Ceph是開(kāi)源的,遵循LGPL協(xié)議符糊。Inktank還積極整合Ceph和其他云計(jì)算和大數(shù)據(jù)平臺(tái)凫海,目前Ceph支持OpenStack、CloudStack男娄、OpenNebula行贪、Hadoop等。

當(dāng)前Ceph的最新穩(wěn)定版本0.67(Dumpling),它的objects storage和block storage已經(jīng)足夠穩(wěn)定模闲,而且Ceph社區(qū)還在繼續(xù)開(kāi)發(fā)新功能建瘫,包括跨機(jī)房部署和容災(zāi)、支持Erasure encoding等尸折。Ceph具有完善的社區(qū)設(shè)施和發(fā)布流程[1](每三個(gè)月發(fā)布一個(gè)穩(wěn)定版本) 啰脚。

目前Ceph有很多用戶案列,這是2013.03月Inktank公司在郵件列表中做的調(diào)查实夹,共收到了81份有效反饋[2]拣播。從調(diào)查中可以看到有26%的用戶在生產(chǎn)環(huán)境中使用Ceph,有37%的用戶在私有云中使用Ceph收擦,還有有16%的用戶在公有云中使用Ceph贮配。

目前Ceph最大的用戶案例是Dreamhost的Object Service,目前總?cè)萘渴?PB塞赂,可靠性達(dá)到99.99999%泪勒,數(shù)據(jù)存放采用三副本,它的價(jià)格比S3還便宜。下圖中圆存,左邊是Inktank的合作伙伴叼旋,右邊是Inktank的用戶。

Ceph的底層是RADOS沦辙,它的意思是“A reliable, autonomous, distributed object storage”夫植。 RADOS由兩個(gè)組件組成:

OSD: Object Storage Device,提供存儲(chǔ)資源油讯。

Monitor:維護(hù)整個(gè)Ceph集群的全局狀態(tài)详民。

RADOS具有很強(qiáng)的擴(kuò)展性和可編程性,Ceph基于RADOS開(kāi)發(fā)了

Object Storage陌兑、Block Storage沈跨、FileSystem。Ceph另外兩個(gè)組件是:

MDS:用于保存CephFS的元數(shù)據(jù)兔综。

RADOS Gateway:對(duì)外提供REST接口饿凛,兼容S3和Swift的API。

Ceph的命名空間是 (Pool, Object)软驰,每個(gè)Object都會(huì)映射到一組OSD中(由這組OSD保存這個(gè)Object):

(Pool, Object) → (Pool, PG) → OSD set → Disk

Ceph中Pools的屬性有:

Object的副本數(shù)

Placement Groups的數(shù)量

所使用的CRUSH Ruleset

在Ceph中涧窒,Object先映射到PG(Placement Group),再由PG映射到OSD set锭亏。每個(gè)Pool有多個(gè)PG杀狡,每個(gè)Object通過(guò)計(jì)算hash值并取模得到它所對(duì)應(yīng)的PG。PG再映射到一組OSD(OSD的個(gè)數(shù)由Pool 的副本數(shù)決定)贰镣,第一個(gè)OSD是Primary,剩下的都是Replicas膳凝。

數(shù)據(jù)映射(Data Placement)的方式?jīng)Q定了存儲(chǔ)系統(tǒng)的性能和擴(kuò)展性碑隆。(Pool, PG) → OSD set 的映射由四個(gè)因素決定:

CRUSH算法:一種偽隨機(jī)算法。

OSD MAP:包含當(dāng)前所有Pool的狀態(tài)和所有OSD的狀態(tài)蹬音。

CRUSH MAP:包含當(dāng)前磁盤(pán)上煤、服務(wù)器、機(jī)架的層級(jí)結(jié)構(gòu)著淆。

CRUSH Rules:數(shù)據(jù)映射的策略劫狠。這些策略可以靈活的設(shè)置object存放的區(qū)域。比如可以指定 pool1中所有objecst放置在機(jī)架1上永部,所有objects的第1個(gè)副本放置在機(jī)架1上的服務(wù)器A上独泞,第2個(gè)副本分布在機(jī)架1上的服務(wù)器B上。 pool2中所有的object分布在機(jī)架2苔埋、3懦砂、4上,所有Object的第1個(gè)副本分布在機(jī)架2的服務(wù)器上,第2個(gè)副本分布在機(jī)架3的服 器上荞膘,第3個(gè)副本分布在機(jī)架4的服務(wù)器上罚随。

Client從Monitors中得到CRUSH MAP、OSD MAP羽资、CRUSH Ruleset淘菩,然后使用CRUSH算法計(jì)算出Object所在的OSD set。所以Ceph不需要Name服務(wù)器屠升,Client直接和OSD進(jìn)行通信潮改。偽代碼如下所示:

locator = object_name

obj_hash = hash(locator)

pg = obj_hash % num_pg

osds_for_pg = crush(pg)? # returns a list of osds

primary = osds_for_pg[0]

replicas = osds_for_pg[1:]

這種數(shù)據(jù)映射的優(yōu)點(diǎn)是:

把Object分成組,這降低了需要追蹤和處理metadata的數(shù)量(在全局的層面上弥激,我們不需要追蹤和處理每個(gè)object的metadata和placement进陡,只需要管理PG的metadata就可以了。PG的數(shù)量級(jí)遠(yuǎn)遠(yuǎn)低于object的數(shù)量級(jí))微服。

增加PG的數(shù)量可以均衡每個(gè)OSD的負(fù)載趾疚,提高并行度。

分隔故障域以蕴,提高數(shù)據(jù)的可靠性糙麦。

Ceph的讀寫(xiě)操作采用Primary-Replica模型,Client只向Object所對(duì)應(yīng)OSD set的Primary發(fā)起讀寫(xiě)請(qǐng)求丛肮,這保證了數(shù)據(jù)的強(qiáng)一致性赡磅。

由于每個(gè)Object都只有一個(gè)Primary OSD,因此對(duì)Object的更新都是順序的宝与,不存在同步問(wèn)題焚廊。

當(dāng)Primary收到Object的寫(xiě)請(qǐng)求時(shí),它負(fù)責(zé)把數(shù)據(jù)發(fā)送給其他Replicas习劫,只要這個(gè)數(shù)據(jù)被保存在所有的OSD上時(shí)咆瘟,Primary才應(yīng)答Object的寫(xiě)請(qǐng)求,這保證了副本的一致性诽里。

在分布式系統(tǒng)中袒餐,常見(jiàn)的故障有網(wǎng)絡(luò)中斷、掉電谤狡、服務(wù)器宕機(jī)灸眼、硬盤(pán)故障等,Ceph能夠容忍這些故障墓懂,并進(jìn)行自動(dòng)修復(fù)焰宣,保證數(shù)據(jù)的可靠性和系統(tǒng)可用性。

Monitors是Ceph管家捕仔,維護(hù)著Ceph的全局狀態(tài)宛徊。Monitors的功能和zookeeper類(lèi)似佛嬉,它們使用Quorum和Paxos算法去建立全局狀態(tài)的共識(shí)。

OSDs可以進(jìn)行自動(dòng)修復(fù)闸天,而且是并行修復(fù)暖呕。

故障檢測(cè):

OSD之間有心跳檢測(cè),當(dāng)OSD A檢測(cè)到OSD B沒(méi)有回應(yīng)時(shí)苞氮,會(huì)報(bào)告給Monitors說(shuō)OSD B無(wú)法連接湾揽,則Monitors給OSD B標(biāo)記為down狀態(tài),并更新OSD Map笼吟。當(dāng)過(guò)了M秒之后還是無(wú)法連接到OSD B库物,則Monitors給OSD B標(biāo)記為out狀態(tài)(表明OSD B不能工作),并更新OSD Map贷帮。

備注:可以在Ceph中配置M的值戚揭。

故障恢復(fù):

當(dāng)某個(gè)PG對(duì)應(yīng)的OSD set中有一個(gè)OSD被標(biāo)記為down時(shí)(假如是Primary被標(biāo)記為down,則某個(gè)Replica會(huì)成為新的Primary撵枢,并處理所有讀寫(xiě) object請(qǐng)求)民晒,則該P(yáng)G處于active+degraded狀態(tài),也就是當(dāng)前PG有效的副本數(shù)是N-1锄禽。

過(guò)了M秒之后潜必,假如還是無(wú)法連接該OSD,則它被標(biāo)記為out沃但,Ceph會(huì)重新計(jì)算PG到OSD set的映射(當(dāng)有新的OSD加入到集群時(shí)磁滚,也會(huì)重新計(jì)算所有PG到OSD set的映射),以此保證PG的有效副本數(shù)是N宵晚。

新OSD set的Primary先從舊的OSD set中收集PG log垂攘,得到一份Authoritative History(完整的、全序的操作序列)淤刃,并讓其他Replicas同意這份Authoritative History(也就是其他Replicas對(duì)PG的所有objects的狀態(tài)達(dá)成一致)晒他,這個(gè)過(guò)程叫做Peering。

當(dāng)Peering過(guò)程完成之后钝凶,PG進(jìn) 入active+recoverying狀態(tài),Primary會(huì)遷移和同步那些降級(jí)的objects到所有的replicas上唁影,保證這些objects 的副本數(shù)為N耕陷。

Client和Server直接通信,不需要代理和轉(zhuǎn)發(fā)

多個(gè)OSD帶來(lái)的高并發(fā)度据沈。objects是分布在所有OSD上哟沫。

負(fù)載均衡。每個(gè)OSD都有權(quán)重值(現(xiàn)在以容量為權(quán)重)锌介。

client不需要負(fù)責(zé)副本的復(fù)制(由primary負(fù)責(zé)),這降低了client的網(wǎng)絡(luò)消耗嗜诀。

數(shù)據(jù)多副本猾警。可配置的per-pool副本策略和故障域布局隆敢,支持強(qiáng)一致性发皿。

沒(méi)有單點(diǎn)故障》餍可以忍受許多種故障場(chǎng)景穴墅;防止腦裂;單個(gè)組件可以滾動(dòng)升級(jí)并在線替換温自。

所有故障的檢測(cè)和自動(dòng)恢復(fù)玄货。恢復(fù)不需要人工介入悼泌,在恢復(fù)期間松捉,可以保持正常的數(shù)據(jù)訪問(wèn)。

并行恢復(fù)馆里。并行的恢復(fù)機(jī)制極大的降低了數(shù)據(jù)恢復(fù)時(shí)間隘世,提高數(shù)據(jù)的可靠性。

高度并行也拜。沒(méi)有單個(gè)中心控制組件以舒。所有負(fù)載都能動(dòng)態(tài)的劃分到各個(gè)服務(wù)器上。把更多的功能放到OSD上慢哈,讓OSD更智能蔓钟。

自管理。容易擴(kuò)展卵贱、升級(jí)滥沫、替換。當(dāng)組件發(fā)生故障時(shí)键俱,自動(dòng)進(jìn)行數(shù)據(jù)的重新復(fù)制兰绣。當(dāng)組件發(fā)生變化時(shí)(添加/刪除),自動(dòng)進(jìn)行數(shù)據(jù)的重分布编振。

使用fio測(cè)試RBD的IOPS缀辩,使用dd測(cè)試RBD的吞吐率,下面是測(cè)試的參數(shù):

fio的參數(shù):bs=4K, ioengine=libaio, iodepth=32, numjobs=16, direct=1

dd的參數(shù):bs=512M,oflag=direct

我們的測(cè)試服務(wù)器是AWS上最強(qiáng)的實(shí)例:

117GB內(nèi)存

雙路 E5-2650,共16核

24 * 2TB 硬盤(pán)

服務(wù)器上的操作系統(tǒng)是Ubuntu 13.04踪央,安裝Ceph Cuttlefish 0.61版臀玄,副本數(shù)設(shè)置為2,RBD中的塊大小設(shè)置為1M畅蹂。為了對(duì)比健无,同時(shí)還對(duì)軟件RAID10進(jìn)行了測(cè)試。下面表格中的性能比是Ceph與RAID10性能之間的比較液斜。

因?yàn)槭褂玫氖茿WS上的虛擬機(jī)累贤,所以它(Xen)掛載的磁盤(pán)都是設(shè)置了Cache的叠穆。因此下面測(cè)試的數(shù)據(jù)并不能真實(shí)反應(yīng)物理磁盤(pán)的真實(shí)性能,僅供與RAID10進(jìn)行對(duì)比臼膏。

磁盤(pán)數(shù)隨機(jī)寫(xiě)隨機(jī)讀

CephRAID10性能比CephRAID10性能比

241075377228%60454679129%

12665163340%2939434067%

641383249%909144562%

432855958%66681581%

212027343%31950363%

磁盤(pán)數(shù)順序?qū)?MB/s)順序讀(MB/s)

CephRAID10性能比CephRAID10性能比

2429987933%617184333%

1221270330%445112639%

68130826%23370932%

46728423%17046936%

23415322%9024037%

從測(cè)試結(jié)果中硼被,我們看到在單機(jī)情況下,RBD的性能不如RAID10讶请,這是為什么祷嘶?我們可以通過(guò)三種方法找到原因:

閱讀Ceph源碼,查看I/O路徑

使用blktrace查看I/O操作的執(zhí)行

使用iostat觀察硬盤(pán)的讀寫(xiě)情況

RBD的I/O路徑很長(zhǎng)夺溢,要經(jīng)過(guò)網(wǎng)絡(luò)论巍、文件系統(tǒng)、磁盤(pán):

Librbd -> networking -> OSD -> FileSystem -> Disk

Client的每個(gè)寫(xiě)操作在OSD中要經(jīng)過(guò)8種線程风响,寫(xiě)操作下發(fā)到OSD之后嘉汰,會(huì)產(chǎn)生2~3個(gè)磁盤(pán)seek操作:

把寫(xiě)操作記錄到OSD的Journal文件上(Journal是為了保證寫(xiě)操作的原子性)。

把寫(xiě)操作更新到Object對(duì)應(yīng)的文件上状勤。

把寫(xiě)操作記錄到PG Log文件上鞋怀。

我使用fio向RBD不斷寫(xiě)入數(shù)據(jù),然后使用iostat觀察磁盤(pán)的讀寫(xiě)情況持搜。在1分鐘之內(nèi)密似,fio向RBD寫(xiě)入了3667 MB的數(shù)據(jù),24塊硬盤(pán)則被寫(xiě)入了16084 MB的數(shù)據(jù)葫盼,被讀取了288 MB的數(shù)據(jù)残腌。

向RBD寫(xiě)入1MB數(shù)據(jù) = 向硬盤(pán)寫(xiě)入4.39MB數(shù)據(jù) + 讀取0.08MB數(shù)據(jù)

在單機(jī)情況下,RBD的性能不如傳統(tǒng)的RAID10贫导,這是因?yàn)镽BD的I/O路徑很復(fù)雜抛猫,導(dǎo)致效率很低。但是Ceph的優(yōu)勢(shì)在于它的擴(kuò)展性孩灯,它的性能會(huì)隨著磁盤(pán)數(shù)量線性增長(zhǎng)闺金,因此在多機(jī)的情況下,RBD的IOPS和吞吐率會(huì)高于單機(jī)的RAID10(不過(guò)性能會(huì)受限于網(wǎng)絡(luò)的帶寬)峰档。

如前所述败匹,Ceph優(yōu)勢(shì)顯著,使用它能夠降低硬件成本和運(yùn)維成本讥巡,但它的復(fù)雜性會(huì)帶來(lái)一定的學(xué)習(xí)成本掀亩。

Ceph的特點(diǎn)使得它非常適合于云計(jì)算,那么OpenStack使用Ceph的效果如何尚卫?下期《Ceph與OpenStack》將會(huì)介紹Ceph的自動(dòng)化部署归榕、Ceph與OpenStack的對(duì)接尸红。

[1]http://www.ustack.com/blog/ceph-distributed-block-storage/#2_Ceph

[2]http://ceph.com/community/results-from-the-ceph-census/

訂閱本站打印文章上一篇《OpenStack社區(qū)周報(bào)(8.26 – 9.3)》下一篇《OpenStack社區(qū)周報(bào)(8.4 – 9.11)》

互動(dòng)評(píng)論: 《Ceph架構(gòu)剖析》上有0條評(píng)論

學(xué)習(xí)了吱涉,正在用于生產(chǎn)環(huán)境刹泄,使用的是RBD,性能不是很理想怎爵。

回復(fù)

Rongze Zhu2013年9月9日6:31 下午

規(guī)模有多大呀特石?

回復(fù)

6 osd ,每osd 2T sata *3 raid 0 鳖链, 60G ssd 10G Journal

回復(fù)

Rongze Zhu2013年9月9日9:16 下午

這種部署方式好奇怪呀..

回復(fù)

Rongze Zhu2013年9月10日2:18 下午

為何不直接18個(gè)OSD呢姆蘸?估計(jì)性能會(huì)更好一些。

假如18個(gè)OSD芙委,則單塊SSD作為journal就是瓶頸了逞敷,推薦把journal放在OSD上。然后你再測(cè)試看看灌侣。

好推捐,我試試,謝謝侧啼。

之前是4臺(tái)服務(wù)器12個(gè)osd牛柒,ceph 0.56 但是出現(xiàn)了很?chē)?yán)重的bug,ceph-osd進(jìn)程經(jīng)常內(nèi)存溢出痊乾,后面就升級(jí)到了0.61皮壁。

sixiangma2013年9月10日10:04 下午

請(qǐng)問(wèn)fio每次讀寫(xiě)的塊大小是多少? 上面得到的IOPS和THROUGHPUT是整個(gè)集群的最大值嗎哪审?

回復(fù)

Rongze Zhu2013年9月14日12:32 上午

FIO的參數(shù)已在文中提及:bs=4K, ioengine=libaio, iodepth=32, numjobs=16, direct=1 蛾魄。

上面的IOPS和throughput不是整個(gè)集群的峰值,只是為了和RAID10做比較协饲。

而且上面的IOPS沒(méi)有反應(yīng)出真正物理磁盤(pán)的性能畏腕,因?yàn)槲覀兪褂玫氖茿WS的虛擬機(jī)測(cè)試的。

回復(fù)

Lawrency.Meng2013年9月11日5:59 下午

使用glusterfs和cephfs掛載到/var/lib/nova/instances目錄茉稠,用來(lái)保存虛擬機(jī)鏡像描馅,哪個(gè)更有優(yōu)勢(shì)呢?還有虛擬機(jī)鏡像文件的訪問(wèn)而线,讀寫(xiě)對(duì)文件系統(tǒng)又有什么特別的要求呢铭污?

回復(fù)

higkoohk2013年10月9日3:46 下午

正在考慮開(kāi)源虛擬機(jī)后臺(tái)存儲(chǔ)的方案。

嘗試了GlusterFS和Ceph膀篮,決定放棄GlusterFS嘹狞,原因如下:http://www.gluster.org/pipermail/gluster-users/2013-October/037597.html

Ceph感覺(jué)還挺強(qiáng)勁的,不知道國(guó)內(nèi)為什么都說(shuō)它不穩(wěn)定誓竿。目前只發(fā)現(xiàn)了這個(gè)問(wèn)題:

手動(dòng)執(zhí)行`umount -l`時(shí)磅网,會(huì)導(dǎo)致數(shù)據(jù)丟失:http://comments.gmane.org/gmane.comp.file-systems.ceph.user/4640

回復(fù)

zqfan2013年10月12日12:01 上午

不明覺(jué)厲,我對(duì)存儲(chǔ)不大了解筷屡,不過(guò)根據(jù)CAP理論涧偷,為了獲取強(qiáng)一致性簸喂,可用性必然會(huì)降低(總不至于犧牲容錯(cuò)吧),所以它的性能恐怕有點(diǎn)折扣燎潮。另外分布式系統(tǒng)和單機(jī)系統(tǒng)比吞吐率是不是有點(diǎn)欺負(fù)人了喻鳄,拼時(shí)延才是真見(jiàn)血吧。亂說(shuō)一頓确封,貽笑大方除呵,萬(wàn)勿見(jiàn)怪

回復(fù)

kill512162013年11月15日4:55 下午

您好 ,請(qǐng)問(wèn)您是直接在osd上爪喘,掛載rbd 進(jìn)行的測(cè)試颜曾,還是又開(kāi)了臺(tái)虛擬機(jī),專(zhuān)門(mén)作為測(cè)試機(jī)掛載的rbd進(jìn)行的測(cè)試 秉剑?

回復(fù)

評(píng)論:*

姓名:*

電子郵箱:*您的電子郵件地址不會(huì)被公開(kāi)

收藏于 2016-07-29

https://www.ustack.com/blog/ceph_infra/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末泛啸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子秃症,更是在濱河造成了極大的恐慌候址,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件种柑,死亡現(xiàn)場(chǎng)離奇詭異岗仑,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)聚请,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)荠雕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事≈ぐ牛” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵盖文,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蚯姆,道長(zhǎng)五续,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任龄恋,我火速辦了婚禮疙驾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘郭毕。我一直安慰自己它碎,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著扳肛,像睡著了一般偏竟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上敞峭,一...
    開(kāi)封第一講書(shū)人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音蝉仇,去河邊找鬼旋讹。 笑死,一個(gè)胖子當(dāng)著我的面吹牛轿衔,可吹牛的內(nèi)容都是我干的沉迹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼害驹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼鞭呕!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起宛官,我...
    開(kāi)封第一講書(shū)人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤葫松,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后底洗,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體腋么,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年亥揖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了珊擂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡费变,死狀恐怖摧扇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挚歧,我是刑警寧澤扛稽,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站滑负,受9級(jí)特大地震影響庇绽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜橙困,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一瞧掺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凡傅,春花似錦辟狈、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)明未。三九已至,卻和暖如春壹蔓,著一層夾襖步出監(jiān)牢的瞬間趟妥,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工佣蓉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留披摄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓勇凭,卻偏偏與公主長(zhǎng)得像疚膊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子虾标,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • CRUSH(Controlled Replication Under Scalable Hashing...
    Cindy_lina閱讀 1,807評(píng)論 0 6
  • ceph簡(jiǎn)介 Ceph是一個(gè)分布式存儲(chǔ)系統(tǒng)寓盗,誕生于2004年,是最早致力于開(kāi)發(fā)下一代高性能分布式文件系統(tǒng)的項(xiàng)目璧函。隨...
    愛(ài)吃土豆的程序猿閱讀 6,032評(píng)論 0 21
  • 原因:2017年4月14日 星期五 學(xué)習(xí)記錄傀蚌。說(shuō)明:整理ceph資料。我的博客 : http://minichao...
    nicocoi閱讀 8,215評(píng)論 1 9
  • 1. 簡(jiǎn)介 在傳統(tǒng)分布式存儲(chǔ)架構(gòu)中蘸吓,存儲(chǔ)節(jié)點(diǎn)往往僅作為被動(dòng)查詢對(duì)象來(lái)使用喳张,隨著存儲(chǔ)規(guī)模的增加,數(shù)據(jù)一致性的管理會(huì)出...
    chnmagnus閱讀 9,796評(píng)論 4 5
  • 集群管理 每次用命令啟動(dòng)美澳、重啟销部、停止Ceph守護(hù)進(jìn)程(或整個(gè)集群)時(shí),必須指定至少一個(gè)選項(xiàng)和一個(gè)命令,還可能要指定...
    Arteezy_Xie閱讀 18,978評(píng)論 0 19