隨著云計(jì)算業(yè)務(wù)的快速發(fā)展,國內(nèi)外云計(jì)算企業(yè)的專利之爭也愈發(fā)激烈。在云計(jì)算這樣的技術(shù)領(lǐng)域,專利儲(chǔ)備往往代表著企業(yè)最新的技術(shù)實(shí)力。華云數(shù)據(jù)本期“智匯華云”專欄將針對“Ceph的正確玩法之Ceph雙副本如何保證宕機(jī)數(shù)據(jù)的安全性”技術(shù),與大家共同分享云計(jì)算領(lǐng)域的最新技術(shù)與解決方案。
該文章為本系列的第六篇文章,我們將在之后繼續(xù)推出本系列的其他文章,敬請關(guān)注!
場景一:生產(chǎn)環(huán)境一般都是三副本存儲(chǔ),但一些場景為了節(jié)省資源,將副本調(diào)整為2副本。兩副本要求將數(shù)據(jù)分布在不同的機(jī)器上,防止集群故障時(shí)數(shù)據(jù)丟失。
我們?yōu)榇颂砑覴ack級(jí)的Bucket,分別包含兩個(gè)存儲(chǔ)節(jié)點(diǎn)(以Host的Bucket),然后以Rack為隔離域,保證兩個(gè)副本分別落在不同的Rack上。
示意圖如下:
1、修改操作
修改前數(shù)據(jù)備份,以防萬一。crushmap備份
# ceph osd getcrushmap -o backup.txt
恢復(fù):
# ceph osd setcrushmap -i backup.txt
2、理論與實(shí)踐相結(jié)合
1)、創(chuàng)建機(jī)柜
ceph osd crush add-bucket rack1 rack
ceph osd crush add-bucket rack2 rack
2)、將rack移動(dòng)到root下
# ceph osd crush move rack1 root=default
# ceph osd crush move rack2 root=default
3)、將主機(jī)移動(dòng)到機(jī)柜中
# ceph osd crush move node1 rack=rack1
# ceph osd crush move node2 rack=rack2
4)、創(chuàng)建rule
# ceph osd crush rule create-simpletestrule default rack firstn
5)、修改已經(jīng)創(chuàng)建pool的rule
luminus 以后版本設(shè)置pool規(guī)則的語法是
# ceph osd pool set demo crush_ruletestrule
luminus以前版本設(shè)置pool規(guī)則的語法是
查看rule的ID
# ceph osd crush rule dump | grep testrule
# ceph osd pool set demo crush_ruleset 1
此處1是指在rule里rule_ id設(shè)置的值
6)、創(chuàng)建pool
# ceph osd pool create demo 64 64replicated testrule
7)、在ceph.conf中加入防止集群重啟crush map被重置
osd crush update on start = false
申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!