這篇文章主要介紹了如何手動部署Ceph octopus集群,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)主營廣西網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),廣西h5微信小程序開發(fā)搭建,廣西網(wǎng)站營銷推廣歡迎廣西等地區(qū)企業(yè)咨詢
基礎(chǔ)配置
三臺環(huán)境為centos7.9,以下配置需要在每臺機(jī)器上執(zhí)行
配置hosts解析
cat >> /etc/hosts <<EOF 192.168.2.16 node1 192.168.2.19 node2 192.168.2.18 node3 EOF
關(guān)閉防火墻和selinux
systemctl stop firewalld && systemctl disable firewalld setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
分別在三個節(jié)點(diǎn)設(shè)置主機(jī)名
hostnamectl set-hostname node1 hostnamectl set-hostname node2 hostnamectl set-hostname node3
配置主機(jī)時間同步
systemctl restart chronyd.service && systemctl enable chronyd.service
使用yum安裝
安裝yum-plugin-priorities
yum install yum-plugin-priorities
安裝依賴包
yum install snappy leveldb gdisk python-argparse gperftools-libs epel-release
添加ceph倉庫
建議使用阿里的源,國外的太慢了
vim /etc/yum.repos.d/ceph.repo [ceph] name=ceph baseurl=http://mirrors.aliyun.com/ceph/rpm-15.2.8/el7/x86_64/ gpgcheck=0 [ceph-noarch] name=cephnoarch baseurl=http://mirrors.aliyun.com/ceph/rpm-15.2.8/el7/noarch/ gpgcheck=0
安裝ceph
yum install ceph -y
部署monitor節(jié)點(diǎn)
所有 Ceph 群集至少需要一個monitor,并且至少需要與存儲在群集上的對象副本一樣多的 OSD。引導(dǎo)初始mon是部署 Ceph 存儲群集的第一步,這里我直接在node1、node2、node3創(chuàng)建三個mon。
在node1添加monitor
為集群生成唯一的fsid,fsid是群集的唯一標(biāo)識符,代表 Ceph 存儲群集主要用于 Ceph 文件系統(tǒng)的文件系統(tǒng) ID
uuidgen
創(chuàng)建ceph配置文件,將生成的fsid添加到配置文件中
vim /etc/ceph/ceph.repo [global] fsid=9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4
為群集創(chuàng)建keyring并生成monitor keyring。monitor通過密鑰相互通信。必須生成具有monitor密鑰的keyring,并在引導(dǎo)初始monitor時提供keyring。
ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
生成管理員keyring,生成用戶并將用戶添加到client.admin keyring中。要使用 CLI 工具,必須有一個用戶,并且還必須將用戶添加到monitor keyring。
ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'
生成引導(dǎo) osd 密鑰,生成用戶并將用戶添加到client.bootstrap-osd keyring中。
ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r'
將生成的鍵添加到 ceph.mon.keyring
ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring
更改 ceph.mon.keyring的所有者。
chown ceph:ceph /tmp/ceph.mon.keyring
使用主機(jī)名、主機(jī) IP 地址和 FSID 生成monitor映射。將其保存為 :/tmp/monmap
monmaptool --create --add node1 192.168.2.16 --add node2 192.168.2.19 --add node3 192.168.2.18 --fsid 9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4 /tmp/monmap
查看生成的monitor映射文件
monmaptool --print /tmp/monmap
在monitor主機(jī)上創(chuàng)建默認(rèn)數(shù)據(jù)目錄,目錄名是{cluster-name}-{hostname}格式
mkdir /var/lib/ceph/mon/ceph-node1 chmod 777 -R /var/lib/ceph/mon/ceph-node3
在node1節(jié)點(diǎn)對monitor進(jìn)行初始化
ceph-mon --mkfs -i node1 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
可以查看數(shù)據(jù)目錄生成的文件
編輯ceph配置文件
[global] fsid = 9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4 mon initial members = node1,node2,node3 mon host = 192.168.2.16,192.168.2.19,192.168.2.18 mon clock drift allowed = .5 auth cluster required = cephx auth service required = cephx auth client required = cephx osd pool default size = 3 //創(chuàng)建pool的時候默認(rèn)pool是3副本 osd pool default min size = 2 //pool最少可寫的副本數(shù)為2 osd pool default pg num = 8 osd pool default pgp num = 8 osd crush chooseleaf type = 0
將配置文件拷貝到其他節(jié)點(diǎn)
scp /etc/ceph/ceph.conf node2:/etc/ceph/ceph.conf scp /etc/ceph/ceph.conf node3:/etc/ceph/ceph.conf
將mon keyring,mon map及admin keyring拷貝到其他節(jié)點(diǎn)
scp /tmp/ceph.mon.keyring node2:/tmp/ceph.mon.keyring scp /etc/ceph/ceph.client.admin.keyring node2:/etc/ceph/ceph.client.admin.keyring scp /tmp/monmap node2:/tmp/monmap scp /tmp/ceph.mon.keyring node3:/tmp/ceph.mon.keyring scp /etc/ceph/ceph.client.admin.keyring node3:/etc/ceph/ceph.client.admin.keyring scp /tmp/monmap node3:/tmp/monmap
在node2、node3上添加monitor
分別在這兩個節(jié)點(diǎn)創(chuàng)建數(shù)據(jù)目錄
mkdir /var/lib/ceph/mon/ceph-node2 chmod 777 -R /var/lib/ceph/mon/ceph-node2 mkdir /var/lib/ceph/mon/ceph-node3 chmod 777 -R /var/lib/ceph/mon/ceph-node3
分別在這兩個節(jié)點(diǎn)對monitor進(jìn)行初始化
ceph-mon --mkfs -i node2 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring ceph-mon --mkfs -i node3 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
分別在三個節(jié)點(diǎn)啟動ceph-mon服務(wù)
systemctl start ceph-mon@node1 && systemctl enable ceph-mon@node1 systemctl start ceph-mon@node2 && systemctl enable ceph-mon@node2 systemctl start ceph-mon@node3 && systemctl enable ceph-mon@node3
image.png
可以看到提示3 monitors have not enabled msgr2"
執(zhí)行以下命令恢復(fù)正常
ceph mon enable-msgr2
image.png
創(chuàng)建MGR
在運(yùn)行ceph-mon守護(hù)程序的每個節(jié)點(diǎn)上,還應(yīng)該設(shè)置一個ceph-mgr守護(hù)程序。
創(chuàng)建密鑰目錄
所有mgr節(jié)點(diǎn)都要執(zhí)行
sudo -u ceph mkdir /var/lib/ceph/mgr/ceph-`hostname -s` cd /var/lib/ceph/mgr/ceph-`hostname -s`
創(chuàng)建身份驗證密鑰
ceph auth get-or-create mgr.`hostname -s` mon 'allow profile mgr' osd 'allow *' mds 'allow *' > keyring
啟動mgr守護(hù)進(jìn)程
systemctl enable ceph-mgr@`hostname -s` && systemctl start ceph-mgr@`hostname -s`
看樣子狀態(tài)有點(diǎn)異常,在所有節(jié)點(diǎn)執(zhí)行下面的命令之后重啟機(jī)器即可解決
Module 'restful' has failed dependency: No module named 'pecan'
pip3 install pecan werkzeug
image.png
部署osd
Ceph提供了該ceph-volume實用程序,該實用程序可以準(zhǔn)備邏輯卷,磁盤或分區(qū)以供Ceph使用。該ceph-volume實用程序通過增加索引來創(chuàng)建OSD ID。
創(chuàng)建osd
在node1執(zhí)行
ceph-volume lvm create --data /dev/sdb
上面的創(chuàng)建過程可以分為兩個階段(準(zhǔn)備和激活):
ceph-volume lvm prepare --data /dev/sdb 查看osd fsid ceph-volume lvm list ceph-volume lvm activate {ID} {FSID}
當(dāng)創(chuàng)建完osd之后,我們發(fā)現(xiàn)osd服務(wù)已經(jīng)起來了
當(dāng)我們在node2、node3節(jié)點(diǎn)執(zhí)行此命令的時候報錯了,發(fā)現(xiàn)缺少密鑰文件
拷貝密鑰文件
scp /var/lib/ceph/bootstrap-osd/ceph.keyring node2:/var/lib/ceph/bootstrap-osd/ceph.keyring scp /var/lib/ceph/bootstrap-osd/ceph.keyring node3:/var/lib/ceph/bootstrap-osd/ceph.keyring
修改密鑰屬主屬組
chown ceph.ceph /var/lib/ceph/bootstrap-osd/ceph.keyring
分別在node2、node3創(chuàng)建osd
ceph-volume lvm create --data /dev/sdb
也可以分步執(zhí)行
ceph-volume lvm prepare --data /dev/sdb ##獲取osd id 和osd fsid ceph-volume lvm list ##激活osd ceph-volume lvm activate {ID} {FSID}
最后狀態(tài)是這樣的
添加MDS
創(chuàng)建mds數(shù)據(jù)目錄
mkdir -p /var/lib/ceph/mds/ceph-`hostname -s` chown -R ceph.ceph /var/lib/ceph/mds/ceph-`hostname -s`
創(chuàng)建keyring
ceph-authtool --create-keyring /var/lib/ceph/mds/ceph-`hostname -s`/keyring --gen-key -n mds.`hostname -s`
導(dǎo)入keyring并設(shè)置權(quán)限
ceph auth add mds.`hostname -s` osd "allow rwx" mds "allow" mon "allow profile mds" -i /var/lib/ceph/mds/ceph-`hostname -s`/keyring chown ceph:ceph /var/lib/ceph/mds/ceph-`hostname -s`/keyring
修改ceph.conf配置文件
cat >> /etc/ceph/ceph.conf <<EOF [mds.node1] host = node1 [mds.node2] host = node2 [mds.node3] host = node3 EOF
啟動mds服務(wù)
systemctl enable ceph-mds@`hostname -s` && systemctl start ceph-mds@`hostname -s`
現(xiàn)在狀態(tài)應(yīng)該是這樣的
對象存儲RGW安裝
RGW是Ceph對象存儲網(wǎng)關(guān)服務(wù)RADOS Gateway的簡稱,是一套基于LIBRADOS接口封裝而實現(xiàn)的FastCGI服務(wù),對外提供RESTful風(fēng)格的對象存儲數(shù)據(jù)訪問和管理接口。RGW基于HTTP協(xié)議標(biāo)準(zhǔn),因此非常適用于Web類的互聯(lián)網(wǎng)應(yīng)用場景,用戶通過使用SDK或者其他客戶端工具,能夠很方便地接入RGW進(jìn)行圖片、視頻以及各類文件的上傳或下載,并設(shè)置相應(yīng)的訪問權(quán)限,共享給其他用戶。
安裝radosgw
yum install ceph-radosgw -y
創(chuàng)建rgw相關(guān)的資源池
資源池列表及部分資源池功能介紹如下。
.rgw:region和zone配置信息。
.rgw.root:region和zone配置信息。
.rgw.control:存放notify信息。
.rgw.gc:用于資源回收。
.rgw.buckets:存放數(shù)據(jù)。
.rgw.buckets.index:存放元數(shù)據(jù)信息。
.rgw.buckets.extra:存放元數(shù)據(jù)擴(kuò)展信息。
.log:日志存放。
.intent-log:日志存放。
.usage:存放用戶已用容量信息。
.users:存放用戶信息。
.users.email:存放用戶E-mail信息。
.users.swift:存放swift類型的賬號信息。
.users.uid:存放用戶信息。
ceph osd pool create .rgw 8 8 ceph osd pool create .rgw.root 8 8 ceph osd pool create .rgw.control 8 8 ceph osd pool create .rgw.gc 8 8 ceph osd pool create .rgw.buckets 8 8 ceph osd pool create .rgw.buckets.index 8 8 ceph osd pool create .rgw.buckets.extra 8 8 ceph osd pool create .log 8 8 ceph osd pool create .intent-log 8 8 ceph osd pool create .usage 8 8 ceph osd pool create .users 8 8 ceph osd pool create .users.email 8 8 ceph osd pool create .users.swift 8 8 ceph osd pool create .users.uid 8 8
創(chuàng)建過程會遇到這個報錯,原因是每個osd默認(rèn)最多只支持250個pg,這里有兩種解決辦法,一種是刪除之前創(chuàng)建的pool,并新建pool時把pg設(shè)置小一點(diǎn),另一種則是修改osd默認(rèn)最大pg數(shù),這里我用了第二種,修改完配置文件后,重啟mon
Error ERANGE: pg_num 8 size 3 would mean 771 total pgs, which exceeds max 750 (mon_max_pg_per_osd 250 * num_in_osds 3)
編輯配置文件
vim /etc/ceph/ceph.conf [global] mon_max_pg_per_osd = 1000 #重啟mon systemctl restart ceph-mon@`hostname -s`
可以使用rados lspools查看是否創(chuàng)建成功
新建RADOSGW用戶和keyring
創(chuàng)建keyring
ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring chown ceph:ceph /etc/ceph/ceph.client.radosgw.keyring
生成ceph-radosgw服務(wù)對應(yīng)的用戶和key
ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node1 --gen-key ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node2 --gen-key ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node3 --gen-key
添加用戶訪問權(quán)限
ceph-authtool -n client.rgw.node1 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring ceph-authtool -n client.rgw.node2 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring ceph-authtool -n client.rgw.node3 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring
將keyring導(dǎo)入集群中
ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node1 -i /etc/ceph/ceph.client.radosgw.keyring ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node2 -i /etc/ceph/ceph.client.radosgw.keyring ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node3 -i /etc/ceph/ceph.client.radosgw.keyring
編輯配置文件
cat >> /etc/ceph/ceph.conf << EOF [client.rgw.node1] host=node1 keyring=/etc/ceph/ceph.client.radosgw.keyring log file=/var/log/radosgw/client.radosgw.gateway.log rgw_frontends = civetweb port=8080 [client.rgw.node2] host=node2 keyring=/etc/ceph/ceph.client.radosgw.keyring log file=/var/log/radosgw/client.radosgw.gateway.log rgw_frontends = civetweb port=8080 [client.rgw.node3] host=node3 keyring=/etc/ceph/ceph.client.radosgw.keyring log file=/var/log/radosgw/client.radosgw.gateway.log rgw_frontends = civetweb port=8080 EOF
創(chuàng)建日志目錄
mkdir /var/log/radosgw chown ceph:ceph /var/log/radosgw
拷貝keyring、ceph.confceph.conf到node2、node3
scp /etc/ceph/ceph.client.radosgw.keyring node2:/etc/ceph/ceph.client.radosgw.keyring scp /etc/ceph/ceph.client.radosgw.keyring node3:/etc/ceph/ceph.client.radosgw.keyring scp /etc/ceph/ceph.conf node2:/etc/ceph/ceph.conf scp /etc/ceph/ceph.conf node3:/etc/ceph/ceph.conf
在node2、node3部署RGW
修改keyring屬主
chown ceph:ceph /etc/ceph/ceph.client.radosgw.keyring
創(chuàng)建日志目錄并授權(quán)
mkdir /var/log/radosgw chown ceph:ceph /var/log/radosgw
啟動rgw服務(wù)
systemctl start ceph-radosgw@rgw.`hostname -s` && systemctl enable ceph-radosgw@rgw.`hostname -s`
查看ceph狀態(tài),發(fā)現(xiàn)有個小問題
使用ceph health detail查看詳情,根據(jù)提示enable即可
使用curl訪問服務(wù)
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何手動部署Ceph octopus集群”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
分享題目:如何手動部署Cephoctopus集群
URL標(biāo)題:http://www.rwnh.cn/article20/ghdpjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站收錄、App開發(fā)、面包屑導(dǎo)航、網(wǎng)站策劃、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)