找回密码
 注册
查看: 577|回复: 2

ceph 14.2版本手动部署步骤总结

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-8-23 15:09:47 | 显示全部楼层 |阅读模式
1 文档描述
此文档描述了ceph 14.2 nautilus (stable)版本,手动部署各个组建的详细步骤。
2 操作环境
Ceph 版本:14.2 nautilus (stable)
3 初始化环境
注意事项:文档中盘符、主机名hostname、ip地址、fsid等请根据实际情况填写
1)配置主机名及静态域名解析
#hostnamectl set-hostname {hostname}
#vim /etc/hosts
ip {hostname}
……
2)关闭防火墙和Selinux
#systemctl stop firewalld.service && systemctl disable firewalld.service
# setenforce 0
#sed -i ‘s/enforcing/disabled/’ /etc/selinux/config
#reboot
3)配置时间同步
#yum install -y chrony
Server端配置:
#vim /etc /chrony.conf
将 server http://0.centos.pool.ntp.org iburst 改成:
server <Server IP> iburst
删除其它几行默认 iburst
去掉这一行的注释并将 IP 信息改成主节点管理 IP 网段:
allow ip网段
去掉这一行的注释:
local stratum 10
# systemctl restart chronyd.service
# systemctl enable chronyd.service
Client端配置:
#vim /etc/chronyd.conf
将 server http://0.centos.pool.ntp.org iburst 改成:
server <Server ip> iburst
# systemctl restart chronyd.service
# systemctl enable chronyd.service
验证配置是否成功:
#chronyc sources
4)免密配置
#ssh-keygen -t rsa (一直回车)
#ssh-copy-id root@{hostname}
以上每个节点执行。
4 本地yum源配置
假设ceph文件存放于/root/ceph-14.2文件夹下;
1)备份系统自带的yum文件
#cd /etc/yum.repo.d/
#mkdir bak
#mv * bak
2)创建ceph.repo文件
#vim ceph.repo,添加如下内容
[base]
name=local-ceph
baseurl=<url>
enabled=1
gpgcheck=0
3)清除缓存
#yum clean all
4)建立新缓存
#yum makecache fast
5 安装ceph
#yum install ceph -y
6 MON部署6.1 创建第一个mon节点
1)创建ceph.conf
#uuidgen  
#vim /etc/ceph/ceph.conf
[global]
fsid = {uuid}    # uuidgen生成集群uuid
mon_initial_members = {hostname}……
mon_host = ip01,ip02……
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
[mon]
mon_clock_drift_allowed = 0.5
mon_clock_drift_warn_backoff = 0.5
mon_pg_warn_max_per_osd = 600
mon_osd_down_out_interval = 900
mon_osd_full_ratio = .85
mon_osd_nearfull_ratio = .75
2)创建mon keyring
#ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
3)创建client.admin 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 *'
4)创建 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'
5)添加client.admin keyring、 bootstrap-osd keyring至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
6)创建monitor map
#monmaptool --create --add {hostname} {IP} --fsid {uuid} /tmp/monmap
7)创建monitor数据目录
#sudo -u ceph mkdir /var/lib/ceph/mon/ceph-{hostname}
8)修改ceph.mon.keyring所属用户和用户组
#chown ceph:ceph /tmp/ceph.mon.keyring
#chown ceph:ceph /tmp/monmap
9)构建monitor守护进程所需的初始数据
#sudo -u ceph ceph-mon --mkfs -i {hostname} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
10)创建done空文件,表明该mon已创建并可以启动
touch /var/lib/ceph/mon/ceph-{hostname}/done
11)启动mon进程
#systemctl enable ceph-mon@{hostname}
#systemctl start ceph-mon@{hostname}
12)创建upstart空文件,为保证每次重启后该mon进程能正常启动(ubuntu环境下创建)
#touch /var/lib/ceph/mon/ceph-{hostname}/upstart
13)添加mon到集群
#ceph mon add {hostname} IP:6789
6.2 添加mon节点
1)将第一个mon节点生成的配置文件和密钥文件拷贝至本节点
#scp /etc/ceph/* root@{new-hostname}:/etc/ceph/
#scp /var/lib/ceph/bootstrap-osd/ ceph.keyring root@{new-hostname}:/var/lib/ceph/bootstrap-osd/
2)创建monitor数据目录
#ceph mkdir /var/lib/ceph/mon/ceph-{new-hostname}
3) 修改ceph.mon.keyring所属用户和用户组
#chown ceph:ceph /tmp/ceph.mon.keyring
#chown ceph:ceph /tmp/monmap
4) 获取密钥和monmap信息
# ceph auth get mon. -o /tmp/ceph.mon.keyring
# ceph mon getmap -o /tmp/ceph.mon.map
5)初始化mon
#ceph ceph-mon --mkfs -i {new-hostname} \
--monmap /tmp/ceph.mon.map --keyring /tmp/ceph.mon.keyring
6)创建done空文件,表明该mon已创建并可以启动
#touch /var/lib/ceph/mon/ceph-{new-hostname}/done
7)将新的mon节点添加至ceph集群的mon列表
# ceph mon add {new-hostname} IP:6789
8)启动mon进程
#systemctl enable ceph-mon@{hostname}
#systemctl start ceph-mon@{hostname}
9)创建upstart空文件,为保证每次重启后该mon进程能正常启动(ubuntu环境下创建)
#touch /var/lib/ceph/mon/ceph-{hostname}/upstart
注意:新添加mon节点参考上述步骤。
7 OSD部署
#ceph-volume lvm create --data /dev/sd$?
8 MGR管理
ceph-mgr的主要功能是提供外部监测和管理系统的接口。
8.1 配置并启动MGR
1)生成mgr密钥
#ceph auth get-or-create mgr.{hostname} mon 'allow *' osd 'allow *'
2)创建mgr数据目录
#mkdir /var/lib/ceph/mgr/ceph-{hostname}/
3)保存密钥文件
#ceph auth get mgr.{hostname} -o /var/lib/ceph/mgr/ceph-{hostname}/keyring
4)启动mgr
使用 ceph-mgr -i {hostname} 可以对mgr进行启动,例如: ceph-mgr -i ceph1,启动之后通过ceph -s 可以看到mgr active的信息。
8.2 启用并配置dashboard
1)安装mgr-dashboard
# yum install ceph-mgr-dashboard -y
2)修改ceph.conf添加如下配置:
mgr_initial_modules = dashboard
3) mgr提供一个web界面,可以用来显示监控信息。默认是没有启动的,可以通过以下命令启用dashboard
#ceph mgr module enable dashboard
4)生成签名证书,快速访问
#ceph dashboard create-self-signed-cert
5)创建具有管理员角色的用户
ceph dashboard set-login-credentials {username} {password}
6)查看ceph-mgr服务
#ceph mgr services
6)配置完成后,可以通过浏览器使用 https://$IP/7000 的方式进行访问dashboard
9 FS使用9.1 部署MDS
1)为MDS元数据服务器创建一个数据目录
# mkdir -p /var/lib/ceph/mds/ceph-{hostname}
2) 创建MDS用户
# ceph auth get-or-create mds.{hostname} osd "allow rwx" mds "allow" mon "allow profile mds"
3)获取MDS密钥并导入其数据目录
# ceph auth get mds.{hostname} | tee /var/lib/ceph/mds/ceph-{hostname}/keyring
4)启动守护进程
#systemctl restart ceph-mds@{hostname} && systemctl enable ceph-mds@{hostname}
9.2 创建cephfs
1)创建
#ceph osd pool create cephfsdata <pg_num> <pgp_num>
#ceph osd pool create metadata <pg_num> <pgp_num>
#ceph fs new cephfs metadata cephfsdata
2)检查状态
#ceph mds stat
#ceph fs status
9.3 挂载cephfs
1)创建挂载目录
#mkdir /mnt/cephfs
2)查看管理员密钥
密钥存放于ceph.client.admin.keyring内,key值即为密钥
3)使用mount命令挂载
# mount ceph monip:6789/ /mnt/cephfs -o name=admin,secret={secretkey}
4)使用df -Th命令查看挂载情况
10 RGW使用10.1 配置RGW
1)创建RGW数据目录
# mkdir – p /var/lib/ceph/radosgw/ceph-rgw.{hostname}
2)创建 auth认证
#ceph auth get-or-create client.rgw.{hostname} osd "allow rwx" mon "allow rw"
3)获取auth认证密钥
#ceph auth get client.rgw.{hostname} | tee /var/lib/ceph/radosgw/ceph-rgw.{hostname}/keyring
4)修改rgw数据目录所属用户和用户组
chown -R ceph:ceph /var/lib/ceph/radosgw/ceph-rgw.{hostname}
5)创建对象网关所需存储池
# for pools in {.rgw.root,default.rgw.control,default.rgw.meta,default.rgw.log,default.rgw.buckets.index,default.rgw.buckets.data};do ceph osd pool create $pools <pg_num> <pgp_num> ;done
6)启动rgw进程
#systemctl enable ceph-radosgw@rgw.{hostname}
#systemctl start ceph-radosgw@rgw.{hostname}
7)创建s3类型访问用户
#radosgw-admin user create --uid="user" --display-name="First User"
8)创建swift类型访问用户
#radosgw-admin subuser create --uid=user --subuser=user:swift --access=full
10.2 Swift 验证
1)依赖安装
#yum install python-setuptools
#easy_install pip
#pip install --upgrade setuptools
#pip install --upgrade python-swiftclient
2)运行测试命令,注意:红色部分为创建switf用户时产生的swift_keys-->secret_key的值
#swift -A http://IP:<port>/auth/1.0 -U
user:swift -K '244+fz2gSqoHwR3lYtSbIyomyPHf3i7rgSJrF/IA' list
3)返回结果大概如下
my-new-bucket
10.3 S3验证
1)安装依赖库
#yum install python-boto -y
2)创建s3测试脚本,红色部分为创建s3用户产生的keys-->access_key、secret_key的值
vim s3test.py
import boto.s3.connection
access_key = 'K5983B5LRRCJAY3XJZE7'
secret_key = 'ZJQ0DFerteSSinagLNv70EFdEBRf5vFj94q9n8Eo'
conn = boto.connect_s3(
aws_access_key_id=access_key,
aws_secret_access_key=secret_key,
host='ip', port=<port>,
is_secure=False, calling_format=boto.s3.connection.OrdinaryCallingFormat(),
)
bucket = conn.create_bucket('new-bucket')
for bucket in conn.get_all_buckets():
print "{name} {created}".format(
name=bucket.name,
created=bucket.creation_date,
)
3)运行脚本
python s3test.py
4)返回结果大概如下
s3-test-bucket 2021-10-08T02:36:23.913Z
11 存储池相关操作11.1 创建存储池
--创建存储池
#ceph osd pool create <poolname> <pg_num> <pgp_num>
--修改存储池应用类型
#ceph osd pool application enable <poolname> [cephfs,rbd,rgw]
11.2 删除存储池
#ceph osd pool delete <poolname> <poolname> --yes-i-really-really-mean-it

