分布式存儲之ceph部署搭建

塊存儲:典型設(shè)備卫病;磁盤陣列,硬盤

作用:主要是將裸磁盤空間映射給主機(jī)使用典徘,磁盤陣列(內(nèi)含多塊硬盤)做RAID操作或者LVM操作蟀苛,邏輯劃分出N塊Logic盤并映射給主機(jī)使用,操作系統(tǒng)會識別到N塊硬盤逮诲,但是無法感知到底是邏輯盤還是物理盤帜平,所以還是會對其進(jìn)行分區(qū)和格式化(無法共享數(shù)據(jù))。每塊邏輯盤實(shí)際上是由多塊硬盤共同組成梅鹦,在讀寫數(shù)據(jù)的時候裆甩,幾塊物理硬盤可以并行尋址和操作,大大提高了IO效率齐唆。
優(yōu)點(diǎn):對塊磁盤組成邏輯盤淑掌,讀寫效率增加
缺點(diǎn):相當(dāng)于自己主機(jī)的硬盤,無法進(jìn)行數(shù)據(jù)共享

文件存儲

典型設(shè)備FTP蝶念、NFS服務(wù)器
優(yōu)點(diǎn):客服了塊存儲文件無法共享的問題
缺點(diǎn):讀寫抛腕、傳輸速率低
場景:日志、郵箱媒殉、目錄結(jié)構(gòu)文件存儲
備注:常見的存儲中 NFS担敌、NAS也是屬于文件系統(tǒng)存儲

對象存儲

對象存儲:也叫做基于對象的存儲,是用來描述解決和處理離散單元的方法的通用術(shù)語廷蓉,這些離散單元被稱作為對象全封。
對象存儲經(jīng)常被比作在一家高級餐廳代客停車。當(dāng)一個顧客需要代客停車時桃犬,他就把鑰匙交給別人刹悴,換來一張收據(jù)。這個顧客不用知道他的車被停在哪攒暇,也不用知道在他用餐時服務(wù)員會把他的車移動多少次土匀。在這個比喻中,一個存儲對象的唯一標(biāo)識符就代表顧客的收據(jù)形用。
優(yōu)點(diǎn):綜合了塊讀寫高速就轧、文件共享特性
存儲數(shù)據(jù)類型:指非結(jié)構(gòu)化數(shù)據(jù),如圖片田度、音視頻妒御、文檔等
應(yīng)用場景:即一次寫入多次讀取。

分布式存儲

分布式存儲:是將數(shù)據(jù)分散存儲在多臺獨(dú)立的設(shè)備上镇饺。傳統(tǒng)的網(wǎng)絡(luò)存儲系統(tǒng)采用集中的存儲服務(wù)器存放所有數(shù)據(jù)乎莉,存儲服務(wù)器成為系統(tǒng)性能的瓶頸,也是可靠性和安全性的焦點(diǎn)奸笤,不能滿足大規(guī)模存儲應(yīng)用的需要惋啃。分布式網(wǎng)絡(luò)存儲系統(tǒng)采用可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺存儲服務(wù)器分擔(dān)存儲負(fù)荷揭保,利用位置服務(wù)器定位存儲信息肥橙,它不但提高了系統(tǒng)的可靠性、可用性和存取效率秸侣,還易于擴(kuò)展存筏。
1、高可用性味榛,副本數(shù)靈活控制椭坚,支持故障域分割,數(shù)據(jù)強(qiáng)一致性搏色,沒有單點(diǎn)故障
2善茎、高可擴(kuò)展性
3、特性豐富
簡介:不管你是想為云平臺提供Ceph 對象存儲和/或 Ceph 塊設(shè)備频轿,還是想部署一個 Ceph 文件系統(tǒng)或者把 Ceph 作為他用垂涯,所有 Ceph 存儲集群的部署都始于部署一個個 Ceph 節(jié)點(diǎn)烁焙、網(wǎng)絡(luò)和 Ceph 存儲集群。 Ceph 存儲集群至少需要一個 Ceph Monitor 和兩個 OSD 守護(hù)進(jìn)程耕赘。而運(yùn)行 Ceph 文件系統(tǒng)客戶端時骄蝇,則必須要有元數(shù)據(jù)服務(wù)器( Metadata Server )

