ceph存儲(chǔ)使用手冊(cè)_第1頁(yè)
ceph存儲(chǔ)使用手冊(cè)_第2頁(yè)
ceph存儲(chǔ)使用手冊(cè)_第3頁(yè)
ceph存儲(chǔ)使用手冊(cè)_第4頁(yè)
ceph存儲(chǔ)使用手冊(cè)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

ceph存儲(chǔ)使用手冊(cè)

前言:

1.藍(lán)色字體表示命令行命令,正式執(zhí)行時(shí)不要復(fù)制前面的#號(hào),#號(hào)只是提示應(yīng)該使用root權(quán)限操作

2.綠色字體表示注稱,有時(shí)注顆太多就不用綠色表示了

3.注意:本文檔的所有操作請(qǐng)先在測(cè)環(huán)境進(jìn)行實(shí)踐,請(qǐng)不要直接在真實(shí)的服務(wù)器中操作!

版權(quán)聲明:

本文檔以開(kāi)源的形式發(fā)布,所有條款如下:

1.無(wú)擔(dān)保:作者不保證文檔內(nèi)容的準(zhǔn)確無(wú)誤,亦不承擔(dān)由于使用此文檔所導(dǎo)致的任何后果

2.白由使用:任何人可以出廠任何目的而白由地閱讀/鏈接/打印/轉(zhuǎn)載/引用/再創(chuàng)作此文檔,無(wú)需任何附加條件

若您閱讀/鏈接/打印/轉(zhuǎn)載/引用/再創(chuàng)作本文檔,則說(shuō)明接受以上2個(gè)條款,

作者:李茂福

更新日期:2023年10月31U

★第。章、ceph各版本發(fā)布時(shí)間

ceph官網(wǎng);

版本查看:

代號(hào)版本發(fā)布日期EOL日期對(duì)應(yīng)紅帽ceph

Dumpling40.67.112013-08-012015-05-01

Emperor50.72.22013-11-012014-05-01

Firefly60.80.112014-05-012016-04-01

Giant70.87.22014-10-012015-04-01

Haimner80.94.102015-04-012017-08-01

Infcrnalis92015-11-012016-04-01

Jewel102016-04-012018-07-01rhcs2

Kraken112017-01-012017-08-01

Luminous122017-08-012020-03-01rhcs3命令與前面版本開(kāi)始有差異了

Mimic132018-06-012020-07-22

Nautilus1-12019-03-192021-06-30rhcs4開(kāi)始支持自動(dòng)調(diào)整PG數(shù)量

Octopus152020-03-232022-08-09開(kāi)始支持使用cephadm部署

Pacific162021-03-312023-10-01rhcs5

Quincy172022-04-192024-06-01

Reef182023-08-072025-08-01

19

從Hammer之后版本命名使用新的命名策略,之前一直是0.2,0.3,0.x

主版本號(hào)為8,9,10……,次版本號(hào)0表示開(kāi)發(fā)版,1表示候選版,2表示穩(wěn)定版

在Octopus版本后使用cephadm來(lái)部署ceph集群,如果使用cephadm部署,在后期新的版本升級(jí)時(shí),可以做到完全

自動(dòng)化,并可以通過(guò)ceph-Wcephadm查看升級(jí)進(jìn)度,升級(jí)完成后,無(wú)法降圾,升級(jí)時(shí)請(qǐng)不要跨版本升級(jí)

★第1章、ceph各組件及原理

網(wǎng)絡(luò)存儲(chǔ)類(lèi)型:

存儲(chǔ)服務(wù)類(lèi)型存儲(chǔ)類(lèi)型

NFS,Samba,CephFSNAS(NetworkAttackedStorage)目錄共享(文件系統(tǒng))

iSCSI,RBDSAN(StorageAreaNetwork)塊設(shè)備,磁盤(pán)分區(qū)、Ivm邏輯卷、文件i。共享

aws-S3tceph-RGWOBS(ObjectStorageService)對(duì)象存儲(chǔ),以桶(bucket)來(lái)組織文件對(duì)象

Ceph是一個(gè)開(kāi)源的分布式存儲(chǔ)系統(tǒng).可提供對(duì)象存儲(chǔ)、塊設(shè)備、文件系統(tǒng)的存儲(chǔ)服務(wù)

ceph是一個(gè)對(duì)象(object)式存儲(chǔ)系統(tǒng),它把每一個(gè)待管理的數(shù)據(jù)流(文件等數(shù)據(jù))切割為若干個(gè)固定大小(默認(rèn)4MB)

的對(duì)象數(shù)據(jù),并以其為原子單元完成數(shù)據(jù)的讀寫(xiě)。

對(duì)象數(shù)據(jù)的底層存儲(chǔ)服務(wù)是由多個(gè)存儲(chǔ)主機(jī)(host)組成的存儲(chǔ)集群,該集群也被稱為RADOS存儲(chǔ)集群

RADOS(reliableautomaticdistributedobjectstore)?即可靠的、自動(dòng)化的、分布式的存儲(chǔ)集群

★ceph的構(gòu)成

pool存儲(chǔ)池,存儲(chǔ)池的大小取決于底層的存儲(chǔ)空間大小(所有osd對(duì)應(yīng)的磁盤(pán)的空間之和)

