中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何手動部署Ceph octopus集群

發布時間:2021-12-17 10:40:25 來源:億速云 閱讀:207 作者:小新 欄目:系統運維

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

 基礎配置

三臺環境為centos7.9,以下配置需要在每臺機器上執行

配置hosts解析

cat >> /etc/hosts <<EOF 192.168.2.16 node1 192.168.2.19 node2 192.168.2.18 node3 EOF

關閉防火墻和selinux

systemctl stop firewalld && systemctl disable firewalld setenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

分別在三個節點設置主機名

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節點

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

在node1添加monitor

為集群生成唯一的fsid,fsid是群集的唯一標識符,代表 Ceph 存儲群集主要用于 Ceph 文件系統的文件系統 ID

uuidgen

創建ceph配置文件,將生成的fsid添加到配置文件中

vim /etc/ceph/ceph.repo [global] fsid=9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4

為群集創建keyring并生成monitor  keyring。monitor通過密鑰相互通信。必須生成具有monitor密鑰的keyring,并在引導初始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 *'

生成引導 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

 如何手動部署Ceph octopus集群

在monitor主機上創建默認數據目錄,目錄名是{cluster-name}-{hostname}格式

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

在node1節點對monitor進行初始化

ceph-mon --mkfs -i node1 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring

可以查看數據目錄生成的文件

如何手動部署Ceph octopus集群

編輯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  //創建pool的時候默認pool是3副本 osd pool default min size = 2   //pool最少可寫的副本數為2 osd pool default pg num = 8 osd pool default pgp num = 8 osd crush chooseleaf type = 0

將配置文件拷貝到其他節點

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拷貝到其他節點

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

分別在這兩個節點創建數據目錄

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

分別在這兩個節點對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

分別在三個節點啟動ceph-mon服務

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

如何手動部署Ceph octopus集群

image.png

  • 可以看到提示3 monitors have not enabled msgr2"

執行以下命令恢復正常

ceph mon enable-msgr2

 如何手動部署Ceph octopus集群

image.png

創建MGR

在運行ceph-mon守護程序的每個節點上,還應該設置一個ceph-mgr守護程序。

創建密鑰目錄

所有mgr節點都要執行

sudo -u ceph mkdir /var/lib/ceph/mgr/ceph-`hostname -s` cd /var/lib/ceph/mgr/ceph-`hostname -s`

創建身份驗證密鑰

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`

看樣子狀態有點異常,在所有節點執行下面的命令之后重啟機器即可解決

  • Module 'restful' has failed dependency: No module named 'pecan'

pip3 install pecan werkzeug

 如何手動部署Ceph octopus集群

image.png

部署osd

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

創建osd

在node1執行

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

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

ceph-volume lvm prepare --data /dev/sdb 查看osd fsid ceph-volume lvm list ceph-volume lvm activate {ID} {FSID}

當創建完osd之后,我們發現osd服務已經起來了

如何手動部署Ceph octopus集群

當我們在node2、node3節點執行此命令的時候報錯了,發現缺少密鑰文件

如何手動部署Ceph octopus集群

拷貝密鑰文件

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創建osd

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

也可以分步執行

ceph-volume lvm prepare --data /dev/sdb ##獲取osd id 和osd fsid ceph-volume lvm list ##激活osd ceph-volume lvm activate {ID} {FSID}

最后狀態是這樣的

 如何手動部署Ceph octopus集群

添加MDS

創建mds數據目錄

mkdir -p /var/lib/ceph/mds/ceph-`hostname -s` chown -R ceph.ceph /var/lib/ceph/mds/ceph-`hostname -s`

創建keyring

ceph-authtool --create-keyring /var/lib/ceph/mds/ceph-`hostname -s`/keyring --gen-key -n mds.`hostname -s`

導入keyring并設置權限

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服務

systemctl enable ceph-mds@`hostname -s` && systemctl start ceph-mds@`hostname -s`

現在狀態應該是這樣的

如何手動部署Ceph octopus集群

對象存儲RGW安裝

RGW是Ceph對象存儲網關服務RADOS  Gateway的簡稱,是一套基于LIBRADOS接口封裝而實現的FastCGI服務,對外提供RESTful風格的對象存儲數據訪問和管理接口。RGW基于HTTP協議標準,因此非常適用于Web類的互聯網應用場景,用戶通過使用SDK或者其他客戶端工具,能夠很方便地接入RGW進行圖片、視頻以及各類文件的上傳或下載,并設置相應的訪問權限,共享給其他用戶。

安裝radosgw

yum install ceph-radosgw -y

創建rgw相關的資源池

資源池列表及部分資源池功能介紹如下。

  • .rgw:region和zone配置信息。

  • .rgw.root:region和zone配置信息。

  • .rgw.control:存放notify信息。

  • .rgw.gc:用于資源回收。

  • .rgw.buckets:存放數據。

  • .rgw.buckets.index:存放元數據信息。

  • .rgw.buckets.extra:存放元數據擴展信息。

  • .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

創建過程會遇到這個報錯,原因是每個osd默認最多只支持250個pg,這里有兩種解決辦法,一種是刪除之前創建的pool,并新建pool時把pg設置小一點,另一種則是修改osd默認最大pg數,這里我用了第二種,修改完配置文件后,重啟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查看是否創建成功

如何手動部署Ceph octopus集群

新建RADOSGW用戶和keyring

創建keyring

ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring chown ceph:ceph /etc/ceph/ceph.client.radosgw.keyring

生成ceph-radosgw服務對應的用戶和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

添加用戶訪問權限

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導入集群中

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

創建日志目錄

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

創建日志目錄并授權

mkdir /var/log/radosgw chown ceph:ceph /var/log/radosgw

啟動rgw服務

systemctl start ceph-radosgw@rgw.`hostname -s` && systemctl enable ceph-radosgw@rgw.`hostname -s`

查看ceph狀態,發現有個小問題

如何手動部署Ceph octopus集群

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

如何手動部署Ceph octopus集群

使用curl訪問服務

如何手動部署Ceph octopus集群

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何手動部署Ceph octopus集群”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

芜湖县| 南宫市| 治县。| 金平| 任丘市| 宁化县| 准格尔旗| 庆元县| 乡宁县| 西畴县| 新昌县| 轮台县| 望江县| 灵武市| 广饶县| 昂仁县| 敦化市| 宝鸡市| 丰城市| 平阴县| 沂南县| 内江市| 湖南省| 仁化县| 韶山市| 茶陵县| 台前县| 阳谷县| 莱芜市| 鄂托克前旗| 安泽县| 曲阳县| 白玉县| 石城县| 榆树市| 九龙城区| 大竹县| 六安市| 梁河县| 沅陵县| 文水县|