& b  c* N% ^, u& e9 v, t3 z

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-8-23 15:28:49 | 显示全部楼层
部署Ceph mon服务
) g( E; f8 S; q/ O9 i3 Y4 I安装Ceph-mon服务程序(所有设备执行)
: {2 I( u2 x" v5 H, x# U7 H5 w
* q6 m# `% ~- k3 vyum install -y ceph-mon
. A; K2 v# z6 L! U
0 e+ j9 H' ~) w# V9 b8 W
( j. T6 D; Z: J3 I* h4 r+ y/ t  D初始化Mon服务(Ceph 01执行)7 U9 w3 }  v8 ^

7 _7 j! R, l4 u: Y+ {3 U$ t生成uuid" Z' l  X/ V4 v; H
5 J  D; @+ t5 ^/ F- ]
uuidgen
2 G* V) O3 j+ n" B/ {> 9bf24809-220b-4910-b384-c1f06ea80728
# l0 ]  D. [( v9 ^- H2 N* b2 ]7 }6 q5 N( ]& E* O9 {- u/ R6 k
3 C4 K  U3 j2 T* T% i: l2 n" M  l
创建Ceph配置文件" j) y+ Z9 a. O- j

2 @* Z2 G9 P# k4 y' o5 Tcat >> /etc/ceph/ceph.conf <<EOF9 \' N# t& x+ _1 A3 K4 X& O
[global]* @$ g5 E5 D: [# Q
fsid = 9bf24809-220b-4910-b384-c1f06ea80728
' \* Y$ k) X5 h2 U1 B; U, Q1 B/ ^1 umon_initial_members = ceph01,ceph02,ceph03
; @6 Q- y9 |6 ]4 umon_host = 10.40.65.156,10.40.65.175,10.40.65.129
5 Q7 V; }) U! x+ S; a: y+ K( wpublic_network = 10.40.65.0/24: ]) v1 S, w  Q: ^( g% i' U) Q' I
auth_cluster_required = cephx
$ l% h! G( A+ ^# |auth_service_required = cephx. i+ h. ?. I, U: [* `
auth_client_required = cephx) F4 c! Q! l8 t* a; q  ~( F& E, f/ F
osd_journal_size = 1024
5 Z$ y$ A( w4 E' }osd_pool_default_size = 3
. G( T: F6 ^! _- e( `) |1 {osd_pool_default_min_size = 2  i, L2 c; `  r
osd_pool_default_pg_num = 64# B4 `* I5 o$ _* a' j; o
osd_pool_default_pgp_num = 648 S4 S7 ^2 a; H
osd_crush_chooseleaf_type = 1/ a% Y& Z5 l5 X6 h& `; ^6 i
EOF
; H+ \% a/ z( N/ N8 [6 h$ ]- P/ Z  g9 A9 R( h- [

! ?7 g3 k. Q# C! h& X3 U) U创建集群Monitor密钥。
* C' e' B2 t9 W6 S5 H/ }" Y( Z, E. L2 O  B; c! C$ Y! Q: Z
ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *': J6 e4 b8 p% F/ a2 T7 J9 m. A

2 T2 {" i* s- ~, h, F1 d5 P
; d& v: x( C$ u5 t创建client.admin用户、client.bootstrap-osd用户密钥,添加到集群密钥中。" j2 w; S$ ~/ B0 g& @

; m% k! R1 ?: rceph-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 *'. q% v9 s" f0 F  L, o
ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
5 {! l, @' W7 O$ m
6 J- V& c& j, v4 ]+ Q
& z; m; r5 t( W9 l+ k" G9 pceph-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'9 K( @  ]! `6 s( Y" D. e
ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring* E) [. B# E8 b; k9 F: h/ E' B! y
" H. r% n4 R/ N7 k5 O) g
4 e0 }7 c4 o/ X) ?
使用主机名、主机IP地址、FSID生成monitor map。
1 Z& ^5 h6 [- C: h4 }' \; L1 e6 ?/ z& U& v, j7 t' q2 L( j
monmaptool --create --add ceph01 10.40.65.156 --add ceph02 10.40.65.175 --add ceph03 10.40.65.129 --fsid 9bf24809-220b-4910-b384-c1f06ea80728 /tmp/monmap
: l3 n) a& W% S4 n3 L6 o
( ~4 V2 Q+ g5 s7 @! V: F& @' q
; E/ m0 p1 u- R! Z& ]
& [/ j& Y0 v& V$ b/ d* S初始化并启动monitor服务
  x, j0 A  B1 L  Z% n9 s
  J& Q2 u( Y* w4 L% e9 D/ T& X! Tsudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph01
: d# s& A+ w7 V& @& _chown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap
/ F) t" q: L% l* ~sudo -u ceph ceph-mon --mkfs -i ceph01 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring( }) i; B: p$ ^1 n( W- W
ls /var/lib/ceph/mon/ceph-ceph01/% R3 K* f: Q8 F8 E3 ~7 t* J

8 m  N/ V; h% }) o: w. w0 R# W/ l7 ~! n0 `
systemctl start ceph-mon@ceph013 m$ V& c5 Z0 y- \2 X0 w
systemctl enable ceph-mon@ceph01
5 \3 m2 m/ d" k; L3 ?3 R: N% V& zsystemctl status ceph-mon@ceph01
3 e# D1 g  L4 @) b& t+ f8 \; ]6 ^% s' p

" P. M, J$ j6 j- [同步配置文件、密钥、monmap到其他节点中(Ceph 01执行)9 m4 U' |; B- M
  t" A7 g2 b0 `' R0 S2 t9 ~/ U$ C- w
复制ceph.client.admin.keyring、client.bootstrap-osd key、ceph.mon.keyring、monitor map、ceph.conf到另外2个节点( G' h: L" L5 d. \8 b7 E2 ]
5 x; w* @- Z# z9 s0 f6 ]- W
scp /etc/ceph/ceph.client.admin.keyring root@ceph02:/etc/ceph/
6 `9 ?: ^# h0 ?. u, {# }scp /etc/ceph/ceph.client.admin.keyring root@ceph03:/etc/ceph/$ p; }+ @: a& W* d

4 I7 Y$ Y3 Q9 ?' z% {8 V9 t9 V# D5 l) P; b5 X+ H- B
scp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph02:/var/lib/ceph/bootstrap-osd/8 L6 D& B1 w8 g+ F5 B( S7 W7 o
scp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph03:/var/lib/ceph/bootstrap-osd/
" }* g" @1 T/ m( O+ Z
3 j" {. Z/ x' }" A$ Z. a3 q5 x/ j4 r* r
scp /tmp/ceph.mon.keyring root@ceph02:/tmp/  |  _+ P2 x! Q0 R
scp /tmp/ceph.mon.keyring root@ceph03:/tmp/7 K5 s+ S% U7 H2 Z2 H

  [5 z$ U  X5 K+ k( C; {
/ p: U8 O/ C8 k2 P" W- oscp /tmp/monmap root@ceph02:/tmp/
$ ~, E; [. q) i: x0 Yscp /tmp/monmap root@ceph03:/tmp/
+ D' A. B9 X. R6 u( r# {' d0 i% s( c+ H) k$ v- j
4 E- t/ s+ P7 H( A4 Z. b
scp /etc/ceph/ceph.conf root@ceph02:/etc/ceph/7 M6 Z" F# M$ P% l5 h$ g3 Q+ y6 G8 @
scp /etc/ceph/ceph.conf root@ceph03:/etc/ceph/+ A* }: u* c2 ?
! T0 }5 K/ X8 v) y; M% P1 E+ V/ x
1 g  m: g; h; g3 Y8 R% O& t
启动其他节点的monitor服务(Ceph 02执行)
$ \( {! b, d3 A" p, x5 S4 t1 b( {/ S# _
sudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph02
! j, o5 @. ~  I, Jchown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap" K* D1 A- H  ~& ~5 V
sudo -u ceph ceph-mon --mkfs -i ceph02 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
9 r9 S# W2 L% J; q  D; g& K, Ils /var/lib/ceph/mon/ceph-ceph02/7 l* L% {( S, X
4 ^* j! Y2 e! v- e- @# I* V
& t: s/ F. p; g. z
systemctl start ceph-mon@ceph02! J7 e8 J6 N9 \) B: e1 n' s
systemctl enable ceph-mon@ceph02  D) {  o; O4 H" K
systemctl status ceph-mon@ceph02
. B1 z6 o0 q% J1 O9 s7 l/ @" T, y4 D  ?2 O0 K1 I
. q$ f, r9 s& R" ^$ Z9 R
启动其他节点的monitor服务(Ceph 03执行). m4 ]$ o2 L- f& W6 P& f- t5 W

& u: A8 T! ~' n7 ^6 Q9 psudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph03
0 n# Y# P7 i& h! ~chown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap+ c2 c: F. f- K+ G9 }0 d; U. p
sudo -u ceph ceph-mon --mkfs -i ceph03 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring6 h% V; X5 O$ E1 C" r0 _
ls /var/lib/ceph/mon/ceph-ceph03/3 [4 X7 H2 U8 b4 \
; c3 Z$ t% u1 g7 f& x

: n9 ?+ D1 b9 asystemctl start ceph-mon@ceph03/ @2 r3 L4 Y) n: x# F6 R9 B
systemctl enable ceph-mon@ceph03
9 r& l* k6 F" V& E- c$ ksystemctl status ceph-mon@ceph03
1 I! b& ?0 V7 U5 ~; Q/ V9 b
" {+ P! M, i3 G% @; W7 Y# N+ _& }7 S- `7 j
查看当前集群状态(任意节点执行)
7 }6 W. `/ X& k8 c! w+ S: h通过ceph -s命令查询集群状态,可见集群services中3个mon服务已启动。- q) ^0 J/ t3 a7 P# b7 u7 H

' j3 O# K% [! n/ b( C% s2 X        ceph -s
4 f# i7 N* W& O& w. e; D+ z
/ N, M2 V, X" S0 y: |1 u$ @/ b>   cluster:
1 c2 w  \4 e* i+ A0 e- Y>     id:     ef944f47-8f98-4b50-b1cb-983e9948deee
5 T8 E  s( K  T>     health: HEALTH_OK+ T$ f1 r! [& l. p& }, B. o4 f
>   services:. X  p/ M% q, x3 m: Z- {. y
>     mon: 3 daemons, quorum controller2,controller3,controller1 (age 2s): n, |# w  t5 R  |# ]( D: W
>     mgr: no daemons active
; M( t/ i' T( a  f% N; e+ {* S$ L>     osd: 0 osds: 0 up, 0 in
! Q# t! s: s* F; G$ i  i>     data:
! Z1 a  ?+ G+ u  C1 r' P>     pools:   0 pools, 0 pgs' R/ |; c) p/ R! m' h5 [" j
>     objects: 0 objects, 0 B
' D8 Z& @9 S" U; x# l4 E1 f( j. L>     usage:   0 B used, 0 B / 0 B avail$ n% u, l% f4 v6 L+ f
>     pgs:
4 B  G/ K) k! ~
: I3 P" a  ?+ o  e; v1 l5 z3 ?
  t0 i* J  M+ g7 P, H2 d2 {5 C& cHEALTH_WARN警报信息清除
% N1 y$ {$ M* ^9 m, t3 {
3 m8 f. o1 B( b; p2 J$ w) M出现警告:mons are allowing insecure global_id reclaim。$ g6 n! O) L  X* q: T
解决办法:ceph config set mon auth_allow_insecure_global_id_reclaim false
, O- {& ^- d, n, i# G  e# W; `$ d3 d- \. t3 L* h, v/ ?' i; X+ D
出现警告:monitors have not enabled msgr27 `) n; K& I1 d& k* I
解决办法:ceph mon enable-msgr25 z* o/ s* `, z' W, c$ h
4 l& N: ^; H! R7 ?
部署Ceph osd服务(ceph-volume 自动化创建): R7 W' x& k( i( y3 S( o& ]
安装Ceph-osd服务程序(所有设备执行)! }, x% Z  y$ h" P' i) T# Z
yum install -y ceph-osd% X% u" o9 i) E) H0 N7 k' K2 Q

8 L7 ~  G& f, A9 |7 J( J9 ]
9 y8 v3 K6 R7 d9 e& M( B' f6 n0 p初始化osd服务(所有设备执行)
7 p9 c, b  L- {7 c通过fdisk等工具查看磁盘盘符,然后利用ceph-volume工具自动化创建osd服务。0 p# E* H! d! [% a
ceph-volume lvm create --data /dev/sda
" v* E. ~# t7 M, |ceph-volume lvm create --data /dev/sdb! e5 i: O% E( }) C
ceph-volume lvm create --data /dev/sdc
- ]8 Z" }& p# i1 H- \5 ?6 e( R5 I3 Z9 r/ k1 ?; t. v8 K; T" |! b8 W

' ]: A4 p9 ]9 I) a0 G查看当前集群状态(任意节点执行)0 W6 I- k& c/ K* F4 F
通过ceph osd tree命令查询集群状态,可见集群services中所有osd服务已启动。
$ q% ?. [# u* t0 ~/ _& j0 [4 pceph osd tree* b! W( H1 Y" {1 H* |) N
> ID CLASS WEIGHT   TYPE NAME       STATUS REWEIGHT PRI-AFF! Y" g  j' m/ m1 e9 Z- B
> -1       16.36908 root default
% P) i$ ^* \) x1 W# C; ]4 z> -3        5.45636     host ceph01$ N/ ?! m1 h' v3 }9 F
>  0   hdd  1.81879         osd.0       up  1.00000 1.00000
- m5 ]$ S9 ~# c& h* V>  1   hdd  1.81879         osd.1       up  1.00000 1.00000/ s* Q2 Q+ F  A
>  2   hdd  1.81879         osd.2       up  1.00000 1.00000. ?9 C, A$ H. v0 r! {  A4 u( _, \
> -5        5.45636     host ceph02
& e. u5 H' C, g% T+ B>  3   hdd  1.81879         osd.3       up  1.00000 1.00000
# |! x( i& D& d# _; w7 T: M>  4   hdd  1.81879         osd.4       up  1.00000 1.00000
% |0 j  `/ t3 _( p>  5   hdd  1.81879         osd.5       up  1.00000 1.000008 R4 O- K- a* m, d
> -7        5.45636     host ceph03  Z4 j. m2 n* `* }
>  6   hdd  1.81879         osd.6       up  1.00000 1.00000( {# }/ C( ]5 P* G9 G" i
>  7   hdd  1.81879         osd.7       up  1.00000 1.00000
- Z3 j9 _' {9 V3 z- r, t- h4 l>  8   hdd  1.81879         osd.8       up  1.00000 1.00000
4 S. N# M0 N2 q$ ^- I0 G- t0 _  V# d. V- P6 [0 |
' Q- D+ Y2 T1 N2 m: P4 o# E, s
5 h) m; B$ z( x! h( z7 d
3 A- ~. h. L4 o# K9 A8 N' d
部署Ceph mgr服务并开启Dashboard2 W" @. C. x0 S
安装Ceph-mgr服务程序(所有设备执行)4 N# e& U0 d% C9 |9 Z
0 Z2 D4 s6 w' ^3 t# b
yum install -y ceph-mgr
; v( s! V' s4 r7 t( y" Q6 N) u+ `4 p1 h' g
; `, a* A% _" y1 [; X$ C& p6 h
初始化并启动主MGR服务(Ceph01执行)
8 E# b9 L# L. _
1 t  U4 N/ W- ]- ^* ?mkdir -p /var/lib/ceph/mgr/ceph-ceph010 U& a6 n9 B0 R' M9 U  I% _
chown ceph.ceph -R /var/lib/ceph
& p$ ~, M7 z# y4 Hceph-authtool --create-keyring /etc/ceph/ceph.mgr.ceph01.keyring --gen-key -n mgr.ceph01 --cap mon 'allow profile mgr' --cap osd 'allow *' --cap mds 'allow *'
4 q. R- Z! t6 G$ iceph auth import -i /etc/ceph/ceph.mgr.ceph01.keyring1 W$ r. E6 `! G) C' @7 @
ceph auth get-or-create mgr.ceph01 -o /var/lib/ceph/mgr/ceph-ceph01/keyring
! U, _' }) I/ h) t$ `' r# ?" B. i3 i) Z, Q! }0 ?7 G& @

9 B  ]6 u/ K4 f; V( `systemctl start ceph-mgr@ceph01
8 F4 |3 D- n' f, N" w: o6 dsystemctl enable ceph-mgr@ceph01
- k) b$ S" Q# X" J: q( A& hsystemctl status ceph-mgr@ceph019 j7 w2 r1 w. ?0 ]1 F. `' ~" |5 b* F
7 I5 @( E: m8 C. Q' F

0 ]$ R9 v/ q; a0 h7 g# n; P; k$ d/ A初始化并启动从MGR服务(Ceph02执行)) E6 J6 n) T$ [, R8 y

  N7 h, m  R: ~- w4 umkdir -p /var/lib/ceph/mgr/ceph-ceph02: w& \; }* T6 B: v% i0 ~5 i
chown ceph.ceph -R /var/lib/ceph/ [# u( p5 \4 J; H" P* _
ceph-authtool --create-keyring /etc/ceph/ceph.mgr.ceph02.keyring --gen-key -n mgr.ceph02 --cap mon 'allow profile mgr' --cap osd 'allow *' --cap mds 'allow *'
/ J* R9 v- \* p- G* c3 J, o! Pceph auth import -i /etc/ceph/ceph.mgr.ceph02.keyring: y0 G: u7 D& E  Y  o! P$ c. t
ceph auth get-or-create mgr.ceph02 -o /var/lib/ceph/mgr/ceph-ceph02/keyring
5 [& L" f( e) A# {& u+ S& K2 m4 q2 B; X

/ `( U) c5 U* }, [0 E; Dsystemctl start ceph-mgr@ceph02# T0 f4 U! V+ h) L6 ^/ _
systemctl enable ceph-mgr@ceph02$ h; _! }/ Z$ M* l: S' ~+ A
systemctl status ceph-mgr@ceph025 q9 F; P" l7 i8 G

1 Q( I/ h2 r9 L8 h* y/ Q) \2 n' q8 w* Q$ X
初始化并启动从MGR服务(Ceph03执行)
' l$ s( o% g* s& t+ Y0 B  t4 q; g/ O$ X
mkdir -p /var/lib/ceph/mgr/ceph-ceph03: Y- p, E) X, Y4 e
chown ceph.ceph -R /var/lib/ceph) R: {, r/ v# A8 t, l
ceph-authtool --create-keyring /etc/ceph/ceph.mgr.ceph03.keyring --gen-key -n mgr.ceph03 --cap mon 'allow profile mgr' --cap osd 'allow *' --cap mds 'allow *'
' [7 {, B( u' l# L4 u. y0 e# fceph auth import -i /etc/ceph/ceph.mgr.ceph03.keyring
" B. _& i; h: R- a; O* E; Tceph auth get-or-create mgr.ceph03 -o /var/lib/ceph/mgr/ceph-ceph03/keyring
2 \: m1 O7 L- F# c% _0 H' l
1 ^. N/ A- E2 R* _9 i! v& C* z
8 e$ j) E/ ?; E; I0 csystemctl start ceph-mgr@ceph03' U% T# @. @3 u! ?$ O7 O
systemctl enable ceph-mgr@ceph031 l! W  V6 O; v- g# y2 k
systemctl status ceph-mgr@ceph030 n: ^" Z& ^1 k( o! d  A' H5 K
! {  K" R9 L( o) H6 w1 G

; \6 W5 l. i7 ~  @
6 G- g% y1 t! j5 U" m5 y
. ^3 L3 Q8 H% r5 E, e  g/ g# v9 k2 `查看当前集群状态(任意节点执行)/ @# R( B) P7 W) _4 c* d( Y
通过ceph -s命令查询集群状态,可见集群services中3个mgr服务已启动。$ g- ?! |1 Y3 \" E6 Y
0 P, @0 I9 {+ ^1 ]+ q
ceph -s  D4 z0 K" v. W
> cluster: 8 I2 b0 ^- v. y  P8 L( C) c
>                 id:     cf3862c5-f8f6-423e-a03e-beb40fecb74a        
, h" B6 a' l8 f# ?* M1 Z>                 health: HEALTH_OK0 ?/ n% n. C. g3 \) m9 A0 ]/ B, o: b
> 4 }& n+ d* D/ x+ w
> services:         * q" z: q! S4 Q3 \) E
>                 mon:         3 daemons, quorum ceph03,ceph02,ceph01 (age 12d)         " B9 Q4 H# O" C4 F
>                 mgr:        ceph01(active, since 3w), standbys: ceph02、ceph03                        ; l' V& I# v' z( Z1 Q
>                 osd:    9 osds: 9 up (since 89s), 9 in (since 89s)9 P6 M* _" s) |( {, ~
> / M; X8 o2 n% |2 g3 B8 w$ }! p. A
> data:
( d% S- N3 I' |- m- |, c4 g3 I! J( J>                  pools:   0 pools, 0 pgs0 ^4 Q" v+ Z; q0 w3 C  H9 \
>                 objects: 0 objects, 0 B
4 |6 s8 g) v4 F2 w9 C& q0 o, J>                 usage:   9.0 GiB used, 16 TiB / 16 TiB avail
" j2 [: F2 a1 v>                 pgs:9 a$ r- p0 b; t' k0 f

. }. Q3 B! |* z
6 m) P% }$ [: V) H8 \9 U使能Dashboard访问功能(任意节点执行)
4 t- H) q% y* U7 a开启mgr dashboard功能: S0 a) \% A9 E
6 ^' `. ?3 j9 J( ?; S
ceph mgr module enable dashboard: b0 j" t! J2 D: x! L