PG(PlacementGroup)放置組,PG是組成存儲(chǔ)池的基本單位。—個(gè)pool內(nèi)部可以有多個(gè)PG存在,

一個(gè)pool中有多少個(gè)PG可以通過(guò)公式計(jì)算。同一個(gè)PG內(nèi)的所有對(duì)象都會(huì)放到相同的磁盤(pán)上。

一個(gè)對(duì)象只能屬于一個(gè)PG,多副本情況下一個(gè)PG對(duì)應(yīng)多人osd

OSD(ObjectStorageDaemon)存儲(chǔ)守護(hù)進(jìn)程,ceph集群通過(guò)管理OSD來(lái)管理物理硬盤(pán),服務(wù)器上的每

一塊數(shù)據(jù)盤(pán)都會(huì)相應(yīng)地去運(yùn)行?個(gè)OSD進(jìn)程。-個(gè)osd對(duì)應(yīng)?個(gè)數(shù)據(jù)磁盤(pán)。

ceph-Mon(Monitor)ceph監(jiān)視器,維護(hù)OSD和PG的集群狀態(tài),,個(gè)ceph集群至少要有?個(gè)mon,可以是

奇數(shù)個(gè)數(shù)量的mon進(jìn)程實(shí)例,如一三五七等。每臺(tái)服務(wù)器只起一個(gè)mon進(jìn)程

ceph-MgrCephManager守護(hù)程序負(fù)責(zé)跟蹤運(yùn)行時(shí)指標(biāo)和Ceph集群的當(dāng)前狀態(tài),包括存儲(chǔ)利用率,當(dāng)前性能

指標(biāo)和系統(tǒng)負(fù)載。CephManager守護(hù)程序還托管基于python的模塊來(lái)管理和公開(kāi)Ceph集群信息,

包括基于Web的Ceph儀表板和RESTAPI。高可用性通常至少需要兩個(gè)mgr管理器。mgr組件不是

必須的,只有需要查看信息狀態(tài)時(shí)才部署mgr實(shí)例。

MDSceph元數(shù)據(jù)服務(wù)器,代表ceph文件系統(tǒng)(NFS/CephFS)存儲(chǔ)元數(shù)據(jù),(即Ceph塊設(shè)備和Ceph對(duì)

象存儲(chǔ)不使用MDS)

Ceph管理節(jié)點(diǎn)ceph的常用管理接口是?組命令行工具程序,例如rados、ceph、rbd等命令;安裝了ceph-common

工具命令的節(jié)點(diǎn)為管理節(jié)點(diǎn),同時(shí)在ceph里將此節(jié)點(diǎn)標(biāo)記為_(kāi)admin

libradosRADOS存儲(chǔ)集群的API,支持大多數(shù)編程語(yǔ)言客戶端調(diào)用

OSD

osd負(fù)責(zé)處理集群數(shù)據(jù)的更制、恢更、回填、再均衡,并向其他。sd守護(hù)進(jìn)程發(fā)送心跳,然后向Mon提供一些監(jiān)控信

息。當(dāng)Ceph存儲(chǔ)集群設(shè)定數(shù)據(jù)有兩個(gè)副本時(shí)《一共存兩份),則至少需要三個(gè)O5D守護(hù)進(jìn)程即三個(gè)OSD節(jié)點(diǎn),集群

才能達(dá)到active+clean狀態(tài),實(shí)現(xiàn)冗余和高可用。

在Ceph中,如果要寫(xiě)數(shù)據(jù),只能向主OSD寫(xiě),然后再由主OSD向從OSD同步地寫(xiě),只有當(dāng)從OSD返回結(jié)果給主OSD

后,主OSD才會(huì)向客戶端報(bào)告寫(xiě)入完成的消息。如果要讀數(shù)據(jù),不會(huì)使用讀寫(xiě)分離,而是也需要先向主OSD發(fā)請(qǐng)求,

以保證數(shù)據(jù)的強(qiáng)一致性。

OSD權(quán)重是主/從OSD節(jié)點(diǎn)的選擇的唯一標(biāo)準(zhǔn),而權(quán)重又以對(duì)應(yīng)硬盤(pán)剩余存儲(chǔ)容量作為唯一決定因素,所以滋盤(pán)剩余

存儲(chǔ)容量是數(shù)據(jù)分布和讀寫(xiě)操作中選擇主次OSD的唯一決定因素

Monitor

用于維護(hù)集群狀態(tài)映射(maintainsmapsofthedusterstate),比如ceph集群中有多少存儲(chǔ)池、每個(gè)存儲(chǔ)池有多少PG

以及存儲(chǔ)池和PG的映射關(guān)系等;此外監(jiān)視器還負(fù)責(zé)管理守護(hù)程序和客戶端之間的身份驗(yàn)證(認(rèn)證使用cephx協(xié)議),

通常至少需要三個(gè)監(jiān)視器才能實(shí)現(xiàn)冗余和高可用性

CRUSH算法

(Controllersreplicationunderscalablehashing)可控的、可復(fù)制的、可伸縮的一致性hash算法

Ceph使用CRUSH算法來(lái)存放和管理數(shù)據(jù),Ceph使用CRUSH算法來(lái)準(zhǔn)確計(jì)算數(shù)據(jù)應(yīng)該被保存到哪里,以及應(yīng)該從哪里