Ceph簡介

Ceph是一個統(tǒng)一的分布式存儲系統(tǒng),設(shè)計初衷是提供較好的性能操骡、可靠性和可擴(kuò)展性九火。 Ceph 存儲集群至少需要一個 Ceph Monitor 和兩個 OSD 守護(hù)進(jìn)程。而運(yùn)行 Ceph 文件系統(tǒng)客戶端時册招,則必須要有元數(shù)據(jù)服務(wù)器( Metadata Server )

Ceph優(yōu)點(diǎn)

1. CRUSH算法:
ceph摒棄了傳統(tǒng)的集中式存儲元數(shù)據(jù)尋址的方案岔激,轉(zhuǎn)而使用CRUSH算法完成數(shù)據(jù)的尋址操作。CRUSH在一致性哈鲜顷基礎(chǔ)上很好的考慮了容災(zāi)域的隔離虑鼎,能夠?qū)崿F(xiàn)各類負(fù)載的副本放置規(guī)則
2.高可用:
Ceph中的數(shù)據(jù)副本數(shù)量可以由管理員自行定義,并可以通過CRUSH算法指定副本的物理存儲位置以分隔故障域冀惭,支持?jǐn)?shù)據(jù)強(qiáng)一致性震叙; ceph可以忍受多種故障場景并自動嘗試并行修復(fù)。
3 高擴(kuò)展性:
Ceph不同于swift散休,客戶端所有的讀寫操作都要經(jīng)過代理節(jié)點(diǎn)媒楼。一旦集群并發(fā)量增大時,代理節(jié)點(diǎn)很容易成為單點(diǎn)瓶頸戚丸。Ceph本身并沒有主控節(jié)點(diǎn)划址,擴(kuò)展起來比較容易,并且理論上限府,它的性能會隨著磁盤數(shù)量的增加而線性增長夺颤。
4 特性豐富
Ceph支持三種調(diào)用接口:對象存儲,塊存儲胁勺,文件系統(tǒng)掛載世澜。三種方式可以一同使用。在國內(nèi)一些公司的云環(huán)境中署穗,通常會采用ceph作為openstack的唯一后端存儲來提升數(shù)據(jù)轉(zhuǎn)發(fā)效率寥裂。
Ceph的基本組成結(jié)構(gòu)如下圖:

在這里插入圖片描述

Ceph OSDs: Ceph OSD 守護(hù)進(jìn)程( Ceph OSD )的功能是存儲數(shù)據(jù),處理數(shù)據(jù)的復(fù)制案疲、恢復(fù)封恰、回填、再均衡褐啡,并通過檢查其他OSD 守護(hù)進(jìn)程的心跳來向 Ceph Monitors 提供一些監(jiān)控信息诺舔。當(dāng) Ceph 存儲集群設(shè)定為有2個副本時,至少需要2個 OSD 守護(hù)進(jìn)程,集群才能達(dá)到 active+clean 狀態(tài)( Ceph 默認(rèn)有3個副本低飒,但你可以調(diào)整副本數(shù))许昨。
Monitors: Ceph Monitor維護(hù)著展示集群狀態(tài)的各種圖表,包括監(jiān)視器圖逸嘀、 OSD 圖车要、歸置組( PG )圖、和 CRUSH 圖崭倘。 Ceph 保存著發(fā)生在Monitors 、 OSD 和 PG上的每一次狀態(tài)變更的歷史信息(稱為 epoch )类垫。
MDSs: Ceph 元數(shù)據(jù)服務(wù)器( MDS )為 Ceph 文件系統(tǒng)存儲元數(shù)據(jù)(也就是說司光,Ceph 塊設(shè)備和 Ceph 對象存儲不使用MDS )。元數(shù)據(jù)服務(wù)器使得 POSIX 文件系統(tǒng)的用戶們悉患,可以在不對 Ceph 存儲集群造成負(fù)擔(dān)的前提下残家,執(zhí)行諸如 ls、find 等基本命令售躁。

