久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何手動部署Ceph octopus集群

161次閱讀
沒有評論

共計 9971 個字符,預(yù)計需要花費 25 分鐘才能閱讀完成。

這篇文章主要介紹了如何手動部署 Ceph octopus 集群,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

  基礎(chǔ)配置

三臺環(huán)境為 centos7.9,以下配置需要在每臺機器上執(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é)點設(shè)置主機名

hostnamectl set-hostname node1 hostnamectl set-hostname node2 hostnamectl set-hostname node3

配置主機時間同步

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é)點

所有 Ceph 群集至少需要一個 monitor,并且至少需要與存儲在群集上的對象副本一樣多的 OSD。引導(dǎo)初始 mon 是部署 Ceph   存儲群集的第一步,這里我直接在 node1、node2、node3 創(chuàng)建三個 mon。

在 node1 添加 monitor

為集群生成唯一的 fsid,fsid 是群集的唯一標識符,代表 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

使用主機名、主機 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 主機上創(chuàng)建默認數(shù)據(jù)目錄,目錄名是 {cluster-name}-{hostname} 格式

mkdir /var/lib/ceph/mon/ceph-node1 chmod 777 -R /var/lib/ceph/mon/ceph-node3

在 node1 節(jié)點對 monitor 進行初始化

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 的時候默認 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é)點

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é)點

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é)點創(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é)點對 monitor 進行初始化

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é)點啟動 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

在運行 ceph-mon 守護程序的每個節(jié)點上,還應(yīng)該設(shè)置一個 ceph-mgr 守護程序。

創(chuàng)建密鑰目錄

所有 mgr 節(jié)點都要執(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 守護進程

systemctl enable ceph-mgr@`hostname -s`   systemctl start ceph-mgr@`hostname -s`

看樣子狀態(tài)有點異常,在所有節(jié)點執(zhí)行下面的命令之后重啟機器即可解決

Module restful has failed dependency: No module named pecan

pip3 install pecan werkzeug

 

image.png

部署 osd

Ceph 提供了該 ceph-volume 實用程序,該實用程序可以準備邏輯卷,磁盤或分區(qū)以供 Ceph 使用。該 ceph-volume 實用程序通過增加索引來創(chuàng)建 OSD  ID。

創(chuàng)建 osd

在 node1 執(zhí)行

ceph-volume lvm create --data /dev/sdb

上面的創(chuàng)建過程可以分為兩個階段(準備和激活):

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é)點執(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é)議標準,因此非常適用于 Web 類的互聯(lián)網(wǎng)應(yīng)用場景,用戶通過使用 SDK 或者其他客戶端工具,能夠很方便地接入 RGW 進行圖片、視頻以及各類文件的上傳或下載,并設(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ù)擴展信息。

.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 默認最多只支持 250 個 pg,這里有兩種解決辦法,一種是刪除之前創(chuàng)建的 pool,并新建 pool 時把 pg 設(shè)置小一點,另一種則是修改 osd 默認最大 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 octopus 集群

使用 ceph health  detail 查看詳情,根據(jù)提示 enable 即可

如何手動部署 Ceph octopus 集群

使用 curl 訪問服務(wù)

如何手動部署 Ceph octopus 集群

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“如何手動部署 Ceph octopus 集群”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-16發(fā)表,共計9971字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 南平市| 南昌县| 花莲市| 徐州市| 攀枝花市| 郯城县| 清苑县| 雷州市| 衢州市| 和顺县| 浦县| 洞头县| 吴忠市| 桐乡市| 亚东县| 金门县| 贡山| 肥城市| 略阳县| 东丰县| 龙海市| 烟台市| 镇雄县| 黔东| 芜湖市| 松原市| 蒙阴县| 张家港市| 安福县| 成都市| 四川省| 大悟县| 衢州市| 灌云县| 阳城县| 观塘区| 肥乡县| 乐都县| 昭平县| 乌鲁木齐县| 营山县|