讀取。和俁存元數(shù)據(jù)不同,是CRUSH按需計(jì)算出元數(shù)據(jù),因此它就消除了對(duì)中心式的服務(wù)器/網(wǎng)關(guān)的需求,它使得Ceph

客戶端能夠計(jì)算出元數(shù)據(jù),該過(guò)程也稱為CRUSH查找,然后和OSD直接通信。

如果是把對(duì)象直接映射到OSD之上會(huì)導(dǎo)致對(duì)象與OSD的對(duì)應(yīng)關(guān)系過(guò)于緊密和耦合,當(dāng)OSD由于故障發(fā)生變更時(shí)將會(huì)對(duì)

整個(gè)ceph集群產(chǎn)生影響。于是ceph將?個(gè)對(duì)象映射到RADOS集群的時(shí)候分為兩步走:

首先使用一致性hash嵬法將對(duì)象名稱映射到PG,

然后將PGID基于CRUSH算法映射到OSD即可查到對(duì)象

★Ceph相較于其他存儲(chǔ)方案的優(yōu)勢(shì)

CRUSH算法:

CURSH是ceph的兩大創(chuàng)新之一(另一大就是去中心化),ceph摒棄了傳統(tǒng)的集中式存儲(chǔ)元數(shù)據(jù)尋址的方案,轉(zhuǎn)而

使用CRUSH算法計(jì)算的方式完成數(shù)據(jù)的尋玨操作

crush算法有強(qiáng)大的擴(kuò)展性(即高擴(kuò)展性),理論上支持上千個(gè)存儲(chǔ)節(jié)點(diǎn)規(guī)模

高可用:

數(shù)據(jù)副本數(shù)可以靈活調(diào)整

可以通過(guò)crush算:法指定副本的物理存放位置以分割故障域,支持?jǐn)?shù)據(jù)強(qiáng)一致性

支持多種故障場(chǎng)景自動(dòng)嘗試進(jìn)行修復(fù)

支持多份強(qiáng)一致性副本,副本能夠垮主機(jī)、機(jī)架、機(jī)房、數(shù)據(jù)中心存放,安全可靠

存儲(chǔ)節(jié)點(diǎn)可以自管理、自動(dòng)修復(fù)。無(wú)單點(diǎn)故障,容錯(cuò)性強(qiáng)

高性能:

因?yàn)槭嵌鄠€(gè)副本,因此在讀寫(xiě)操作時(shí)能夠做到高度并行化,理論上,節(jié)點(diǎn)越多,整個(gè)cpeh集群的IOPS和吞吐量

就越高

ceph客戶端讀寫(xiě)數(shù)據(jù)可直接與存儲(chǔ)設(shè)備OSD交互,在塊存儲(chǔ)和對(duì)象存儲(chǔ)中無(wú)需元數(shù)據(jù)MDS服務(wù)

特性豐富:

支持三種存儲(chǔ)接口:對(duì)象存儲(chǔ),塊存儲(chǔ),文件存儲(chǔ)

支持自定義接口,支持多種語(yǔ)言驅(qū)動(dòng)

Sceph上層接口

基于UBRADOS層開(kāi)發(fā)的三個(gè)接I」,其作用是在librados庫(kù)的基礎(chǔ)上提供抽象層次更高、更便于應(yīng)用或客戶端使用的上

層接口。

①RADOSGW(簡(jiǎn)稱RGW)提供對(duì)象存儲(chǔ)服務(wù),是一套基于RESTFUL協(xié)議的網(wǎng)關(guān),支持對(duì)象存儲(chǔ),兼容S3和Swift

②RBD提供分布式的塊存儲(chǔ)設(shè)備接口,主要面向虛擬機(jī)提供虛擬磁盤(pán),可以被映射、格式化,像磁盤(pán)?樣掛載到服務(wù)

器使用。

③CephFS是一個(gè)POSIX兼容的分布式文件系統(tǒng),依賴MDS來(lái)跟蹤文件層次結(jié)構(gòu),基于librados封裝原生接口,它跟傳

統(tǒng)的文件系統(tǒng)如Ext4是?個(gè)類(lèi)型的,區(qū)別在于分布式存儲(chǔ)提供了并行化的能力,像NFS等也是屬于文件系統(tǒng)存儲(chǔ)

★ceph底層存儲(chǔ)過(guò)程

無(wú)論使用哪種存儲(chǔ)方式(對(duì)象,塊,文件),存儲(chǔ)的數(shù)據(jù)在底層保存時(shí),都會(huì)被切分成一個(gè)個(gè)大小固定的對(duì)象(Objects),

對(duì)象大小可以由管理員自定義調(diào)整,RADOS中基本的存儲(chǔ)單位就是Objects,一般為2MB或4MB(最后一個(gè)對(duì)象大小

有可能不同)

文件X|1001111|1101111|1100111|1010001|1111100

將文件xx切割為大

|object-1object-2object-3object-4

小相同的Object

回配到@

PG-2

將Object放object-11111100111110":.,101111

.........-]object-3o切ect-2

置到PG里

object-4object-xx

每個(gè)PG存儲(chǔ)

在相應(yīng)的

OSD里

文件(File)被切割成大小固定的Objects(每個(gè)默認(rèn)4MB),再根據(jù)對(duì)象的id進(jìn)行hash計(jì)算,得到的結(jié)果對(duì)pg個(gè)數(shù)

