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

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

[复制链接]

0

主题

0

回帖

9

积分

管理员

积分
9
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

5 f* {% l' K3 [: r# j

0

主题

0

回帖

9

积分

管理员

积分
9
QQ
 楼主| 发表于 2022-8-23 15:28:49 | 显示全部楼层
部署Ceph mon服务; B) c* W4 p* G: O6 j3 m
安装Ceph-mon服务程序(所有设备执行)
# _6 X8 \( k" `1 w0 R  U; @. O/ t; {  m  W8 S
yum install -y ceph-mon
2 x1 [0 t( C! ?) V9 F) d3 d& A5 v% Z" i2 p

9 s: {" F* `1 F) H8 O6 v( T初始化Mon服务(Ceph 01执行)
& ~2 J) w* E4 L$ t3 i: F4 a: t
& l: W" _: i2 n2 x  T生成uuid2 s/ |. p% k2 G# @5 V5 @$ o$ K3 ~

( ^3 m- p; T4 i% ]uuidgen
+ S8 \& G5 U7 M% A" }$ Q> 9bf24809-220b-4910-b384-c1f06ea807289 K3 z# q! W. {$ m; \$ A9 }

7 f3 j( v2 i: d# S5 p) g$ ~/ B* h
创建Ceph配置文件
  [# U2 I9 A9 y1 U7 M  [6 f& g: h. I( D. w( _
cat >> /etc/ceph/ceph.conf <<EOF5 z! F5 ?; U- X% E; W6 p4 S* w
[global]# K# S  Q6 C5 H( s1 G
fsid = 9bf24809-220b-4910-b384-c1f06ea80728( h6 C; s% y$ h6 d. R9 A/ `
mon_initial_members = ceph01,ceph02,ceph03
2 c- ^$ K. q0 \. N( Nmon_host = 10.40.65.156,10.40.65.175,10.40.65.129) b, y' P' ^2 _3 H, p8 N( V
public_network = 10.40.65.0/24
( b/ d  U* v9 @+ x  aauth_cluster_required = cephx
" l" ^) _; \5 H! e/ `9 b6 l4 c5 L- y7 Pauth_service_required = cephx: y. m* z/ X7 t' i4 L" G6 [
auth_client_required = cephx
$ G) v/ T* W3 d5 x: n0 Hosd_journal_size = 1024
7 j9 E5 J# d  E& G& _* ]' vosd_pool_default_size = 3
! V1 r4 {, t! }: X0 }8 D0 }% Dosd_pool_default_min_size = 22 C& p+ Z9 z+ D0 n! Z
osd_pool_default_pg_num = 64
) Z* g& b# `3 t/ ]5 aosd_pool_default_pgp_num = 64
) R( e0 x0 i' |/ Rosd_crush_chooseleaf_type = 1$ k; {6 f' X2 i
EOF# V& ?7 j/ p5 a% x( y  T

- u! |) z3 _4 _0 l8 M! t: E8 t
# U! O+ w8 k4 X$ c9 C+ n$ l创建集群Monitor密钥。
6 c" l" O$ P( o$ U# d: q9 t/ \' ?* ?) e
ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'& K. N+ `5 D) F7 ~( Y# W" P6 X8 j2 F7 ~

) F5 ~  o3 {& U! D( D. {/ ~/ ?* h) |" E
创建client.admin用户、client.bootstrap-osd用户密钥,添加到集群密钥中。
0 o8 \0 J, F9 E# w, |( ?
! I& m- S( U# Y7 v1 uceph-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 *'
6 \: W( Z. o8 j& J& p& M5 t. Xceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring2 l5 d' q$ k& l- ?+ r8 ?: o
$ V* ]- _0 o- m; \/ H' p

& J* q& q- z! M/ n" ^; D/ F7 ?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'
( m' E1 ~: s% f, Lceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring* a8 J' D6 I0 a: M5 J& V

6 r+ v% n2 m6 S+ P3 J7 k# ]
# Y6 I& O$ q. n" J5 o使用主机名、主机IP地址、FSID生成monitor map。& r/ ~+ |9 e, A# d* |: T
+ z$ X% I& ?! a
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
5 Q6 o( p4 Z/ u' o. b' o5 ?, N( D
# u9 |8 G: Q& ^4 K) F6 a3 q/ T3 y9 e8 G1 q

+ Q& }. l* A3 v8 n初始化并启动monitor服务
5 ?6 ?3 s0 L) H) c- e
3 @6 \  p8 U) ksudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph01
* A& E3 O9 }' ]' j% Y# wchown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap; k2 E5 u/ N* L" X: |6 g6 v0 X
sudo -u ceph ceph-mon --mkfs -i ceph01 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring, `- `3 q: x* D0 G6 S, I
ls /var/lib/ceph/mon/ceph-ceph01/# i; _/ Z: D9 i

! _- K# P1 Y* u! @" n8 X& [. W+ n
systemctl start ceph-mon@ceph01
8 T4 P& x" ~( ~# Psystemctl enable ceph-mon@ceph01
: K- `# @. E+ ~2 F' [: ~: e: Jsystemctl status ceph-mon@ceph01
) O: x" V: S7 x$ [% g. h' E! L' P$ Z2 D8 A. c: A0 i' C
0 ?2 \% t! F( Z& q2 Y
同步配置文件、密钥、monmap到其他节点中(Ceph 01执行)
) }0 Y3 |* w+ q- q! H
0 u9 m! N" t9 q; i' C复制ceph.client.admin.keyring、client.bootstrap-osd key、ceph.mon.keyring、monitor map、ceph.conf到另外2个节点
2 m$ k7 i1 @( ~4 {6 N/ n
) [/ i* d" |" p& Lscp /etc/ceph/ceph.client.admin.keyring root@ceph02:/etc/ceph/
1 i# w. u$ w' qscp /etc/ceph/ceph.client.admin.keyring root@ceph03:/etc/ceph/3 w+ z1 r( W2 N+ h7 c

6 S* d5 u* s6 p; s8 |7 w6 A) `) R0 x! ^$ G# [) C! ?) h
scp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph02:/var/lib/ceph/bootstrap-osd/# M5 G+ f4 k! t% }; W
scp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph03:/var/lib/ceph/bootstrap-osd/! ]. C9 W3 ]/ j- z0 O2 V
& [' a/ A4 y7 q! J! ^
1 D& S7 }8 S$ g( E1 W5 E7 [. [" F
scp /tmp/ceph.mon.keyring root@ceph02:/tmp/  L6 x7 \7 C  ]4 D" _7 |
scp /tmp/ceph.mon.keyring root@ceph03:/tmp/) C' z, r) n8 h; c6 }: v0 X! {
5 w3 {" w  \  J" M, U  F% T

, e% I( c: S( Qscp /tmp/monmap root@ceph02:/tmp/
; n0 K, A+ |( T$ p# H* s) s% W- @, Yscp /tmp/monmap root@ceph03:/tmp/
  |, {+ K& s  p- g8 D7 N2 H% i: C* J" o: m1 f- S

) H1 O2 b$ i5 q- yscp /etc/ceph/ceph.conf root@ceph02:/etc/ceph/6 p' k- }8 R) N6 E
scp /etc/ceph/ceph.conf root@ceph03:/etc/ceph/
: e  K1 _8 Z# l6 U( A& l
4 n6 [; H9 \2 U' ?. X& S; ?1 F( n1 v- @
启动其他节点的monitor服务(Ceph 02执行)& f+ C# x; F2 l7 J7 N1 Y, l0 B

4 w! Q0 [& g  m; wsudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph02
! e+ |3 l2 H' u4 L; M2 k& m" Ochown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap/ E6 D( X! K. f# M/ Q: v
sudo -u ceph ceph-mon --mkfs -i ceph02 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring# e' t3 b4 N4 u! U' H1 J8 b- V
ls /var/lib/ceph/mon/ceph-ceph02/, c! ~* c: c1 D" M! {" z/ ~1 B

9 T/ N) n. m# |' F8 O0 P+ ?% T2 c* Z& j6 ^5 K
systemctl start ceph-mon@ceph02
1 e. X( h4 q$ T9 c! @5 {systemctl enable ceph-mon@ceph02
$ J5 R/ c( }" j1 ?+ O; B' Psystemctl status ceph-mon@ceph02
  Y; E7 u$ m4 V6 j. `- u( w) ~3 z' G% v' ^( G$ e" ]2 L3 c
# i, v7 d8 q" R# N2 q0 E6 D$ X
启动其他节点的monitor服务(Ceph 03执行)- x* b- a* P& u5 s3 H
  [6 t/ t. f$ p- l
sudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph03
/ \3 P  i/ q' c) ^chown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap
' t- B; L/ V1 {7 h2 f! ksudo -u ceph ceph-mon --mkfs -i ceph03 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring0 u6 D0 `1 T% f; ^( f
ls /var/lib/ceph/mon/ceph-ceph03/
  V' H5 K% ^8 R) ?4 \3 D; ?& N, O  _8 x( v
5 Y* K8 R# c! s
systemctl start ceph-mon@ceph03- N# u3 B6 ?1 w7 k/ C2 f
systemctl enable ceph-mon@ceph03. w" T) I. x8 L+ i2 p# M3 o' K' P- A
systemctl status ceph-mon@ceph03' E6 j% \! l  K5 B7 I3 @. f

1 N% L4 |1 `* K  r
8 C' d- d4 p7 Q  u查看当前集群状态(任意节点执行)# T1 E: n1 T. l# z
通过ceph -s命令查询集群状态,可见集群services中3个mon服务已启动。
$ b. E8 t0 y$ m3 k  n* K2 p. ]* F- c7 R: G1 J4 P9 O
        ceph -s1 W; i$ l+ s" p" j( N/ ]

1 o# q' v6 _/ M" X% [>   cluster:. M# P8 V/ |" ~6 h( q
>     id:     ef944f47-8f98-4b50-b1cb-983e9948deee9 j# `# a+ b/ d
>     health: HEALTH_OK
$ p9 `9 q$ J9 F& w( J>   services:
- B) y5 R- o$ Y* [8 l. @>     mon: 3 daemons, quorum controller2,controller3,controller1 (age 2s)- u: x% f6 w+ u) r$ o( N
>     mgr: no daemons active1 q0 E3 P! L/ J: N! p% b9 Q
>     osd: 0 osds: 0 up, 0 in9 o+ z: n( R4 X
>     data:% i% V% M/ [; s( R
>     pools:   0 pools, 0 pgs
' h( K. Y1 u. K7 V( y' I) O( w>     objects: 0 objects, 0 B: Y7 j- f4 ~$ ~& q- }; N2 E6 z
>     usage:   0 B used, 0 B / 0 B avail5 ?+ ]6 {. D6 {" @5 y$ I' L# q
>     pgs:+ j+ o! M7 w: _9 C6 |" G0 N
4 ^( e6 P9 U& s8 U8 k$ q. H

% A4 I  W+ L" Y& {- tHEALTH_WARN警报信息清除$ s9 l- u- }# Z" P

/ G; c6 D. e/ X: G出现警告:mons are allowing insecure global_id reclaim。5 `7 e9 F4 @" V( z) v! [$ K5 X: p
解决办法:ceph config set mon auth_allow_insecure_global_id_reclaim false% k; u- b6 E" j9 ~3 F

. z2 S. ]- c! n: J" V  B" T8 A& s出现警告:monitors have not enabled msgr2+ w+ o3 ~& Y6 A9 [4 R0 X: \
解决办法:ceph mon enable-msgr2
$ n' F! F: W) v6 O$ E  Z  V0 o
' ?! T! p$ F& a8 E" T部署Ceph osd服务(ceph-volume 自动化创建)1 \' q' j- O0 t! L
安装Ceph-osd服务程序(所有设备执行)
8 T& r' u- i; k( I3 t4 u9 l  s' n4 k. e  Jyum install -y ceph-osd* U8 Y* d* s9 m; |+ Z4 B9 F
* Z3 n! S; |/ C% b* |  G2 u$ K

5 t  Y3 h  E( a# O+ @; P初始化osd服务(所有设备执行)" M4 \- J% J. j+ b0 ^5 |
通过fdisk等工具查看磁盘盘符,然后利用ceph-volume工具自动化创建osd服务。6 ?& P/ ~/ L+ k5 g; O( y) B- ], X
ceph-volume lvm create --data /dev/sda
( H' B7 b2 E$ Q% kceph-volume lvm create --data /dev/sdb
6 n9 o, S$ d3 s; `) vceph-volume lvm create --data /dev/sdc6 W& E8 N. @7 \" C  I9 x
9 v. G, H, u* O9 R7 y/ o# ]/ o
# V7 Z. y* \4 b
查看当前集群状态(任意节点执行)
8 Q- `, b( _) I! b! a通过ceph osd tree命令查询集群状态,可见集群services中所有osd服务已启动。
+ [& N' n9 B: Z) A7 Dceph osd tree
* G  N! {. S0 [/ L) y7 ~$ x% q8 H> ID CLASS WEIGHT   TYPE NAME       STATUS REWEIGHT PRI-AFF* R7 H6 h' [* f7 d8 [( L9 ?+ W- r
> -1       16.36908 root default
# B+ D( N1 \. o$ D+ U> -3        5.45636     host ceph01+ {" e& ]2 H0 I
>  0   hdd  1.81879         osd.0       up  1.00000 1.00000. b! x0 i$ p! V. U' [6 o
>  1   hdd  1.81879         osd.1       up  1.00000 1.00000& ~/ g; ]3 e! m" H% U; s! w" T5 A
>  2   hdd  1.81879         osd.2       up  1.00000 1.00000
1 O1 O& i  z$ Q( L/ n8 Y: S- U$ m> -5        5.45636     host ceph02
) b2 O: j% d3 @8 t# e7 Y! V>  3   hdd  1.81879         osd.3       up  1.00000 1.00000. _5 I: ]2 R7 e9 Q7 j9 X
>  4   hdd  1.81879         osd.4       up  1.00000 1.000004 U2 F" S9 O1 N- Y( k( ]) K( p
>  5   hdd  1.81879         osd.5       up  1.00000 1.00000
* |# ]% ^$ e2 q6 t* k> -7        5.45636     host ceph03" k# M) k; M& Y0 F
>  6   hdd  1.81879         osd.6       up  1.00000 1.00000
- S" a( g* t' k5 e>  7   hdd  1.81879         osd.7       up  1.00000 1.00000+ m, N% ]; l! J6 _- x
>  8   hdd  1.81879         osd.8       up  1.00000 1.00000
' Y9 {) J5 D! Z$ y  E) W- ~; [0 {( s

& Q4 X2 L1 n2 v. c9 y5 l5 F5 Y" _5 C
3 ]" e- o# U7 y6 T7 o; Q7 e8 s" x
部署Ceph mgr服务并开启Dashboard# G: t; B1 b1 U
安装Ceph-mgr服务程序(所有设备执行)% t, m- g* z* a
% d8 M8 \9 `; _+ L. h2 P9 l& u
yum install -y ceph-mgr
' Y7 O8 T7 M# N# _  I, s' v- q- b2 g5 e9 B# T5 S4 l* k  p( K

8 Y2 }% h+ |# o初始化并启动主MGR服务(Ceph01执行), W3 d" s7 o; V- i6 J2 [

+ |7 V9 @& i+ I6 k9 k" d3 Rmkdir -p /var/lib/ceph/mgr/ceph-ceph01% h( N% V5 J3 q- O, U
chown ceph.ceph -R /var/lib/ceph
) u6 g$ @- y* q* nceph-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 *'! S5 O: l$ _; ]2 f6 N/ A
ceph auth import -i /etc/ceph/ceph.mgr.ceph01.keyring
9 Q& a' W- O4 _% Iceph auth get-or-create mgr.ceph01 -o /var/lib/ceph/mgr/ceph-ceph01/keyring
. H& A/ Y6 b3 J8 p. D  [
$ Q& P2 Z8 P) o( @# Y% K9 \9 N3 ?- ^4 \+ v+ e
systemctl start ceph-mgr@ceph01. `5 @2 ?$ i' Q$ g$ A
systemctl enable ceph-mgr@ceph01$ \; ~  C3 A8 R8 \( b
systemctl status ceph-mgr@ceph016 C+ F! x, W5 M8 M7 K$ U
; z  O( D7 L& X

/ h, j# I- g2 n# V, J! p' U4 S初始化并启动从MGR服务(Ceph02执行)$ f: X0 U. ]  q$ `- B% A5 N; M+ `

1 }4 Y  a% Y4 E# f" Ymkdir -p /var/lib/ceph/mgr/ceph-ceph024 A& v: u& f, l( d. F/ h5 Q
chown ceph.ceph -R /var/lib/ceph
9 ?9 w) b) u" m7 ]5 J2 N9 n' X( n' ~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 *'
; o2 }  R/ k  z# n" vceph auth import -i /etc/ceph/ceph.mgr.ceph02.keyring7 ~: C, [& a$ _. t; I
ceph auth get-or-create mgr.ceph02 -o /var/lib/ceph/mgr/ceph-ceph02/keyring. _  Y- B0 p  H7 q7 W. L
- ?9 h- P& S9 t" h
' @% G* }  z, ]2 h1 j. y: @
systemctl start ceph-mgr@ceph02- P# V* W5 L3 e6 I
systemctl enable ceph-mgr@ceph02
# N! r9 u% U  }# ~systemctl status ceph-mgr@ceph02
" T6 r1 M  i  s: s
, D5 w7 u5 X1 V' T* e/ E% w
) C: [4 X" e: J' o6 T8 T: m8 X初始化并启动从MGR服务(Ceph03执行)2 ]- n! W9 H& O5 D: |/ I

  m9 t5 {* ?% Bmkdir -p /var/lib/ceph/mgr/ceph-ceph03: N, J; P6 @& |6 ~2 H# w- z1 q+ B
chown ceph.ceph -R /var/lib/ceph
% p7 k" P9 {& w' N" b- G! oceph-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 *'
- ~4 [8 j) ^; @# K( v# ?  b& wceph auth import -i /etc/ceph/ceph.mgr.ceph03.keyring, n3 f, Y( ~$ h8 I2 c' i
ceph auth get-or-create mgr.ceph03 -o /var/lib/ceph/mgr/ceph-ceph03/keyring
* U! h& G/ W# |" s1 S( p' T$ l
' ?2 I# e2 R: t, i! ^; Q* d% Q/ F- \
systemctl start ceph-mgr@ceph03* Y: q0 \  }" @# f3 k" y- c2 Y
systemctl enable ceph-mgr@ceph03" W9 ~7 e; e6 Q- q
systemctl status ceph-mgr@ceph03
& F' V" S$ B& Y$ l# P4 s* {! j$ D# Z& M7 e$ y& r2 R* K
5 w' Z2 b" k# w/ J3 J& Q) K( w: ~

1 y! J/ E$ e6 T
! T/ g$ ^' S) S8 }7 c查看当前集群状态(任意节点执行)
; ~/ N( B6 ~' n& @通过ceph -s命令查询集群状态,可见集群services中3个mgr服务已启动。
+ |* Y8 {& t/ E5 ~
: D; b: g7 I6 V- Fceph -s' b0 b0 l+ k3 {
> cluster:
- F2 f+ K' F  |5 T9 t>                 id:     cf3862c5-f8f6-423e-a03e-beb40fecb74a        
0 L' s% `6 G; M  r( [9 O, B>                 health: HEALTH_OK! a& {5 v. U* O' D7 h+ M+ v
>
7 w0 I8 A" D4 I- \$ D* X5 a9 ^> services:        
+ Q9 J! O8 o0 [3 ^3 `>                 mon:         3 daemons, quorum ceph03,ceph02,ceph01 (age 12d)         ! {; o  @: |! c3 \$ ~
>                 mgr:        ceph01(active, since 3w), standbys: ceph02、ceph03                        1 A$ i4 ~5 w; O7 x% i  m
>                 osd:    9 osds: 9 up (since 89s), 9 in (since 89s)
* g% q% O3 h$ L>
! c) O6 Q$ c! F1 b5 [; Z/ E1 B6 ~> data:
( t! e( Z$ c! f$ e* x6 @0 N>                  pools:   0 pools, 0 pgs
8 `1 C0 O# f* M/ b4 W6 p- R* G>                 objects: 0 objects, 0 B
3 Q7 Z8 k) {. f& ~1 R1 J5 d% G>                 usage:   9.0 GiB used, 16 TiB / 16 TiB avail
4 c% z7 c' H2 P* G>                 pgs:( A4 [3 B) n- A* u5 X# u& Q
( J" u7 \$ N% t6 z
$ T- c% m5 _+ V
使能Dashboard访问功能(任意节点执行)
1 F1 m- z' p/ Z开启mgr dashboard功能
' p% l, R7 Z1 Y/ f. a
( u) ^, v; ~9 T! Hceph mgr module enable dashboard% n8 K7 q3 ~+ _* S; S  p4 J

* j3 x9 F0 M. t5 P生成并安装自签名的证书
+ G9 F! @8 Z- B% f* S8 s$ U- l" N% b( S& W. J& D- I# n
ceph dashboard create-self-signed-cert  P- Y9 U. i3 j

9 x& ^' ]9 m' j4 P配置dashboard+ L9 \& j  g1 V1 ^, u, |0 [8 i7 ?8 W+ C

" Q( N9 {/ A% d$ [% e8 E  a' yceph config set mgr mgr/dashboard/server_addr 10.40.65.148
2 q& g. ^: W3 n5 }ceph config set mgr mgr/dashboard/server_port 8080
, Q$ i0 h9 m: H! {$ q- dceph config set mgr mgr/dashboard/ssl_server_port 8443
+ D2 P8 q9 Q3 b2 n& |! J% L" K  v/ o8 ]) x

4 x7 w  y; M6 J创建一个dashboard登录用户名密码
& b+ W3 B3 V% H3 s3 {6 L" l  _
. q5 r) o/ K2 Z3 hecho '123456' > password.txt9 U5 _( r" k5 \2 V& F
ceph dashboard ac-user-create admin  administrator -i password.txt) q/ Y4 m; k. l! Y# b9 z( X
/ Q1 c& I( o1 C4 V
* y& n2 |( q" }) k9 l* d3 N  E0 }# B5 e
查看服务访问方式
0 I0 K  I$ A# ]+ m: G
- ~& X2 y, m  X        ceph mgr services; _2 q$ u9 l& e- O. o
>         {; e; r+ `' e% }) v2 c
>     "dashboard": "https://ceph01:8443/" ' d9 ^1 a! X; M9 c  _6 Q5 A" }% W
>   }
& Y( s! e. w$ K% y; k# Z
1 U* T! l% U) d  S3 [
; L- F6 S* H# e) m2 H; x; c通过web访问Ceph Dashboard,用户名密码为admin/123456
; v% z$ [' F$ y3 k. d+ T. i! c% o! I! I: R1 z( h
https://10.40.65.148:8443
' v- d% }. }" p$ \+ o3 q
  c9 I6 u8 u% O) ?, A: u/ E& F4 J) `  C' m6 a3 j

7 l  {: h& {( y9 w客户端访问配置(RBD权限)(客户端执行)1 s$ L  a/ v& m! g
安装Ceph) v- W* y6 x1 }% X2 ~

; I$ s/ M- D9 A; {9 K: k/ lyum install -y ceph-common; H+ d+ K" X! B6 R

5 p% m( s8 Q( _: u3 V& d! T) t5 C, p2 D
拷贝服务器端的配置文件及密钥
6 O$ {+ g) U% k3 L2 C$ A9 n+ M' D0 o
scp root@ceph01:/etc/ceph/ceph.conf ./
% n) |6 D3 B0 ~) v! P. A2 k" Sscp root@ceph01:/etc/ceph/ceph.client.admin.keyring ./
  t+ w* s/ P( z  R* J3 W8 r. W9 ?' H6 x

+ F& a  a2 D; B, ~4 M' e' _7 Z测试连接状态. u; |  y" D- S2 U% g  l
# g( P) x/ ^$ M
ceph -s' Q6 ~7 J) m& Q" p& G; V, }, B
> cluster: 3 q9 H5 z/ _! }6 U3 t9 J
>                 id:     cf3862c5-f8f6-423e-a03e-beb40fecb74a        
( n' I4 Z9 z3 w. e% g; n1 i8 \9 z>                 health: HEALTH_OK
8 O# U( u  J  ^+ p$ u# `>
9 }5 c- R8 \& U) J5 a7 g" u9 n$ N> services:         4 C8 d5 z1 X! z1 j
>                 mon:         3 daemons, quorum ceph03,ceph02,ceph01 (age 12d)        
# `& @. V6 l/ F! c3 I- c% j>                 mgr:        ceph01(active, since 3w), standbys: ceph02、ceph03                       
; ~$ f$ E/ p, w* h- p3 K& ^>                 osd:    9 osds: 9 up (since 89s), 9 in (since 89s)
, s6 B. k1 V  ^' q> " y5 [+ I  @8 g6 W  X0 K$ N4 c: t: o
> data:
- |' @9 p8 e6 l6 W5 a4 S' S>                  pools:   0 pools, 0 pgs3 e$ t3 o4 S! e, ?5 L
>                 objects: 0 objects, 0 B
: \& v# |. t9 q: c. h7 V7 |  G0 p8 |>                 usage:   9.0 GiB used, 16 TiB / 16 TiB avail
: L4 x) R4 M* m7 k$ b0 E% w% t% i>                 pgs:
3 j! H+ N. J& p' U5 b* \; j( Y/ l5 Z$ b
' o% T+ X: n* D/ k* i
块设备服务测试(客户端执行)
9 {) K% `  `( q  N创建块设备池
: b4 N2 a6 S2 t, p, Iceph osd pool create test-pool 128
/ e0 P+ k. u6 D8 aceph osd pool application enable test-pool rbd
/ m# h5 {! C8 {4 n9 I5 U( vceph osd lspools
* c% W6 d8 ?2 g# z2 g5 Y* c; S% a& L2 }; ]+ O+ R% M8 \
创建块设备镜像
: d! i# _! F3 e& h0 g  w# F. Z/ O0 _rbd create --size 1T disk01 --pool test-pool: T* y2 U; E& |1 G3 r
4 O6 S; ~9 H' \! M- j' @9 t
rbd ls test-pool -l/ K# f7 ^# O% q5 K2 ]  u$ w* X
rbd info test-pool/disk01# U# z; r8 ?, X, e2 a" w

( G, v( R( r2 W: @* q修改块设备镜像能力(镜像能力与内核版本相关)
9 ]' n; K0 o& Y# rrbd feature disable test-pool/disk01 exclusive-lock, object-map, fast-diff, deep-flatten, c5 Q& f/ A( I2 R# I
1 {5 z7 h! g- \
映射块设备
$ S+ o* [/ A2 S6 b1 d. f0 _rbd map test-pool/disk01
  `$ `/ M0 c5 z8 U& y/ vmkfs.xfs /dev/rbd0
+ v4 Z8 `1 I& j2 {$ M: B6 V/ s8 _rbd showmapped
2 j9 D  z/ `# I8 O) i2 o
  ?5 Y- k1 f# J, h3 F; n1 P挂载并使用块设备
, A9 O8 `! @5 Q' p5 X6 hmkdir /home/loongson/ceph_disk01. ]9 q) M: A% a2 v
mount /dev/rbd0 /home/loongson/ceph_disk01
3 f8 J0 n5 X" J* G1 Q3 J$ Ycd /home/loongson/ceph_disk01
* M* S+ p% Z3 F
& ^4 j  x3 t/ x: J" ~8 @+ n" V: a8 g7 z+ `

0

主题

0

回帖

9

积分

管理员

积分
9
QQ
 楼主| 发表于 2022-8-23 17:04:35 | 显示全部楼层
# radosgw-admin zonegroup remove --rgw-zonegroup=default --rgw-zone=default5 ]" q0 f) W9 J% }
# radosgw-admin period update --commit
7 _* V# C0 o& P! O3 g# radosgw-admin zone delete --rgw-zone=default
3 n7 S( n7 z$ B0 o4 W- l% H1 k# radosgw-admin period update --commit0 X+ f9 s  T8 n$ l" R  i: w
# radosgw-admin zonegroup delete --rgw-zonegroup=default
7 q/ T; X2 {- r7 [# radosgw-admin period update --commit
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-11 22:57 , Processed in 0.027057 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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