自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

手動(dòng)部署Ceph octopus集群

運(yùn)維 系統(tǒng)運(yùn)維
本篇給大家介紹手動(dòng)部署Ceph octopus集群,希望對(duì)你有所幫助。

[[376064]]

 基礎(chǔ)配置

三臺(tái)環(huán)境為centos7.9,以下配置需要在每臺(tái)機(jī)器上執(zhí)行

配置hosts解析

  1. cat >> /etc/hosts <<EOF 
  2. 192.168.2.16 node1 
  3. 192.168.2.19 node2 
  4. 192.168.2.18 node3 
  5. EOF 

關(guān)閉防火墻和selinux

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

分別在三個(gè)節(jié)點(diǎn)設(shè)置主機(jī)名

  1. hostnamectl set-hostname node1 
  2. hostnamectl set-hostname node2 
  3. hostnamectl set-hostname node3 

配置主機(jī)時(shí)間同步

  1. systemctl restart chronyd.service && systemctl enable chronyd.service 

使用yum安裝

安裝yum-plugin-priorities

  1. yum install yum-plugin-priorities 

安裝依賴包

  1. yum install snappy leveldb gdisk python-argparse gperftools-libs epel-release 

添加ceph倉(cāng)庫(kù)

建議使用阿里的源,國(guó)外的太慢了

  1. vim /etc/yum.repos.d/ceph.repo 
  2. [ceph] 
  3. name=ceph 
  4. baseurl=http://mirrors.aliyun.com/ceph/rpm-15.2.8/el7/x86_64/ 
  5. gpgcheck=0 
  6. [ceph-noarch] 
  7. name=cephnoarch 
  8. baseurl=http://mirrors.aliyun.com/ceph/rpm-15.2.8/el7/noarch/ 
  9. gpgcheck=0 

安裝ceph

  1. yum install ceph -y 

部署monitor節(jié)點(diǎn)

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

在node1添加monitor

為集群生成唯一的fsid,fsid是群集的唯一標(biāo)識(shí)符,代表 Ceph 存儲(chǔ)群集主要用于 Ceph 文件系統(tǒng)的文件系統(tǒng) ID

  1. uuidgen 

創(chuàng)建ceph配置文件,將生成的fsid添加到配置文件中

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

為群集創(chuàng)建keyring并生成monitor keyring。monitor通過密鑰相互通信。必須生成具有monitor密鑰的keyring,并在引導(dǎo)初始monitor時(shí)提供keyring。

  1. ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *' 

生成管理員keyring,生成用戶并將用戶添加到client.admin keyring中。要使用 CLI 工具,必須有一個(gè)用戶,并且還必須將用戶添加到monitor keyring。

  1. 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中。

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

  1. ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring 
  2. ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring 

更改 ceph.mon.keyring的所有者。

  1. chown ceph:ceph /tmp/ceph.mon.keyring 

使用主機(jī)名、主機(jī) IP 地址和 FSID 生成monitor映射。將其保存為 :/tmp/monmap

  1. 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映射文件

  1. monmaptool --print /tmp/monmap 

 

在monitor主機(jī)上創(chuàng)建默認(rèn)數(shù)據(jù)目錄,目錄名是{cluster-name}-{hostname}格式

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

在node1節(jié)點(diǎn)對(duì)monitor進(jìn)行初始化

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

可以查看數(shù)據(jù)目錄生成的文件