取余,將這些對(duì)象分配到對(duì)應(yīng)的PG中,然后各個(gè)PG會(huì)通過(guò)CRUSH黨法分配到對(duì)應(yīng)的osd上(每個(gè)PG:一副本就復(fù)

制相同的數(shù)據(jù)(object)到對(duì)應(yīng)的1個(gè)osd上,兩副本就復(fù)制到對(duì)應(yīng)的2個(gè)osd上,依此類(lèi)推)

Hpg數(shù)量計(jì)算公式

TotalPGs=(Total_OSD_number*TargetPGsperOSD)/max_replication_count/pool_count

(TargetPGsperOSD如果osd將來(lái)不擴(kuò)展則置100,將來(lái)擴(kuò)展則置200)

即:總PG數(shù)=總。sd數(shù)量*每osd目標(biāo)pg數(shù)量/最大文件副本數(shù)/pod數(shù)量

例:

24個(gè)磁盤(pán),將來(lái)不擴(kuò)展(100),最大副本3,pool數(shù)量8,則總pg數(shù)為

TotalPGs=24x100/3/8=100

常用值(3副本數(shù)):

pg數(shù)量osd數(shù)量(將來(lái)不增加)osd數(shù)量(將來(lái)增加)

1283.841.92

2567.683.84

51215.367.68

1024307215.36

204861.4430.72

4096122.8861.44

大于50個(gè)。sd,建議手動(dòng)計(jì)算

★從Nautilus版本開(kāi)始,支持自動(dòng)擴(kuò)展pg數(shù)量,不需要再手動(dòng)指定了。

pg_autoscaler模塊最早在Nautilus(14.x)版木中引入,pg_autoscaler可以根據(jù)池使用情況和用戶設(shè)置的調(diào)整來(lái)自動(dòng)調(diào)

整集群中PG放置組的數(shù)量。

★第2章、centos-stream8安裝ceph集群

★規(guī)劃及部署

官方指導(dǎo)文檔:

①規(guī)劃主機(jī)名及ip

ceph服務(wù)器使用固定ip地址,配置主機(jī)名,要求能解析相應(yīng)的主機(jī)名到對(duì)應(yīng)的ip地址,可以使用內(nèi)網(wǎng)集群的dns服務(wù)

器或?qū)懭?etc/hosts文件里。操作系統(tǒng)用centos-stream-8RockyLinux8,它們用的軟件源是一樣的

主機(jī)名ip角色操作系統(tǒng)

1mon,mgr,osd,bootstrapcentos-stream-8或rocky8

2mon,mgr,osd,rgw,mdscentos-stream-8或rocky8

3mon,mgr,osd,rgw,mdscentos-stream-8或rocky8

#cat?/etc/hosts?EOF

1cephl

2ceph2

3ceph3

EOF

#hostnamectlset-hostnamecephl.cof-leG.com

②配置時(shí)間同步

一定要配置ntp時(shí)間同步,可用chronyd服務(wù)或ntpd

#yuminstallchrony-y

#systemctIenablechronyd

#systemctlstartchronyd

#vi/etc/:hrony.conf

server1C.99.1.246iburstprefer學(xué)配置可訪問(wèn)的ntp服務(wù)器

#systemctlrestartchronyd

#chronycsources-v

③安裝依賴包

#yuminstallpython3Ivm2-y

ttyuminstallpodman-y什如果不想用podman,也可用docker-ce

以上操作在3臺(tái)節(jié)點(diǎn)上都要操作,以下只用在cephl節(jié)點(diǎn)上操作(安裝cephadm進(jìn)行bootstrap初始化)

④配置cephadm軟件倉(cāng)庫(kù)并安裝cephadm工具

#yuminstallepel-release-y

#yumsearchrelease-ceph#在自帶的Extras倉(cāng)庫(kù)里

#yuminstallcentos-release-ceph-quincy.noarch-y#自動(dòng)安裝了ceph-repo倉(cāng)庫(kù):

#catCentOS-Ceph-Quincy.repo

[centos-ceph-quincy]

name=Cen:OS-$stream-CephQuincy

mirrorlist=$stream&arch=$basearch&repo=storage-ceph-quincy

#baseurl=$contentdir/$stream/storage/$basearch/ceph-quincy/

gpgcheck=l

enabled=l

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Storage

#或者手動(dòng)指定aliyun的源(本例中使用ceph-quincy版本)

#cat>/etc/yum.repos.d/cephadm-quincy-aliyun.repo?EOF

[cephadm]

name=cephadm

baseurl=

enabled=l

gpgcheck=O

EOF

#yumsearchcephadm--showduplicates

#yuminstallcephadm-y

#yuminstallcephadm-2:17.2.6-3.el8s.noarch-y#安裝時(shí)指定版本號(hào),如果有多個(gè)版本的話

⑤初始化第一臺(tái)ceph節(jié)點(diǎn)

#cat/usr/sbin/cephadm|grep[IMAGE="#杳看默認(rèn)鏡像名稱

cephadmiquincy版本)初始化過(guò)程中默認(rèn)會(huì)去卜.載以卜.容器鏡像:

quay.io/ceph/ceph:vl7

quay.io/ceph/ceph-grafana:8.3,5

quay.io/prometheus/prometheus:v2.33.4

quay.io/prometheus/node-exporter:vl.3.1

