找回密码
 注册
查看: 579|回复: 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
3 W+ Z" y" q! O8 V4 \

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-8-23 15:28:49 | 显示全部楼层
部署Ceph mon服务
9 n1 Q1 ]( {- H- u安装Ceph-mon服务程序(所有设备执行)
3 I* X8 \1 L3 r* Q4 [- _2 L8 M" f( a; ^7 z
yum install -y ceph-mon9 {) T' i2 |7 u0 ^" x
' s" E7 A+ F6 [; O; W" ^
) }2 {* E$ f) I& E' H6 v& W
初始化Mon服务(Ceph 01执行)
: b' j9 I- \6 p+ a. W! ~& V: Q7 W) C2 X6 V9 Q2 s
生成uuid
2 z' h9 {- B" e% P4 O3 O- K3 _  Z# \: |1 {& I4 G
uuidgen# j, u4 g& a5 u
> 9bf24809-220b-4910-b384-c1f06ea807281 ]0 M. c. o/ R! }

! X5 S. M: N8 |1 f5 v
7 s$ \- l* I. N. \- i创建Ceph配置文件
% n) V! h; }8 k& f1 p8 M5 n
9 L4 Y. r# x$ p" F. h& M) Rcat >> /etc/ceph/ceph.conf <<EOF
. D) k0 ~2 K8 p9 ][global]0 @: k2 u3 S) D) z& \
fsid = 9bf24809-220b-4910-b384-c1f06ea80728
, E6 ^5 w) z7 \mon_initial_members = ceph01,ceph02,ceph03
# k* \) v- e- Q3 f; r8 B5 g$ i$ x& |mon_host = 10.40.65.156,10.40.65.175,10.40.65.129$ Z4 a1 H  s+ n4 b$ s0 ?  c! @" E
public_network = 10.40.65.0/24
. e, K" W* S( n3 X% @" ^" ]auth_cluster_required = cephx
( f% ^4 Y! O$ a% V! r8 `auth_service_required = cephx
# ^; C* C8 p' E" ~auth_client_required = cephx
, M! S4 p0 U6 _osd_journal_size = 1024/ x2 U3 n3 v: [7 z, E4 z, |. Y
osd_pool_default_size = 3! M6 r, \% C' v2 U: I
osd_pool_default_min_size = 2( I3 z: s6 b3 w% ?3 w1 S& J
osd_pool_default_pg_num = 64. I  E3 r2 t7 M) i; f; `
osd_pool_default_pgp_num = 64
6 o% U$ x8 K5 X+ x6 _- g/ Losd_crush_chooseleaf_type = 1
- Q$ S" S& c- e& y5 }: B2 aEOF9 b0 L, X) d9 y- x& p
/ {! U1 E) D- D) s2 r