編輯ceph配置文件

  1. [global
  2. fsid = 9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4 
  3. mon initial members = node1,node2,node3 
  4. mon host = 192.168.2.16,192.168.2.19,192.168.2.18 
  5. mon clock drift allowed = .5 
  6. auth cluster required = cephx 
  7. auth service required = cephx 
  8. auth client required = cephx 
  9. osd pool default size = 3  //創(chuàng)建pool的時(shí)候默認(rèn)pool是3副本 
  10. osd pool default min size = 2   //pool最少可寫的副本數(shù)為2 
  11. osd pool default pg num = 8 
  12. osd pool default pgp num = 8 
  13. osd crush chooseleaf type = 0  

將配置文件拷貝到其他節(jié)點(diǎn)

  1. scp /etc/ceph/ceph.conf node2:/etc/ceph/ceph.conf 
  2. scp /etc/ceph/ceph.conf node3:/etc/ceph/ceph.conf 

將mon keyring,mon map及admin keyring拷貝到其他節(jié)點(diǎn)

  1. scp /tmp/ceph.mon.keyring node2:/tmp/ceph.mon.keyring 
  2. scp /etc/ceph/ceph.client.admin.keyring node2:/etc/ceph/ceph.client.admin.keyring 
  3. scp /tmp/monmap node2:/tmp/monmap 
  4. scp /tmp/ceph.mon.keyring node3:/tmp/ceph.mon.keyring 
  5. scp /etc/ceph/ceph.client.admin.keyring node3:/etc/ceph/ceph.client.admin.keyring 
  6. scp /tmp/monmap node3:/tmp/monmap 

在node2、node3上添加monitor

分別在這兩個(gè)節(jié)點(diǎn)創(chuàng)建數(shù)據(jù)目錄

  1. mkdir /var/lib/ceph/mon/ceph-node2 
  2. chmod 777 -R /var/lib/ceph/mon/ceph-node2 
  3. mkdir /var/lib/ceph/mon/ceph-node3 
  4. chmod 777 -R /var/lib/ceph/mon/ceph-node3 

分別在這兩個(gè)節(jié)點(diǎn)對(duì)monitor進(jìn)行初始化

  1. ceph-mon --mkfs -i node2 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring 
  2. ceph-mon --mkfs -i node3 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring 

分別在三個(gè)節(jié)點(diǎn)啟動(dòng)ceph-mon服務(wù)

  1. systemctl start ceph-mon@node1 && systemctl enable ceph-mon@node1 
  2. systemctl start ceph-mon@node2 && systemctl enable ceph-mon@node2 
  3. systemctl start ceph-mon@node3 && systemctl enable ceph-mon@node3 

image.png

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

執(zhí)行以下命令恢復(fù)正常

  1. ceph mon enable-msgr2 

 

image.png

創(chuàng)建MGR

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

創(chuàng)建密鑰目錄

所有mgr節(jié)點(diǎn)都要執(zhí)行

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

創(chuàng)建身份驗(yàn)證密鑰

  1. ceph auth get-or-create mgr.`hostname -s` mon 'allow profile mgr' osd 'allow *' mds 'allow *' > keyring 

啟動(dòng)mgr守護(hù)進(jìn)程

  1. 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'
  1. pip3 install pecan werkzeug 

 

image.png

部署osd

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

創(chuàng)建osd

在node1執(zhí)行

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

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

  1. ceph-volume lvm prepare --data /dev/sdb 
  2. 查看osd fsid 
  3. ceph-volume lvm list 
  4. ceph-volume lvm activate {ID} {FSID} 

當(dāng)創(chuàng)建完osd之后,我們發(fā)現(xiàn)osd服務(wù)已經(jīng)起來(lái)了

當(dāng)我們?cè)趎ode2、node3節(jié)點(diǎn)執(zhí)行此命令的時(shí)候報(bào)錯(cuò)了,發(fā)現(xiàn)缺少密鑰文件

拷貝密鑰文件

  1. scp /var/lib/ceph/bootstrap-osd/ceph.keyring node2:/var/lib/ceph/bootstrap-osd/ceph.keyring 
  2. scp /var/lib/ceph/bootstrap-osd/ceph.keyring node3:/var/lib/ceph/bootstrap-osd/ceph.keyring 

修改密鑰屬主屬組

  1. chown ceph.ceph /var/lib/ceph/bootstrap-osd/ceph.keyring 