quay.io/prometheus/alertmanager:v0.23.0

如果需要使用內(nèi)網(wǎng)的私有鏡像倉(cāng)庫(kù),需要將內(nèi)部鏡像倉(cāng)庫(kù)域名設(shè)置為quay」。,或者將quay」。解析到內(nèi)部的鏡像倉(cāng)庫(kù)地

址(暫時(shí)沒(méi)找到修改默認(rèn)鏡像前綴的方法)。且在podman或docker里設(shè)置信任私有鏡像倉(cāng)庫(kù)的ssl證書(shū):

★podman設(shè)置信任私有鏡像倉(cāng)庫(kù)(不需要重啟podman服務(wù))

#cat>/etc/containers/registries.conf?EOF

unqualified-search-registries=["quay.io"]

short-name-mode="permissive"

[[registry]]

insecure=true

prefix="quay.io"

location="quay.io"

EOF

★如果使用docker則設(shè)置信任私有鏡像倉(cāng)庫(kù)(需要重啟docker服務(wù))

#cat>/etc/docker/daemon.json?EOF

(

"experimental":true,

"exec-opts":["native.cgroupdriver=systemd

"insecure-registries":["quay.io"]

)

EOF

#systemctldaemon-reload

#systemctlrestartdocker

#cat?/etc/hosts?EOF

#添加內(nèi)部鏡像倉(cāng)庫(kù)地址解析

46quay.io

EOF

★初始化命令

#cephadmbootstrap-mon-ip1-allow-fqdn-hostname#部署第一臺(tái)ceph節(jié)點(diǎn)(bootstrap)如果

僅需要在單機(jī)主部署ceph,則需要帶上參數(shù)-single-host-defaults如果本地鏡像倉(cāng)庫(kù)需要驗(yàn)證身份,則使用以卜.參數(shù)

-registry-url-registry-usernameuserxx-registry-passwordpasswdxx

#cephadmshell-ceph-s#創(chuàng)建容器并在容器里執(zhí)行命令,默認(rèn)只有容器里有ceph命令

#yuminstallceph-common-y#安裝ceph命令,在cephadn的軟件倉(cāng)庫(kù)里有

#cephorchhostIs#查看集群主機(jī)___________________________________________________

HOSTADDRLABELSSTATUS

1_admin

#cephversions#杳看集群版本

★安裝完成或添加新節(jié)點(diǎn)后,會(huì)自動(dòng)配置防火墻

首結(jié)點(diǎn):

servicescephceph-mon

ports:9283/tcp8443/tcp9093/tcp9094/tcp3000/tcp9100/tcp9095/tcp

新加結(jié)點(diǎn):

services:cephceph-mon

ports:443/tcp9283/tcp9100/tcp

★添加其他ceph節(jié)點(diǎn)

#其他節(jié)點(diǎn)也要添加hosts解析指向quay.io,以及配置podman/docker信任私有鏡像倉(cāng)庫(kù)

#cephcephadmget-pub-key>~/cephpub

#ssh-copy-id-f-i~/ceph.pub#復(fù)制ceph使用的公鑰到口標(biāo)主機(jī)

#ssh-copy-id-f-i~/ceph.pub

#cephorchhostadd2#主機(jī)名稱和ip要對(duì)應(yīng)得上

#cephorchhostadd3

#cephorchhostlabeladd_admin#將_2(^171小標(biāo)卷添加到指定主機(jī),任何具有_admin

標(biāo)簽的主機(jī)都將獲得/etc/ceph/ceph.conf^n/etc/ceph/ceph.client.admin.keyring文件

★修改時(shí)間差異閾值告警

#cephhealth#查看健康狀態(tài)

#cephconfiggetmonmon_clock_drift_allowed#查看時(shí)間差閾值(默認(rèn)大于0.05秒就告警)

#cephconfigsetmonmon_clock_drift_allowed0.5#設(shè)置時(shí)差閾值告警時(shí)間為0.5秒

★配置dashboard

#cephdashboardac-user-showadmin

#echo"passwdxxyy">pass.txt

#cephdashboardac-user-set-passwordacmin-ipass.txt#設(shè)置dashboard的admin賬號(hào)密碼

#cephmgrmoduleenabledashboard

#cephmgrmoduleIs#查看dashboard是否啟動(dòng)

#cephmgrservices#查看dashboard監(jiān)聽(tīng)端口,儀表板功能由mgr組件提供

"dashboard":":8443/",

"prorretheus":":9283/"

★配置full_ratio參數(shù)

#cephosdset-full-ratio0.97#設(shè)置full閾值

#cephosdset-nearfull-ratio0.80

#cephosddump|grepratio

★★配置集群網(wǎng)絡(luò)

使用cephadmbootstr叩命令的--cluster-retworkx.x.x.x/24參數(shù)在集群bootstrap階段指定cluster網(wǎng)絡(luò)

當(dāng)然,如果在bootstrap的時(shí)候沒(méi)有指定,后期也可以修改

#cephconfiggetmonpublic_network#還可查看mgr,mds等服務(wù)的相應(yīng)網(wǎng)絡(luò)

#cephconfiggetmoncluster_network

#cephconfiggetosdpublic_network

#cephconfiggetosdcluster_network

#cephconfigdump|grepnetwork#杳看所有關(guān)于網(wǎng)絡(luò)的配置

#cluster網(wǎng)名各的作用:subnettouseforclusterreplication,recoveryandheartbeats(inCIDRnotationnetwork/mask)

★ceph集群組網(wǎng)方案設(shè)計(jì):

存儲(chǔ)節(jié)點(diǎn)有4個(gè)網(wǎng)口,客戶端節(jié)點(diǎn)有2個(gè)網(wǎng)口,交換機(jī)使用分布式網(wǎng)關(guān)組網(wǎng),服務(wù)器網(wǎng)口規(guī)劃:

ethl管理前端monpublic_network/24bond42*lGbit/s

eth2數(shù)據(jù)前端osdpublic_network/24bond42*40G/100G

eth3管理后端moncluster_network/24bond42*lGbit/s

eth4數(shù)據(jù)后端osdcluster_network/24bond42*40G/100G

存儲(chǔ)public和duster網(wǎng)絡(luò)前后端分離方案,

數(shù)據(jù)前端public網(wǎng)絡(luò),40G/W0G

管理用1G以太網(wǎng),數(shù)據(jù)用40G/100G光纖

ceph存儲(chǔ)2…client

(eth2(eth2:

:eth1)緘前端publiceth1數(shù)據(jù)前端public

管理前端public管理前端public

(eth3)(eth4:

管理后端cluster數(shù)窟后端cluster,

數(shù)據(jù)后端cluste網(wǎng)絡(luò),40G/100G

管理^端duster網(wǎng)絡(luò),1G

管理前端public網(wǎng)絡(luò),1G

#設(shè)置網(wǎng)絡(luò)命令:

#cephconfigsetmonpublic_network/24#供客戶端身份驗(yàn)證及獲取集群信息用的

#cephconfigsetmoncluster_network/24

#cephconfigsetosdpublic_network/24#供客戶端訪問(wèn)數(shù)據(jù)用的

#cephconfigsetosdcluster_network/24

★第3章、高可用配置

★部署mon/mgr服務(wù)到節(jié)點(diǎn)

mon組件為必要組件,部署數(shù)量為奇數(shù)個(gè),比如1,3,5,7

mgr組件為非必要組件,如果要監(jiān)測(cè)狀態(tài)信息及使用dashboard面板,則部署,高可用建議部署2個(gè)及以上數(shù)量

#cephorchIs#查看服務(wù)組件基礎(chǔ)情況,mgr?提供dashboard功能

#cephorchapplymon,,#將mon部署到這3臺(tái)上

#cephorchapplymgr,,#將mgr部署至ij這3臺(tái)上

#cephorchIs#查看服務(wù)組件基礎(chǔ)情況

[root0cephl~]#cephorchNN1NG

NAMEPORTS1/1REFRESHEDAGEPLACEMENT

alertmanager?:9093,90943/344sago61802scount:1

ceph-exporter3/32mago61805s

crash1/12mago51866s

grafana?:30003/344sago61803scount:1

mgr3/32mago2mcephl.cof-lee.com;ceph2.cof-lee.com;ceph3.cof-lee.com

mon3/32mago5mceph1.cof-lee.com;ceph2.cof-lee.com;ceph3.cof-lee.com

node-exporter?:910062mago61803s

osd.all-avaliable-devices2mago38m

#cephorchps|grepmgr#查看mgr進(jìn)程(一個(gè)服務(wù)進(jìn)程對(duì)應(yīng)一個(gè)docker容器)

[root@cephl~]#cephorchps||grepmgr1

mgr.cephl.xmxiigcephl.co*:9283running(5h)23sago23h67IM

ir.ceph2.ixfzxmceph2.co*:8443,9283running(94s)57sago94s413M

#cephorchdaemonrestartmgr.cephl.xmxiig#重啟cephl上的mgr進(jìn)程

★添加osd

#cephosdstatus#查看0$<1狀態(tài)

#cephorchdaemonaddosd:/dev/vdb,/dev/vdc,dev/vdd#手動(dòng)添加0sd

#cephorchapplyosd-all-available-devices#將集群中所有未使用的磁盤(pán)添加進(jìn)來(lái),開(kāi)啟此功能后,集群

中的主機(jī)二插入新磁盤(pán)時(shí),會(huì)自動(dòng)將新的磁盤(pán)(干凈可用的,無(wú)分區(qū)的磁盤(pán))添加到集群中,自動(dòng)創(chuàng)建相應(yīng)osd進(jìn)程

★查看osd對(duì)應(yīng)的磁盤(pán)

#方法1,登錄dashboard查看:Cluster-*PhysicalDisks

OcephEnglish-4:⑦.??

DashboardCluster>PhysicalDisks

Clusterv

PhysicalDisks

Hosts

S|?IdentifyI

e0?10

PhysicalDtsKsTHosname■An

rtostname1g0?viceparwTyp?zAV3H3DI?WvenoorZMOMIzSIMWOSDSZ

Mondors

cephlcof-leecom/dev/sdbVMware.VMwareVirtualS20GIB

Services

cephlcof-leecom/dev/sdcVMware.VMwareVirtualS20GiB

OSDs

cephlcof-leecom**dev/sddVMware,VMwareVirtualS20GiB

Iceph2cof-leecom

Configurabon-dev/sdbVMware.VMwareVirtualS20GiB■【】

CRUSHmapceph2cof-leecom/dev/sdcVMware,VMwareVirtualS20GiB

#方法2,命令行查看:先查看目標(biāo)osd的id.以及目標(biāo)。sd在哪個(gè)節(jié)點(diǎn)上

cephosdtree

cephosddump|grep"osd\.0"|awk'{print$NF}'

147ef2bb-a717-4d0d-9be5-bf9ed23e895citosd的id

#再到目標(biāo)打點(diǎn)查看

Osd_id=147ef2bb-a717-4d0d-9be5-bf9ed23e895c

osd_vg=$(l1/s|grep${osd_id}|awk,{print$2}')

pvs|greo${osd_vg)|awk'{print$l}'

/dev/sdb#查詢結(jié)果

#方法3,命令行查看:先查看目標(biāo)osd在哪個(gè)H,點(diǎn)匕以及ceph集群id

cephosdtree

ceph-s|grepid|awk'{print$2}'

0eeaa2be-6aa5-llee-8c6d-000c2943fd34

#再到目標(biāo)節(jié)點(diǎn)操作

fsid=0eeaa2be-6aa5-llee-8c6d-000c2943fd34

lvm_map=$(ls-I/var/lib/ceph/${fsid}/osd.O/block|awk-F'{print$NF}')

Isblk|grep-Bl${lvm_map}|grepdsk|awk'{print$l}'

sdb#查詢結(jié)果

★移除osd

(1)移除正常的。sd

#cephosdtree#查看目標(biāo)osd的WEIGHT權(quán)重

#cephosdcrushreweightosd.O0才降低osd的權(quán)重為0,讓數(shù)據(jù)自動(dòng)遷移到其他osd

#cephosdsafe-to-destroyosd.O#查看。sd是否可安全移除(拔出硬盤(pán))____________________

OSD(s)0aresafetodestroywithoutreducingdatadurability.#可安全移除此osd1

#cephorchapplyosd-all-available-devices-unmanaged=true#先禁止自動(dòng)添加osd

#cephorchdaemonstoposd.O#停止目標(biāo)。sd進(jìn)程

#cephorchps|greposd\.0#確認(rèn)狀態(tài)為stopped再刪除此daemon

#cephorchdaemonrmosd.O-force#刪除daemon,會(huì)自動(dòng)清除cephauth

#cephosdrmosd.O#刪除osdmap

#cephosdcrushremoveosd.O#刪除crushmap

#cephauthIs|greposd\.0#有則刪除,沒(méi)有即可(刪除daemon后,已自動(dòng)清除cephauth)

#cephorchdevicezap/dev/sdb-force#最后清除磁盤(pán)上的Ivm信息

#拔除磁盤(pán)后,再打開(kāi)-all-available-devices

#cephorchapplyosd-all-available-devices-unmanaged=false

(2)移除故障的。sd

#cephorchps|greposd\.0。狀態(tài)為error(由于磁盤(pán)損壞或意外拔除導(dǎo)致的)

#cephorchdaemonrmosd.O-force#刪除daemon后,已自動(dòng)清除cephauth

#cephosdrmosd.O

#cephosdcrushremoveosd.O

#cephauthIs|greposd\.0#有則刪除,沒(méi)有即可(刪除daemon后,已自動(dòng)清除cephauth)

#或者將osddaemon刪除后,一次性清除osd的crushmap?cephauth,osdmap

#cephosdpurgeosd.O-yes-i-really-mean-it#——次性清除osd的crushmap,cephauth記錄,osdmap

#刪除。sd后,清理目標(biāo)磁盤(pán)數(shù)據(jù)(前提是無(wú)法通過(guò)ceph命令自動(dòng)清除,需要手動(dòng)清除)

#yuminstallpsmisc-y#提供fuser命令

#Isblk#查看Fl標(biāo)磁盤(pán)對(duì)應(yīng)的vg和M先刪除M后刪除vg

#fuser-ck/dev/ceph-41098a76-986d-4025-ba6a-8c03d676fe8d/osd-block-74fa558e-7905-4d99-b432-dee4b656245b

#Ivremove/dev/ceph-41098a76-986d-4025-ba6a-8c03d676fe8d/osd-block-74fa558e-7905-4d99-b432-dee4b656245b

#vgremoveceph-41098a76-986d-4025-ba6a-8c03d676fe8d

#ddif=/dev/zeroof=/dev/sdecount=lbs=lM#最后清除MBR分區(qū)信息,如果磁盤(pán)有保密信息,需要

做進(jìn)一步的全盤(pán)低格處理

★移除ceph節(jié)點(diǎn)

移除節(jié)點(diǎn)之前,要將mon/mgr等服務(wù)從己移除節(jié)點(diǎn)取消部署

即:cephorchapplymon/mgr后面的節(jié)點(diǎn)不含要移除的節(jié)點(diǎn)即可

①移除在線節(jié)點(diǎn):

#cephorchhostok-to-stop#先查看如果停止主機(jī),是否會(huì)影響到集群

[root@cephl~]#cephorchhostok-to-stopceph2.co

Itispresumedsafetostophostceph2.co.Notethefollowing:

Itappearssafetostopmon.ceph2

Itappearssafetostopcrash.ceph2

Itispresumedsafetostop['node-exporter.ceph2']

Itispresumedsafetostop[mgr.ceph2.jtdspj']

Itappeal'ssafetostopceph-exporter.ceph2

#cephorchhostdrain#排空主機(jī)中的所有守護(hù)進(jìn)程,打上_no_schedule標(biāo)簽

#cephorchosdrmstatus#檢查移除OSD的狀態(tài)

itcephorchps#檢查所有守護(hù)進(jìn)程是否已從主機(jī)中移除__________________

Nodaemonsreported#提示無(wú)守護(hù)進(jìn)程時(shí),才可刪除此主機(jī)

#cephorchhostrmceph2.cof-lee.corr.#刪除主機(jī)

#cephosdcrushrm#從crushmap里清除主機(jī)信息

#cephosdcrushrmceph2#從crushmap里活除主機(jī)信息

②移除離線節(jié)點(diǎn):

#cephorchhostrm-offline--force

#cephosdcrushrm

#cephosdcrushrmceph2

★ceph節(jié)點(diǎn)進(jìn)入維護(hù)模式

#cephorchhostok-to-stop#先查石如果停止主機(jī),是否會(huì)影響到集群

#cephorchhostmaintenanceenter#進(jìn)入維護(hù)模式,停止節(jié)點(diǎn)上的所有服務(wù)

#cephorchhostmaintenanceexit#退出維護(hù)模式

★查看集群存儲(chǔ)信息

#ceph-s#查喬集群存儲(chǔ)狀態(tài)信息(含集群id,即fsid)

cluster:

id:0eeaa2be-6aa5-llee-8c6d-000c2943fd34#fsid

#cephhealth#查看集群健康狀態(tài)

#cephdfdetail#查看存儲(chǔ)情況

|[root@cepnl~]#cephdfdetail

---RAWSTORAGE---

CLASSSIZEAVAILUSEDRAWUSED%RAWUSED

hdd214GIB214GiB204MiB204MiB0.09

ssd12GIB12GiB7.9MiB7.9MiB0.06

TOTAL225GIB226GiB211MiB211MiB0.09

---POOLS---

POOLIDPGSSTORED(DATA)(OMAP)OBJECTSUSED(DATA)(OMAP)%USEDMAXAVAILQUOTAOBJECTS

l.mqr11449KiB449KiB0B2449KiB449KiBeBe71GiBN/A

#cephorchdeviceIs#查看某群磁盤(pán)信息:AVAILABLE列顯示NO表示磁盤(pán)已被使用

[root^cephl**]#cephorchdeviceIs

HOSTPATHTYPEDEVICEIDSIZEAVAILABLEREFRESHEDREJECTREASONS

cephl.cof-lee.com/dev/sdbhdd21.4GNo11magoInsufficientspace(<10extents)onvgsyLVMdetected,locked

cephl.cof-lee.com/dev/sdchdd21.4GNo11magoInsufficientspace(<10extents)onvgsyLVMdetected,locked

ephl,cof?leR,Com/dev/sddhdd21.4GNo11mdqoInsufficientspace(<1。extents)onvqs,LVMdetected,locked

#cephorchPS#查看所有節(jié)點(diǎn)的進(jìn)程

#cephorchps#查看指定直點(diǎn)的進(jìn)程

#cephorchdaemonosd.3restart#重片指定進(jìn)程容器

國(guó)開(kāi)啟集群自動(dòng)擴(kuò)展功能

默認(rèn)是開(kāi)啟的,如果登錄dashboard時(shí)不小心關(guān)閉了,需要手動(dòng)打開(kāi),命令如下:

cephorchapplyalertmanager-unmcnaged=false

cephorchapplyceph-exporter-unmanaged=false

cephorchapplycrash--unmanaged=false

cephorchapplygrafana-unmanaged=false

cephorchapplymgr-unmanaged=false

cephorchapplymon-unmanaged=false

cephorchapplynode-exporter-unmanaged=false

cephorchapplyprometheus-unrranaged=false

★第4章、pool存儲(chǔ)池操作

★磁盤(pán)class操作

磁盤(pán)class就是磁盤(pán)的分類(lèi),具有相同屬性的磁盤(pán)分到同一類(lèi),默認(rèn)自動(dòng)根據(jù)ssd,hdd等介質(zhì)來(lái)分類(lèi),也可自主分類(lèi)

#cephosdcrushclassIs#查在磁盤(pán)class

"hdd",

"ssd"

#cephosdcrushget-device-classosd.l#查看目標(biāo)磁盤(pán)的class

hdd

#cephosdcrushrm-device-classosd.ltclass

#cephosdcrushset-device-classssd_type2osd.l#更改磁盤(pán)的class,class名稱可自定義

#cephosdcrushclassIs

"hdd".

"ssd",

"ssd_type2"#可見(jiàn)多了這個(gè)門(mén)定義的磁盤(pán)class

#cephosdtree#查看所有磁盤(pán)class

[root@cephl~]#cephosdtree

IDCLASSWEIGHTTYPENAMESTATUSREWEIGHTPRI-AFF

-10.16267rootdefault

-50.05846hostcephl

2hdd0.01949osd.2up1.006001.00000

4hdd0.01949osd.4up1.000001.00000

6hdd0.01949osd.6up1.00600i.oeoeo

-70.05356hostceph2

3hdd0.01949osd.3叩1.000001.00000

5hdd0.01459osd.5叩1.000001.00000

1ssd_type20.01949

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論