& c% g; c- b' _生成并安装自签名的证书5 ^- @9 q. i& B- b
; S4 W6 C  W& e
ceph dashboard create-self-signed-cert
) S0 c5 \' K+ C: E, C
8 N, d& I' H0 j- H" S配置dashboard5 ^2 ]2 a* u/ W6 N' a& n
: ^/ s! C# P2 ^8 Y  p
ceph config set mgr mgr/dashboard/server_addr 10.40.65.148/ f0 I; U. G3 I& |+ k9 T
ceph config set mgr mgr/dashboard/server_port 80806 c2 _- y# {  K
ceph config set mgr mgr/dashboard/ssl_server_port 8443& k+ P& k+ }& V  j, @. K

" L: s9 G' j6 @& {
$ x! j' `# ~* D# k+ h创建一个dashboard登录用户名密码
: E* \* n6 @/ H$ G3 {9 G6 I  a* w1 @  F# }4 V; G# u( s% C
echo '123456' > password.txt
! {2 S- o9 f7 |- N) r) P. k' {" t0 Jceph dashboard ac-user-create admin  administrator -i password.txt/ o+ i3 \/ V3 D+ B  Y% q% U) q
+ S; f4 |6 y" Y

6 B8 c/ X$ X3 w9 ]7 G查看服务访问方式
  s0 a% w" f' y; N* `! ~- {  S" ^2 L9 p6 J! J0 Y0 o$ P' J! h
        ceph mgr services