分別在node2、node3創(chuàng)建osd

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

也可以分步執(zhí)行

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

最后狀態(tài)是這樣的

 

添加MDS

創(chuàng)建mds數(shù)據(jù)目錄

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

創(chuàng)建keyring

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

導(dǎo)入keyring并設(shè)置權(quán)限

  1. ceph auth add mds.`hostname -s` osd "allow rwx" mds "allow" mon "allow profile mds" -i /var/lib/ceph/mds/ceph-`hostname -s`/keyring 
  2. chown ceph:ceph /var/lib/ceph/mds/ceph-`hostname -s`/keyring 

修改ceph.conf配置文件

  1. cat >> /etc/ceph/ceph.conf <<EOF 
  2. [mds.node1] 
  3. host = node1 
  4.  
  5. [mds.node2] 
  6. host = node2 
  7.  
  8. [mds.node3] 
  9. host = node3 
  10. EOF 

 啟動(dòng)mds服務(wù)

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

現(xiàn)在狀態(tài)應(yīng)該是這樣的


對(duì)象存儲(chǔ)RGW安裝

RGW是Ceph對(duì)象存儲(chǔ)網(wǎng)關(guān)服務(wù)RADOS Gateway的簡(jiǎn)稱,是一套基于LIBRADOS接口封裝而實(shí)現(xiàn)的FastCGI服務(wù),對(duì)外提供RESTful風(fēng)格的對(duì)象存儲(chǔ)數(shù)據(jù)訪問和管理接口。RGW基于HTTP協(xié)議標(biāo)準(zhǔn),因此非常適用于Web類的互聯(lián)網(wǎng)應(yīng)用場(chǎng)景,用戶通過使用SDK或者其他客戶端工具,能夠很方便地接入RGW進(jìn)行圖片、視頻以及各類文件的上傳或下載,并設(shè)置相應(yīng)的訪問權(quán)限,共享給其他用戶。

安裝radosgw

  1. 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類型的賬號(hào)信息。
  • .users.uid:存放用戶信息。
  1. ceph osd pool create .rgw 8 8 
  2. ceph osd pool create .rgw.root 8 8 
  3. ceph osd pool create .rgw.control 8 8 
  4. ceph osd pool create .rgw.gc 8 8 
  5. ceph osd pool create .rgw.buckets 8 8 
  6. ceph osd pool create .rgw.buckets.index 8 8 
  7. ceph osd pool create .rgw.buckets.extra 8 8 
  8. ceph osd pool create .log 8 8 
  9. ceph osd pool create .intent-log 8 8 
  10. ceph osd pool create .usage 8 8 
  11. ceph osd pool create .users 8 8 
  12. ceph osd pool create .users.email 8 8 
  13. ceph osd pool create .users.swift 8 8 
  14. ceph osd pool create .users.uid 8 8 

創(chuàng)建過程會(huì)遇到這個(gè)報(bào)錯(cuò),原因是每個(gè)osd默認(rèn)最多只支持250個(gè)pg,這里有兩種解決辦法,一種是刪除之前創(chuàng)建的pool,并新建pool時(shí)把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)