! t, U, z* p; @$ ?! W9 w创建集群Monitor密钥。) j4 W% R1 Y( J9 B/ o$ U

& f, u, d! d5 `6 p: Cceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'
" t8 q. e& H' P' Y* B! j5 [* l6 x" N$ i  g6 ?5 X+ p: I- m
: M* p+ P- C4 e' \% X8 y) f
创建client.admin用户、client.bootstrap-osd用户密钥,添加到集群密钥中。
) h0 u" n2 D8 p& x* V% }2 _* T% h! |/ n# _1 j& [
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 *': i3 r* i$ ~" w9 ]. Q; P
ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
5 ~. j" }4 Z6 C1 a4 n' N2 e. N1 R0 b; ^# A

3 O: x4 _( ~$ n7 P; i9 {' cceph-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'
6 E% _" {9 Y7 ?: Vceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring2 S. i& w7 i* Y- H) r
5 H! }2 Q6 U# z

/ S! N2 b7 \! ?' c使用主机名、主机IP地址、FSID生成monitor map。
; z% C. ^. I# C7 L5 L; k& e" B. U2 F
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/monmap4 y$ q5 t& E2 o4 ]4 |! f0 T
) b7 K  `2 V2 d# o: q
# s, |/ c+ V: Y/ r

$ L3 t& m8 w+ M2 E% q初始化并启动monitor服务: O; F8 J2 K' g' ~

1 T6 W: E! D0 X$ n- @5 x/ S( T0 Ssudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph01
. L  u9 `' ]& d  h% M; M5 S5 achown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap
" `7 ]1 C4 T$ ]9 K# Msudo -u ceph ceph-mon --mkfs -i ceph01 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
& Q5 \# H2 O) \: G8 u: }ls /var/lib/ceph/mon/ceph-ceph01/
" E. [4 F7 v0 \! b/ l
% Q: ^5 y6 q1 t8 J& q, `( N# I- a
systemctl start ceph-mon@ceph01; @3 j0 g4 x$ O7 j6 s
systemctl enable ceph-mon@ceph01) b% ^  H; Y6 s  v, s% J
systemctl status ceph-mon@ceph01
: _% e$ Q) d) w0 ]
  l' s" U  ]8 a6 @' A1 l- r, l  b  Y' j7 ~: _' l2 \
同步配置文件、密钥、monmap到其他节点中(Ceph 01执行)& }8 \8 k" Y' \' W

: P$ b7 Y, m# c* i复制ceph.client.admin.keyring、client.bootstrap-osd key、ceph.mon.keyring、monitor map、ceph.conf到另外2个节点
5 X# G' D0 B. ]) i3 }7 V7 k9 a- H' Y) z$ h7 x* G3 X+ u
scp /etc/ceph/ceph.client.admin.keyring root@ceph02:/etc/ceph/, Y0 R! G! ~+ I: ]
scp /etc/ceph/ceph.client.admin.keyring root@ceph03:/etc/ceph/" n4 @( P6 |5 X# ?
% ~. n9 v. Z' r) p- B
2 L5 C1 p8 m6 A! {
scp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph02:/var/lib/ceph/bootstrap-osd/
# K; n% _! q5 l5 escp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph03:/var/lib/ceph/bootstrap-osd/
! G6 I/ s7 B) z+ c( w0 R3 y- A5 N& w! d; J
; s  m6 D- w9 g* n* D' y
scp /tmp/ceph.mon.keyring root@ceph02:/tmp/9 f0 P! P' v9 h* p
scp /tmp/ceph.mon.keyring root@ceph03:/tmp/7 v; G$ m  J7 ~- t6 K
" _/ t& q$ H; P. _6 R9 J

; l! \" z$ z3 y; O+ J5 Q" Rscp /tmp/monmap root@ceph02:/tmp/# u9 E) A2 f2 x8 |3 v: X
scp /tmp/monmap root@ceph03:/tmp/
/ t, U. c- F8 q' K8 z+ w! t4 i
6 ~9 h$ q& `: n4 T' J& ?" A
" R& f' g3 G4 x; ~5 m* y  Tscp /etc/ceph/ceph.conf root@ceph02:/etc/ceph/$ N) h! D& s3 {9 `3 D4 v( M
scp /etc/ceph/ceph.conf root@ceph03:/etc/ceph/4 p1 c! b% p  T
& z- ~( g  |1 Q0 l8 @) K( @" }; a

& _- H+ g* M: Z* {$ |5 ?( {; k! Z启动其他节点的monitor服务(Ceph 02执行)4 V; ?8 B, o' t( J/ O
$ x" B+ s& Z  e/ W) [- V% m0 W
sudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph02
9 U. z7 Y, K3 u0 [. v4 t0 ?- echown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap
( H0 M0 o2 x' |0 f- Msudo -u ceph ceph-mon --mkfs -i ceph02 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring- \2 v0 c8 F) T
ls /var/lib/ceph/mon/ceph-ceph02/
3 B' X' t  f1 ~, x: i2 ]
6 q" S4 C) g/ X% ]- Y5 g( Y& y8 F0 h) `
systemctl start ceph-mon@ceph02! n  w1 F- x5 [' [: w" D+ V  R0 u1 W
systemctl enable ceph-mon@ceph02
  o- k7 q3 `( b! q. ?" U) {! u8 Isystemctl status ceph-mon@ceph02) v$ ^% K6 a* r1 l8 j7 M

, p* p$ F8 _/ t' r" b* v2 u$ n8 i6 |" {! i- x0 q" n$ e7 }
启动其他节点的monitor服务(Ceph 03执行)
) s  R* |8 `7 n$ _; F, Z
: a9 a! [  v1 J: F8 T4 D. Nsudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph034 i% s+ ^' o0 k2 t9 o+ k. T
chown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap
$ \2 l% o% f; R& N& x( |4 tsudo -u ceph ceph-mon --mkfs -i ceph03 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring0 I% t& J3 v- c$ i# H  l
ls /var/lib/ceph/mon/ceph-ceph03/5 H5 D: h" g0 j. b: ?/ R

9 X5 s* c. f, {( A- W
( D# X( y' J8 d9 R6 t6 H) C" Y; Qsystemctl start ceph-mon@ceph03
5 o: t- g- g( J. N( l( hsystemctl enable ceph-mon@ceph03
$ b/ Z$ R3 m; ]; k/ c* E/ N( @systemctl status ceph-mon@ceph03
  v; T, C# U4 \/ l% z+ y! X% k9 L0 o0 w+ [4 P, @
. o8 _* u9 F$ S4 t; G! s: Z4 |
查看当前集群状态(任意节点执行)
9 [" l' P5 Y! t通过ceph -s命令查询集群状态,可见集群services中3个mon服务已启动。
) E! r+ [  O* \" M$ O, ]
% o9 G& d% r* w& v9 d+ |        ceph -s
( @5 w- w+ E" L7 N$ G  m* H1 }9 I  v( l# j  |, ]: C
>   cluster:$ n& A* {$ p* g! [  D# k  [# W- T% k
>     id:     ef944f47-8f98-4b50-b1cb-983e9948deee! R1 r, `; U) Z/ B- o7 `  _
>     health: HEALTH_OK
/ O  V3 j0 n1 C& ]# ^4 t>   services:/ u* E/ `' k  u) w7 d) r
>     mon: 3 daemons, quorum controller2,controller3,controller1 (age 2s)
2 _6 T! A& j* i7 H& J. l) O>     mgr: no daemons active* M! H" a; n7 [) ]9 v
>     osd: 0 osds: 0 up, 0 in, q; E. V( g. K; M4 Y  r, C4 M
>     data:
% w* g+ S6 r$ C5 F: E4 g8 a>     pools:   0 pools, 0 pgs. g$ @/ T1 e; a" N
>     objects: 0 objects, 0 B
# R1 R: D; p3 \+ [>     usage:   0 B used, 0 B / 0 B avail& s. m! \" u9 g- }2 P( J
>     pgs:; v" A2 V0 o/ l- R0 F  d& l3 x
$ r! a# X! s/ Z( Q( p7 U+ p
# S; ^: b- @$ [
HEALTH_WARN警报信息清除8 r8 h* k) s  e+ V, p

: J; D7 a3 s# p: s4 y出现警告:mons are allowing insecure global_id reclaim。
$ ?! Y5 b( J% Q; p2 K解决办法:ceph config set mon auth_allow_insecure_global_id_reclaim false( W. Z# _" {: l/ _' g' _  Y
* t# N  p# R* f; k: w: Q1 \+ G! g1 [
出现警告:monitors have not enabled msgr2
5 C" D4 _4 L( F- K3 c- h* b) P: Q解决办法:ceph mon enable-msgr2
# E: ^% O, b7 ~# a% j  p% M/ J, P* m9 f/ s" L( W5 i$ S+ `
部署Ceph osd服务(ceph-volume 自动化创建)
3 M6 S& {8 \% w; q! a' ]安装Ceph-osd服务程序(所有设备执行)
5 J% w( ~5 D& b- p) Cyum install -y ceph-osd& O  f1 u5 N7 E  X0 M

7 i2 k* @, M; M& D5 b8 n- A) m( s- n
初始化osd服务(所有设备执行)& l& p% D+ V+ [' z* c9 _3 k% a
通过fdisk等工具查看磁盘盘符,然后利用ceph-volume工具自动化创建osd服务。
+ C& K: g' E+ _5 z. X. }7 P6 Z) ^ceph-volume lvm create --data /dev/sda: T8 _, r3 f0 @0 J% U* b! T
ceph-volume lvm create --data /dev/sdb8 K; {4 E  O% Y( e* H$ F! H5 h
ceph-volume lvm create --data /dev/sdc# h8 `! E) I; A' i' s0 i: q

6 o) i1 h8 L3 T
  P& F$ b# |! g查看当前集群状态(任意节点执行)4 A5 c. O$ R  `, Q. d; F" B- Q
通过ceph osd tree命令查询集群状态,可见集群services中所有osd服务已启动。& m1 B" y9 K/ }0 j. o! ^9 }
ceph osd tree
. S, ?2 F5 d5 t7 v> ID CLASS WEIGHT   TYPE NAME       STATUS REWEIGHT PRI-AFF1 R9 A; m: o6 G2 g! U% K4 ~! A- a
> -1       16.36908 root default
7 L. F9 K) o$ B4 }1 i> -3        5.45636     host ceph01
  [/ C1 b0 z4 o7 K>  0   hdd  1.81879         osd.0       up  1.00000 1.00000. @2 Z9 e3 Y* W& N8 J* H: \/ h6 t0 C
>  1   hdd  1.81879         osd.1       up  1.00000 1.00000
/ {! U3 e  n. @) I>  2   hdd  1.81879         osd.2       up  1.00000 1.00000
! D) l" E; N8 L* a/ v4 ~( \/ c> -5        5.45636     host ceph02
/ q9 m1 \1 q; V- w; T>  3   hdd  1.81879         osd.3       up  1.00000 1.00000
! R7 k% N# I; B( J>  4   hdd  1.81879         osd.4       up  1.00000 1.00000& A( }" Y, T: `8 e6 E
>  5   hdd  1.81879         osd.5       up  1.00000 1.00000
& `: v8 M1 L/ `: D" u6 ]. K> -7        5.45636     host ceph03
7 x4 ?8 z' W) `8 s8 n$ y" g0 @6 ?>  6   hdd  1.81879         osd.6       up  1.00000 1.00000( T: D( s8 U6 T* j
>  7   hdd  1.81879         osd.7       up  1.00000 1.00000. U) ~0 \7 |6 L
>  8   hdd  1.81879         osd.8       up  1.00000 1.00000, n& t! ?& m) ]( E
# n1 @& q1 d. U- Q/ u
# p# m$ D) p% N' o! L4 }/ v6 Q( _
& n! o  Y& z# q+ W+ `- a) k9 R
, X+ i) G1 y# @# k2 \# {. Q0 f
部署Ceph mgr服务并开启Dashboard: v9 b1 i1 T7 v& f, e
安装Ceph-mgr服务程序(所有设备执行)9 T- c0 y& s3 s6 t" U2 }0 v  H

: ^( R0 K0 x* N5 [  |, Tyum install -y ceph-mgr
" k# @: F; S' M, S5 V3 W4 c9 C' r! G! F/ i, |$ U2 a$ C* W

1 t, ~9 Z* z) W4 v+ l初始化并启动主MGR服务(Ceph01执行)
. W0 H. Z; E/ x, k' b' l" D. n0 y
: A* i# p# F4 e4 H4 ~$ Rmkdir -p /var/lib/ceph/mgr/ceph-ceph01. Z' J$ ?9 m; V8 a2 @+ F
chown ceph.ceph -R /var/lib/ceph
; w1 n% I, e) Lceph-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 *'
( ^5 m2 [3 T4 lceph auth import -i /etc/ceph/ceph.mgr.ceph01.keyring& f2 t! K' ~" Z: N% S8 \/ g
ceph auth get-or-create mgr.ceph01 -o /var/lib/ceph/mgr/ceph-ceph01/keyring+ `* G- S" \5 r& x4 G

0 o0 Z) |% P# y: k& N! n; N2 l8 \' E/ r1 s
systemctl start ceph-mgr@ceph016 ~- U, z+ w: e) T' a' I
systemctl enable ceph-mgr@ceph01
# Y, O7 P' A+ d7 p9 c8 d: J* Jsystemctl status ceph-mgr@ceph01/ l2 D8 Y4 A1 l6 Z( T. c; _
! ]8 b  c5 Z% u! s5 c  c- P" A

$ w. D% P. t4 p初始化并启动从MGR服务(Ceph02执行)2 r+ Y- D& E$ ~2 N% z2 n
- J# }+ M5 b$ K2 Z
mkdir -p /var/lib/ceph/mgr/ceph-ceph028 T' N* m  O5 z! Z: _% j4 U( g
chown ceph.ceph -R /var/lib/ceph- Z0 [- A, P; U' u" 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 *'
1 l7 e: e' p; Z' r) }) _% pceph auth import -i /etc/ceph/ceph.mgr.ceph02.keyring
6 i1 M! T$ ~& cceph auth get-or-create mgr.ceph02 -o /var/lib/ceph/mgr/ceph-ceph02/keyring
/ M4 h' T4 k* O6 E
" F9 w3 s2 S. q# ^# ~
, p- e3 b$ P0 @+ dsystemctl start ceph-mgr@ceph02+ C3 [: M/ y- ^- m0 S" \8 r
systemctl enable ceph-mgr@ceph022 Z: N# D) p3 _  R/ i
systemctl status ceph-mgr@ceph02
; A9 o! p  C8 \2 W# c' d6 O! e0 o) ?; g$ `5 X9 L
( M$ k* E/ t; g' v
初始化并启动从MGR服务(Ceph03执行)
# ~' _( l! [- u0 g, z/ p5 r* q" y& ]0 V* {3 u3 {
mkdir -p /var/lib/ceph/mgr/ceph-ceph03
( ]* L+ ]8 ~7 Z: W0 ]  U, R( Tchown ceph.ceph -R /var/lib/ceph
! `) N. ~( |, x( z6 Y: E" w. Nceph-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 *'
9 m' H( N6 P* W5 `  bceph auth import -i /etc/ceph/ceph.mgr.ceph03.keyring
" w9 v% Y; J% d8 f4 g; I9 nceph auth get-or-create mgr.ceph03 -o /var/lib/ceph/mgr/ceph-ceph03/keyring9 F: `' b: Y% X  b: W4 n9 r' F

! P, c- B) c% K0 ^, l3 [  h3 u+ j1 Z9 t
systemctl start ceph-mgr@ceph03- J' G6 n3 j4 [5 `3 ~/ l2 a
systemctl enable ceph-mgr@ceph03% x0 ]; y3 D  J! r9 P( f
systemctl status ceph-mgr@ceph03  o# t$ U9 H6 ]9 S
3 Y; l  `" {- i0 L& y3 l# K
, |% y+ r- b- ~% `: O
6 v  b$ b1 C# [0 q0 l0 ~

2 I- ]$ E- B- \& d: C查看当前集群状态(任意节点执行)
& [/ u8 S5 I' ~5 G# w通过ceph -s命令查询集群状态,可见集群services中3个mgr服务已启动。
, ?% f4 h+ @2 w
( }1 z! |" z, U- o4 {& B4 iceph -s5 H$ H1 e! \; C: c( M5 p
> cluster:
! b5 |6 t9 A' r& t) [, R3 V>                 id:     cf3862c5-f8f6-423e-a03e-beb40fecb74a        
+ K$ R" i6 z+ x' y; |>                 health: HEALTH_OK
5 b" X+ E* w2 m3 d& W( o>
5 I) F* C, l3 ]> services:        
" u8 X5 k# @: R. ~>                 mon:         3 daemons, quorum ceph03,ceph02,ceph01 (age 12d)         # ~  [/ v4 G& v! j/ J; R
>                 mgr:        ceph01(active, since 3w), standbys: ceph02、ceph03                       
, v+ n2 T8 R9 D- R- {) g% ?, |>                 osd:    9 osds: 9 up (since 89s), 9 in (since 89s)
' h( g* E# V" X9 h+ U3 k> . n; w5 z# {8 ]
> data:0 x+ x% J' K' J0 n
>                  pools:   0 pools, 0 pgs; a; X( f7 M* L2 c
>                 objects: 0 objects, 0 B
0 f- n2 Z1 p& y' `, ?>                 usage:   9.0 GiB used, 16 TiB / 16 TiB avail& O2 ~0 G4 `6 h4 g
>                 pgs:
# g! `- Q' m) ^+ U' C" J+ i+ d! q6 W% S- l8 e: R2 L
0 U- j0 \- O' D& w. L
使能Dashboard访问功能(任意节点执行)5 p2 U: {3 d+ ?6 i, I1 d1 B
开启mgr dashboard功能/ n' Y3 V) U% @/ E
1 t* n$ w3 j. M, a$ Q7 }
ceph mgr module enable dashboard
3 k3 r% {2 @* t! i2 C
' h. R7 @( c& j& X8 W生成并安装自签名的证书7 ~! d+ a1 P6 B! ~& g% P+ ]7 o
8 C& P1 J3 p. D: `' j
ceph dashboard create-self-signed-cert
" c9 Q/ ~' |# R  D
& W5 Y# Q8 |4 W* J4 j配置dashboard
+ @7 W7 d# n$ c: [0 c5 t
9 r+ ?# Q6 A1 O9 g+ Kceph config set mgr mgr/dashboard/server_addr 10.40.65.148
. m, }3 e% e7 J7 ?9 }, I/ ^2 }# }ceph config set mgr mgr/dashboard/server_port 8080
0 k8 E! O2 A- ?( ]" D+ ]7 Cceph config set mgr mgr/dashboard/ssl_server_port 8443  ^; D) O' c: r; J. J' I! d
7 N/ l7 Z, p* u# O0 i# {' ?2 A

' k- D: ^% M2 y6 W) D创建一个dashboard登录用户名密码
5 E! R; b4 ]8 j* H
% h4 g/ S% S: uecho '123456' > password.txt
- Y9 W5 w) ?; L" @3 G7 \7 _5 Zceph dashboard ac-user-create admin  administrator -i password.txt
6 Y2 x6 m! q4 [4 U8 P
# i3 X3 o% s5 `$ T. T9 L( t
9 [% ~; [+ W, [8 U* g查看服务访问方式
; F+ X; @+ p) p9 q% w
7 I% Q. f  `9 e: j        ceph mgr services2 |% y: ^% d7 v! G9 l2 n  P1 ~
>         {
" H! x( o* ]2 o1 j+ t>     "dashboard": "https://ceph01:8443/"
, J; R, L4 c/ G4 s. A>   }- D! G4 c8 J; P: n: w2 p/ ~# Y

9 p' @0 O6 G' n) J* Y% b$ L) x4 g2 y- j- T/ n
通过web访问Ceph Dashboard,用户名密码为admin/123456
8 v$ W) x+ K- w& B( v. D8 K4 M
: M  N8 }+ `1 S: C4 j8 s! mhttps://10.40.65.148:8443
& G$ Z; d6 G, A+ |, |- l9 H8 k
. R+ F9 P% |; d8 y) O3 M# ~1 c+ u1 T7 ~8 J1 V6 b

9 z+ M& X1 r3 P# a: j; j9 q客户端访问配置(RBD权限)(客户端执行)3 y3 A5 c% ?% b' y
安装Ceph
5 Y) A( d* D9 Y2 `* ~
; Q" m- t) b7 }! kyum install -y ceph-common2 w/ V! i, u1 l6 A3 I

9 m. ]/ {, D" M6 H/ o4 F! c. {5 e% a! y2 |$ |
拷贝服务器端的配置文件及密钥
7 O% E, i3 V! x; Z" f: K' C6 u: o- {; j( g, A# V  l3 b- y
scp root@ceph01:/etc/ceph/ceph.conf ./) S- o) N, h( N; [7 ?) R
scp root@ceph01:/etc/ceph/ceph.client.admin.keyring ./
, D: l. W) ~  L  d  o  h5 X& l8 z* |! q. c; N6 n( m% P3 \* a) J
9 B! c/ ~  d6 ?5 p9 {
测试连接状态! O. l3 l9 s' s2 U8 _

) m- X2 @# |% X7 x. E6 x% i  cceph -s( x3 K6 A* E, q& M
> cluster: 7 `' t( E$ s; i  J" {1 q
>                 id:     cf3862c5-f8f6-423e-a03e-beb40fecb74a         7 I! Q! G& U/ x
>                 health: HEALTH_OK; j* X$ ]6 y8 i
>   {; O6 Z8 }! I5 v: T$ V
> services:         2 N( K& P! e1 }. H8 ?' U
>                 mon:         3 daemons, quorum ceph03,ceph02,ceph01 (age 12d)        
" P# D) z7 d% n2 A>                 mgr:        ceph01(active, since 3w), standbys: ceph02、ceph03                       
, }1 A; O& T8 b, j0 E6 |>                 osd:    9 osds: 9 up (since 89s), 9 in (since 89s)
+ m  T* U0 E9 M6 b& E, W: |4 H" ^: b>
2 ~5 @- Z. `* _, x# v7 ^3 O> data:# \  s2 K: W5 n3 L) ?6 {
>                  pools:   0 pools, 0 pgs8 s6 ~- g+ o( J% g1 R6 l
>                 objects: 0 objects, 0 B$ ]/ M$ x4 k) @
>                 usage:   9.0 GiB used, 16 TiB / 16 TiB avail
2 f% V0 N# Q; M>                 pgs:
: H% c/ y) L- \& n. Y4 y- F* ^8 W# V) E& C! A$ j& C
) a: s# ^2 X/ G
块设备服务测试(客户端执行)
! }7 X$ G3 x, [" e9 {" K% Y: ]创建块设备池2 k  K1 p' ^9 \$ ]' `% @( Q1 q
ceph osd pool create test-pool 128
6 ]8 F. f9 ]: W+ f( X0 }; R3 zceph osd pool application enable test-pool rbd
; t, a5 E- u( C! `$ f) w3 @ceph osd lspools
; `6 A- D+ y' C) }5 x, e
8 F+ e% G- l; l+ p# l, o+ d创建块设备镜像& E4 p) I+ f6 j5 J+ n4 t. r4 \
rbd create --size 1T disk01 --pool test-pool
( d. [  U! d+ A6 @. y& `4 z4 a/ r2 {  T' X5 S" Y7 i) P
rbd ls test-pool -l
, ?+ h8 r7 I1 S. H1 Erbd info test-pool/disk01
0 g% j1 a( d& _8 Y+ z3 a9 f% C: O; E& v$ C! ?. L% ?( [: G8 z' f
修改块设备镜像能力(镜像能力与内核版本相关)" C2 Z4 ?3 o: I9 s' F1 N. j5 Z
rbd feature disable test-pool/disk01 exclusive-lock, object-map, fast-diff, deep-flatten
" S- X2 T; N+ I& M/ R6 c7 r0 _! h5 b" H; |  `, @2 Q
映射块设备
) j' b0 e+ [6 u) k- e9 orbd map test-pool/disk01( o) a! }* o" u
mkfs.xfs /dev/rbd0
, k4 r' V; l0 arbd showmapped  }0 Q# h3 M. F* h
( j% s* e# ^: v: q: Q
挂载并使用块设备+ T, Q% Z+ J: g2 h
mkdir /home/loongson/ceph_disk014 [* Q1 |9 B6 W7 N% K
mount /dev/rbd0 /home/loongson/ceph_disk01
- Q  R7 c( |8 b! Y' o# _* Hcd /home/loongson/ceph_disk01
0 S2 U) ^1 @, H' k8 X" O1 q' e0 Z) X* z2 @

- W, k6 s: ?% b& u7 a9 g

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-8-23 17:04:35 | 显示全部楼层
# radosgw-admin zonegroup remove --rgw-zonegroup=default --rgw-zone=default
( r; C6 G0 O( l) ?9 B# radosgw-admin period update --commit2 E# C3 N! J0 T5 m2 z2 L
# radosgw-admin zone delete --rgw-zone=default
( M5 F8 J, o* m  e9 ]! N# radosgw-admin period update --commit6 V/ d: d+ }, M7 X  _
# radosgw-admin zonegroup delete --rgw-zonegroup=default1 j2 k6 Z* {( T) j# q5 T1 x% U/ I
# radosgw-admin period update --commit
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 00:51 , Processed in 0.022845 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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