- O* ^7 m7 B, i% m  q>         {7 i1 U, |4 @- K6 ?+ D, I3 O
>     "dashboard": "https://ceph01:8443/" ! @' J# \" C: p
>   }0 w, g9 I/ P& w. G) F

7 e" k4 }" ~# N: R$ {% A  |" C1 s2 t) v0 P# R
通过web访问Ceph Dashboard,用户名密码为admin/123456
% P* y$ q* y1 {7 \6 ?( C3 y6 |5 V
/ k: s/ q0 q7 Z4 T  [& {* f5 Ahttps://10.40.65.148:8443/ u* K- v2 k2 J# Q
" m' j7 p5 Z0 Y

! q/ l  H& r, }3 x8 g9 s0 W# ]: |( k  _
客户端访问配置(RBD权限)(客户端执行)
% a% e) l  C0 [; K安装Ceph4 l5 f5 u' \/ w$ k; ~

3 Q# ^+ R$ t6 C- n5 s* \yum install -y ceph-common! l$ D8 @) o) A) X' y" A
2 [0 o" e) |* `( \+ S

: N9 r1 J/ j1 Z4 D/ r  M( n. [& J拷贝服务器端的配置文件及密钥
5 y& ~; \1 b7 @1 s4 h6 q) y& Y9 x9 K: Z6 |3 G8 }7 S6 ^
scp root@ceph01:/etc/ceph/ceph.conf ./
5 i% {) V! r0 V& @" U4 W6 V+ |scp root@ceph01:/etc/ceph/ceph.client.admin.keyring ./
( b& ~! C. [4 U. x: p& }( f0 s& U+ S$ J3 n8 u

' A9 a9 O* q7 i; M测试连接状态2 `& E3 }  w4 @; S

* [" H* D$ N, r- K) U# mceph -s& _; ?6 y. ]* \7 N2 ]1 M# h0 X
> cluster: ( E# V! Z) ^% V
>                 id:     cf3862c5-f8f6-423e-a03e-beb40fecb74a        
) ~( H8 }' ?- n3 \+ u  I- r& I>                 health: HEALTH_OK4 w0 i; G5 ]2 S, A2 l/ p
>
3 ~3 \% f+ F) e  d8 ], o. ]> services:           q* d% @4 j5 P/ A+ }
>                 mon:         3 daemons, quorum ceph03,ceph02,ceph01 (age 12d)        
  {# _5 U+ m$ K* V8 w& B1 _) ?>                 mgr:        ceph01(active, since 3w), standbys: ceph02、ceph03                        / I: R8 J8 R+ c, S3 J7 m
>                 osd:    9 osds: 9 up (since 89s), 9 in (since 89s)
# h! _  z+ V3 g$ s% \2 P& O> + E2 y4 j8 P' \# N: b3 H9 @
> data:  p: Y  f* I* g  M2 u* x
>                  pools:   0 pools, 0 pgs
5 V- ^# [3 N7 h( R>                 objects: 0 objects, 0 B* o& }- O/ Z# w" p& r2 I$ y" c0 v% ]
>                 usage:   9.0 GiB used, 16 TiB / 16 TiB avail
/ C! ^+ ?" c6 f' z! E>                 pgs:8 D7 Q" s! D7 H+ _

$ S' d" W7 ~: Y0 J; _0 m5 J6 Q7 _- k5 c2 W! r- M* P
块设备服务测试(客户端执行)& I: e2 |6 k6 q! j" ?
创建块设备池7 a/ ]7 E) `7 P" D
ceph osd pool create test-pool 128! [; f# b4 D0 \
ceph osd pool application enable test-pool rbd
7 X, Q: c0 W  z+ x$ d6 R# hceph osd lspools
! x6 g- k" x( |, K' [  B. M" A" ^$ w, _
创建块设备镜像0 g* Y, _) f" c$ h
rbd create --size 1T disk01 --pool test-pool
! \# i1 }# U: g( e
! h' F: w& X. i/ J, v9 c( |rbd ls test-pool -l
1 [; E( p; e, H* ~rbd info test-pool/disk01
7 K, L' x& j% j& j' u5 Q) I6 g' b! j' F. v4 h9 u& I
修改块设备镜像能力(镜像能力与内核版本相关)$ e' ?. V  o, ?, j; E
rbd feature disable test-pool/disk01 exclusive-lock, object-map, fast-diff, deep-flatten
/ Y/ ^8 K, a! k% O) U9 l. A1 b  x; i9 O
映射块设备3 |4 u6 a8 m' H5 y9 s0 b
rbd map test-pool/disk01
3 L$ k/ m( B2 D2 h! Z2 Kmkfs.xfs /dev/rbd0 , I. {! J+ i# t  _7 ~
rbd showmapped* h) y) }0 @' {( T. f9 E9 M9 S: o; a' X( X" P

: A) L! E/ h( f挂载并使用块设备
- |1 ?% {' f' Fmkdir /home/loongson/ceph_disk01
4 [* l& ]1 O* l. Nmount /dev/rbd0 /home/loongson/ceph_disk01
+ r8 K$ c2 G" u  a2 _cd /home/loongson/ceph_disk01
% {+ V' c0 i# ?3 _$ U+ F0 \4 L2 ]( b5 S4 ~

5 I1 p% o0 p* G/ O% `$ ?$ X

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-8-23 17:04:35 | 显示全部楼层
# radosgw-admin zonegroup remove --rgw-zonegroup=default --rgw-zone=default0 R1 B; X5 B/ T" H5 x
# radosgw-admin period update --commit, A7 P; I; h/ d  w5 }4 ~! R
# radosgw-admin zone delete --rgw-zone=default5 e( `# ]7 M! V# E; c  U
# radosgw-admin period update --commit
+ O, p8 P: \' B2 q# radosgw-admin zonegroup delete --rgw-zonegroup=default; _+ o  u! m6 z( M3 [+ ^
# radosgw-admin period update --commit
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-11 23:02 , Processed in 0.020311 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表