開始部署工作:

官網(wǎng)指導(dǎo)部署

https://docs.ceph.com/en/latest/cephadm/install/

1.配置基礎(chǔ)環(huán)境
準(zhǔn)備三臺服務(wù)器

192.168.106.100                 ceph-admin  
192.168.106.101                 ceph-node1
192.168.106.1002                ceph-node2

2坞淮、三臺服務(wù)器關(guān)閉防火墻、核心防護(hù)

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i '7s/enforcing/disabled/' /etc/selinux/config

3陪捷、配置hosts

cat   /etc/hosts
192.168.106.100                 ceph-admin  
192.168.106.101                 ceph-node1
192.168.106.1002                ceph-node2

4.免密登錄
配置互信(各個節(jié)點(diǎn))

ssh-keygen  -t  rsa
ssh-copy-id    ceph-node1
ssh-copy-id    ceph-node2

5.配置初始環(huán)境

yum -y install wget curl net-tools bash-completion
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

配置ceph源

cat << EOF > /etc/yum.repos.d/ceph.repo
[ceph]
name=Ceph packages for
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1
[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1
EOF

6回窘、配置NTP時間同步
服務(wù)端:

vim  /etc/chrony.conf
allow 192.168/16 
local stratum 10
systemctl restart chronyd.service

客戶端

vim  /etc/chrony.conf
server 192.168.106.100 iburst
systemctl restart chronyd.service
chronyc sources

7、安裝docker 環(huán)境

yum  -y install  docker-ce
systemctl  restart  docker
systemctl  enable  docker
docker pull ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64   #各個節(jié)點(diǎn)安裝

首先啟動主節(jié)點(diǎn)mon(ceph-admin節(jié)點(diǎn))

docker run -d --net=host --name=mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph:/var/lib/ceph -e MON_IP=192.168.106.100 -e CEPH_PUBLIC_NETWORK=192.168.106.0/24 ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64  mon

若直接使用非xfs文件系統(tǒng)的硬盤市袖,需要在配置文件中加以下配置:
vim /etc/ceph/ceph.conf
osd max object name len = 256
osd max object namespace len = 64
8 拷貝配置文件
scp -r /etc/ceph/ ceph-node1:/etc/
scp -r /etc/ceph/ ceph-node2:/etc/
scp -r /var/lib/ceph ceph-node1:/var/lib/
scp -r /var/lib/ceph ceph-node2:/var/lib/
ceph-node1執(zhí)行
9 創(chuàng)建mon

docker run -d --net=host --name=mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph:/var/lib/ceph -e MON_IP=192.168.106.101 -e CEPH_PUBLIC_NETWORK=192.168.106.0/24 ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64  mon

ceph-node2執(zhí)行

docker run -d --net=host --name=mon -v /etc/ceph:/etc/ceph -v /var/lib/ceph:/var/lib/ceph -e MON_IP=192.168.106.102 -e CEPH_PUBLIC_NETWORK=192.168.106.0/24  ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64  mon

10.掛載osd (三臺服務(wù)器都要執(zhí)行格式化和掛載)

mkdir  /osd0
mkfs.xfs /dev/sdb
mount /dev/sdb  /osd0

11啟動OSD服務(wù)

docker run -d --net=host --name=osd1 -v /etc/ceph:/etc/ceph -v /var/lib/ceph:/var/lib/ceph -v /dev:/dev -v /osd0:/var/lib/ceph/osd --privileged=true ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64 osd_directory        

12在node1啟動mgr:

docker run -d --net=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph/:/var/lib/ceph/ \
ceph/daemon:v3.0.5-stable-3.0-luminous-centos-7-x86_64 mgr

13在ceph中創(chuàng)建一個pool存儲池
rdb是存儲池名字啡直,64是pg數(shù)量,pg值計算參考https://ceph.com/pgcalc/

docker exec mon ceph osd pool create rbd 64

14配置crushmap苍碟,根據(jù)osd數(shù)目酒觅,0.15做相應(yīng)調(diào)整,整體之和不大于1

docker exec mon ceph osd crush add osd.0 0.15 host=admin
docker exec mon ceph osd crush add osd.1 0.15 host=admin

檢查osd tree

docker exec mon ceph osd tree

15微峰、更新crushmap使得節(jié)點(diǎn)都?xì)w屬于root default