編輯配置文件

  1. vim /etc/ceph/ceph.conf 
  2. [global
  3. mon_max_pg_per_osd = 1000 
  4.  
  5. #重啟mon 
  6. systemctl restart ceph-mon@`hostname -s` 

可以使用rados lspools查看是否創(chuàng)建成功


新建RADOSGW用戶和keyring

創(chuàng)建keyring

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

生成ceph-radosgw服務(wù)對(duì)應(yīng)的用戶和key

  1. ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node1 --gen-key 
  2. ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node2 --gen-key 
  3. ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node3 --gen-key 

添加用戶訪問權(quán)限

  1. ceph-authtool -n client.rgw.node1 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring 
  2. ceph-authtool -n client.rgw.node2 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring 
  3. ceph-authtool -n client.rgw.node3 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring 

將keyring導(dǎo)入集群中

  1. ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node1 -i /etc/ceph/ceph.client.radosgw.keyring 
  2. ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node2 -i /etc/ceph/ceph.client.radosgw.keyring 
  3. ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node3 -i /etc/ceph/ceph.client.radosgw.keyring 

編輯配置文件

  1. cat >> /etc/ceph/ceph.conf << EOF 
  2. [client.rgw.node1] 
  3. host=node1 
  4. keyring=/etc/ceph/ceph.client.radosgw.keyring 
  5. log file=/var/log/radosgw/client.radosgw.gateway.log 
  6. rgw_frontends = civetweb port=8080 
  7. [client.rgw.node2] 
  8. host=node2 
  9. keyring=/etc/ceph/ceph.client.radosgw.keyring 
  10. log file=/var/log/radosgw/client.radosgw.gateway.log 
  11. rgw_frontends = civetweb port=8080 
  12. [client.rgw.node3] 
  13. host=node3 
  14. keyring=/etc/ceph/ceph.client.radosgw.keyring 
  15. log file=/var/log/radosgw/client.radosgw.gateway.log 
  16. rgw_frontends = civetweb port=8080 
  17. EOF 

創(chuàng)建日志目錄

  1. mkdir /var/log/radosgw 
  2. chown ceph:ceph /var/log/radosgw 

拷貝keyring、ceph.confceph.conf到node2、node3

  1. scp /etc/ceph/ceph.client.radosgw.keyring node2:/etc/ceph/ceph.client.radosgw.keyring 
  2. scp /etc/ceph/ceph.client.radosgw.keyring node3:/etc/ceph/ceph.client.radosgw.keyring 
  3. scp /etc/ceph/ceph.conf node2:/etc/ceph/ceph.conf 
  4. scp /etc/ceph/ceph.conf node3:/etc/ceph/ceph.conf 

在node2、node3部署RGW

修改keyring屬主

  1. chown ceph:ceph /etc/ceph/ceph.client.radosgw.keyring 

創(chuàng)建日志目錄并授權(quán)

  1. mkdir /var/log/radosgw 
  2. chown ceph:ceph /var/log/radosgw 

啟動(dòng)rgw服務(wù)

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

查看ceph狀態(tài),發(fā)現(xiàn)有個(gè)小問題

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

使用curl訪問服務(wù)


 

責(zé)任編輯:姜華 來(lái)源: 運(yùn)維開發(fā)故事
相關(guān)推薦

2017-03-31 14:25:19

手動(dòng)docker swar集群

2021-01-18 09:08:44

樹莓派Ceph開源

2017-03-22 10:06:40

ubuntuceph集群

2021-01-26 06:58:03

AnsibleCeph集群運(yùn)維

2022-02-02 21:58:43

Redis集群Undermoon

2021-11-02 06:58:53

項(xiàng)目Ceph 內(nèi)網(wǎng)

2014-04-16 10:41:58

Spark

2015-07-28 10:19:45

開源Ceph管理平臺(tái)Inkscope部署

2018-11-15 12:35:25

Ceph分布式存儲(chǔ)

2021-06-26 07:40:45

Greenplum集群部署

2021-07-06 07:46:16

KubernetesRook存儲(chǔ)

2017-02-22 10:06:11

UbuntuCeph存儲(chǔ)

2022-02-25 08:02:41

集群ceph16集群恢復(fù)

2021-06-29 09:25:59

攻擊黑客漏洞

2013-07-11 13:39:23

Hadoop

2023-11-07 07:30:18

Hadoop高可用

2024-10-28 15:40:26

2022-09-06 08:00:57

Ceph分布式存儲(chǔ)系統(tǒng)

2015-05-13 09:57:47

OpenStackDevOpsCeph集群

2015-06-16 16:20:40

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)