分布式存儲(chǔ)之ceph部署搭建

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

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

文件存儲(chǔ)

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

對(duì)象存儲(chǔ)

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

分布式存儲(chǔ)

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

Ceph簡(jiǎn)介

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

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

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

在這里插入圖片描述

Ceph OSDs: Ceph OSD 守護(hù)進(jìn)程( Ceph OSD )的功能是存儲(chǔ)數(shù)據(jù),處理數(shù)據(jù)的復(fù)制、恢復(fù)、回填、再均衡,并通過檢查其他OSD 守護(hù)進(jìn)程的心跳來向 Ceph Monitors 提供一些監(jiān)控信息。當(dāng) Ceph 存儲(chǔ)集群設(shè)定為有2個(gè)副本時(shí),至少需要2個(gè) OSD 守護(hù)進(jìn)程,集群才能達(dá)到 active+clean 狀態(tài)( Ceph 默認(rèn)有3個(gè)副本,但你可以調(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)存儲(chǔ)元數(shù)據(jù)(也就是說,Ceph 塊設(shè)備和 Ceph 對(duì)象存儲(chǔ)不使用MDS )。元數(shù)據(jù)服務(wù)器使得 POSIX 文件系統(tǒng)的用戶們,可以在不對(duì) Ceph 存儲(chǔ)集群造成負(fù)擔(dān)的前提下,執(zhí)行諸如 ls、find 等基本命令。

開始部署工作:

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

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

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

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

2、三臺(tái)服務(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.免密登錄
配置互信(各個(gè)節(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時(shí)間同步
服務(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   #各個(gè)節(jié)點(diǎn)安裝

首先啟動(dòng)主節(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 (三臺(tái)服務(wù)器都要執(zhí)行格式化和掛載)

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

11啟動(dòng)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啟動(dòng)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)建一個(gè)pool存儲(chǔ)池
rdb是存儲(chǔ)池名字,64是pg數(shù)量,pg值計(jì)算參考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測(cè)試
測(cè)試ceph集群在塊存儲(chǔ)下鏡像的創(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)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Ceph簡(jiǎn)介: Ceph是一種為優(yōu)秀的性能、可靠性和可擴(kuò)展性而設(shè)計(jì)的統(tǒng)一的、分布式文件系統(tǒng)。ceph 的統(tǒng)一體...
    WickJohn閱讀 2,156評(píng)論 0 9
  • 概要 本文主要介紹Ceph存儲(chǔ),從架構(gòu)簡(jiǎn)介使用場(chǎng)景,以及內(nèi)部IO流程、心跳機(jī)制、通信框架、CRUSH算法、QOS等...
    木零行閱讀 1,877評(píng)論 0 2
  • Ceph Ceph是一個(gè)可靠、自動(dòng)重均衡、自動(dòng)恢復(fù)的分布式存儲(chǔ)系統(tǒng),根據(jù)場(chǎng)景劃分可以將Ceph分為三大塊,分別是對(duì)...
    杰森斯坦sen閱讀 29,481評(píng)論 1 5
  • 久違的晴天,家長(zhǎng)會(huì)。 家長(zhǎng)大會(huì)開好到教室時(shí),離放學(xué)已經(jīng)沒多少時(shí)間了。班主任說已經(jīng)安排了三個(gè)家長(zhǎng)分享經(jīng)驗(yàn)。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,870評(píng)論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會(huì),身份的轉(zhuǎn)變要...
    余生動(dòng)聽閱讀 10,920評(píng)論 0 11

友情鏈接更多精彩內(nèi)容