docker exec mon ceph osd crush move node0 root=default
docker exec mon ceph osd crush move node1 root=default

16舷丹、檢查ceph運(yùn)行情況
docker exec mon ceph -s


在這里插入圖片描述

17測試
測試ceph集群在塊存儲下鏡像的創(chuàng)建和文件的上傳,如果成功才能說明ceph集群安裝成功

docker exec mon rbd create rbd/test-image --size 100M
docker exec mon rbd info rbd/test-image
docker exec mon rados -p rbd ls
在這里插入圖片描述
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蜓肆,一起剝皮案震驚了整個濱河市颜凯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌症杏,老刑警劉巖装获,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異厉颤,居然都是意外死亡穴豫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來精肃,“玉大人秤涩,你說我怎么就攤上這事∷颈В” “怎么了筐眷?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長习柠。 經(jīng)常有香客問我匀谣,道長,這世上最難降的妖魔是什么资溃? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任武翎,我火速辦了婚禮,結(jié)果婚禮上溶锭,老公的妹妹穿的比我還像新娘宝恶。我一直安慰自己,他們只是感情好趴捅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布垫毙。 她就那樣靜靜地躺著,像睡著了一般拱绑。 火紅的嫁衣襯著肌膚如雪综芥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天欺栗,我揣著相機(jī)與錄音毫痕,去河邊找鬼。 笑死迟几,一個胖子當(dāng)著我的面吹牛消请,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播类腮,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼臊泰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蚜枢?” 一聲冷哼從身側(cè)響起缸逃,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤右蹦,失蹤者是張志新(化名)和其女友劉穎舍败,沒想到半個月后百宇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贞远,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年鹦马,在試婚紗的時候發(fā)現(xiàn)自己被綠了忙干。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辕翰。...
    茶點(diǎn)故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖挪丢,靈堂內(nèi)的尸體忽然破棺而出蹂风,到底是詐尸還是另有隱情,我是刑警寧澤乾蓬,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布惠啄,位于F島的核電站,受9級特大地震影響任内,放射性物質(zhì)發(fā)生泄漏撵渡。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一死嗦、第九天 我趴在偏房一處隱蔽的房頂上張望姥闭。 院中可真熱鬧,春花似錦越走、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至门怪,卻和暖如春骡澈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掷空。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工肋殴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人坦弟。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓护锤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親酿傍。 傳聞我的和親對象是個殘疾皇子烙懦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評論 2 353

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

  • 一、Ceph簡介: Ceph是一種為優(yōu)秀的性能赤炒、可靠性和可擴(kuò)展性而設(shè)計的統(tǒng)一的氯析、分布式文件系統(tǒng)。ceph 的統(tǒng)一體...
    WickJohn閱讀 2,053評論 0 9
  • 概要 本文主要介紹Ceph存儲莺褒,從架構(gòu)簡介使用場景掩缓,以及內(nèi)部IO流程、心跳機(jī)制遵岩、通信框架你辣、CRUSH算法、QOS等...
    木零行閱讀 1,780評論 0 2
  • Ceph Ceph是一個可靠、自動重均衡绢记、自動恢復(fù)的分布式存儲系統(tǒng)扁达,根據(jù)場景劃分可以將Ceph分為三大塊,分別是對...
    杰森斯坦sen閱讀 29,332評論 1 5
  • 久違的晴天蠢熄,家長會跪解。 家長大會開好到教室時,離放學(xué)已經(jīng)沒多少時間了签孔。班主任說已經(jīng)安排了三個家長分享經(jīng)驗叉讥。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,521評論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友饥追。感恩相遇图仓!感恩不離不棄。 中午開了第一次的黨會但绕,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,562評論 0 11