找回密码
 注册
查看: 578|回复: 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

) b7 q* s! A, \1 ?, x8 \8 z

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-8-23 15:28:49 | 显示全部楼层
部署Ceph mon服务5 b0 ]% R# I5 E  l
安装Ceph-mon服务程序(所有设备执行)
6 g4 ?/ Q6 U5 o/ E
. k9 F1 [3 u" ^8 fyum install -y ceph-mon
, J. H6 w$ M$ E- j# g7 g9 \: ?5 F9 F- a$ h

! R. `3 x) O- T% _9 o( R初始化Mon服务(Ceph 01执行)
$ W3 P1 G+ d* B2 G7 g. Y
) j# o9 S. e! L2 @% |/ F7 p生成uuid: @" \; u+ p" G0 w

% Q& l" [( \! I  \+ z  [8 x4 T, Nuuidgen
6 l9 l& H  h/ T2 Y0 y> 9bf24809-220b-4910-b384-c1f06ea80728
' `8 Y8 r' ~5 O( g8 j+ r" s
0 x0 L* g$ ^5 ]5 i
- P7 Z# N- @! p# i创建Ceph配置文件
% j- S0 u- D; j6 z$ a+ O5 n" h$ z) K# t) x& [
cat >> /etc/ceph/ceph.conf <<EOF% r, H; j  b( `: }9 x8 A/ T2 a
[global]
  S6 m3 M3 `* n( o, N3 cfsid = 9bf24809-220b-4910-b384-c1f06ea80728* K) Z( ?4 s% v8 [
mon_initial_members = ceph01,ceph02,ceph03
" n. g0 ^  j& M2 @mon_host = 10.40.65.156,10.40.65.175,10.40.65.129! i2 c+ u1 q9 z3 _
public_network = 10.40.65.0/24
' M! ~0 f! \2 M' Dauth_cluster_required = cephx
7 O& s" n: K. u5 O' I$ aauth_service_required = cephx  g$ V8 Z6 f) L" W* `
auth_client_required = cephx9 R, x% N# d% z1 G& S7 v* Z
osd_journal_size = 1024
+ t) D5 T7 ^- z9 E6 qosd_pool_default_size = 34 y. C# w3 i$ j0 i
osd_pool_default_min_size = 2$ P7 }. V* }/ A) l5 y: t
osd_pool_default_pg_num = 64% H  t/ e6 N, N3 S: h9 _
osd_pool_default_pgp_num = 64* x+ d: y; n+ T: v! @' u
osd_crush_chooseleaf_type = 1' g/ Q% z8 `- n5 {' E
EOF$ _2 s. v0 v3 H. M- N

* T, W7 R5 o' X: `
7 p! [) C  S3 w9 \4 z创建集群Monitor密钥。. z$ e8 h, g) }3 C5 u& h

8 D4 q: K0 W3 m; R7 bceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'5 o" C9 U" U3 R( ~! c! O$ n

9 r: J" V2 s, }: G  V0 D0 g  h
. m+ q! r0 i) v3 h" c创建client.admin用户、client.bootstrap-osd用户密钥,添加到集群密钥中。2 x# t  P& B8 h7 b, E
0 \+ m  U8 e* h2 Q! n, Q
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 *'
' \  v4 N! v3 [ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring
; A' |3 R9 d/ S" |
6 O: M" |( X7 b. c- m5 C6 j$ W$ h6 ~  @
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'; d! E0 U5 `* d2 D
ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring* Y1 S$ C/ A( j  U' p6 ~1 v

# c6 Z) W) ^# u5 N
/ c9 G- F  S: J1 \7 |; D0 u使用主机名、主机IP地址、FSID生成monitor map。
) `0 H; \7 f4 d6 Q, w/ {' ~: i- o
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
! s4 a( e) H+ {% W& E
$ a* Q" e) W# i, C
/ C9 S$ Q7 y* l) S7 }  E: l+ W3 K& b
初始化并启动monitor服务( Z) ?: _! M4 q/ x

, k& d6 v  S2 ?2 D2 Csudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph01
: l9 _4 c# H4 v) s1 X5 m3 e% s* Q2 V( `chown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap+ M# Z4 Q* L: {6 X  b
sudo -u ceph ceph-mon --mkfs -i ceph01 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
- I" Z! E/ \; K* f' }ls /var/lib/ceph/mon/ceph-ceph01/4 i1 ^4 v( W1 k2 W, E
' Q, ?+ \! h1 A% W2 I

+ X* u/ o8 e( G. C0 n  isystemctl start ceph-mon@ceph01% q. n; C  R. `/ e
systemctl enable ceph-mon@ceph013 q! f8 H. n- R$ M, M
systemctl status ceph-mon@ceph01: D( v7 A1 u2 S( H+ H- [5 d" m& V# Y* [
% ~! B5 |  m0 q1 \  M
$ w9 j9 J" D: f; X% c, d
同步配置文件、密钥、monmap到其他节点中(Ceph 01执行)
6 U( o* W9 j9 R3 u; w! W" N  X2 W4 ?
复制ceph.client.admin.keyring、client.bootstrap-osd key、ceph.mon.keyring、monitor map、ceph.conf到另外2个节点6 w9 k. a2 z0 Z# s$ D! p: c1 C
  G$ I7 I3 s+ _: Z3 ]! b' E
scp /etc/ceph/ceph.client.admin.keyring root@ceph02:/etc/ceph/
, P. _& ?! E' n1 V/ \scp /etc/ceph/ceph.client.admin.keyring root@ceph03:/etc/ceph/4 r. B4 q  S& ?' v* t  T

1 Q& B" U; v( p, V" T9 z& M/ ^; b$ y% H' f1 O3 _) {3 ~
scp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph02:/var/lib/ceph/bootstrap-osd/7 E; v5 Y3 h; b2 Y% z7 p
scp /var/lib/ceph/bootstrap-osd/ceph.keyring root@ceph03:/var/lib/ceph/bootstrap-osd/% }' K0 \2 \' G2 W

1 e3 L, z, p7 z8 B$ \% w
  r4 X8 c6 ?7 z9 x% nscp /tmp/ceph.mon.keyring root@ceph02:/tmp/
9 v8 M$ \- E$ F$ z, s% W" S' Y# Z/ kscp /tmp/ceph.mon.keyring root@ceph03:/tmp/
" M! m: Q& w; y! U8 }! C) U$ E1 D1 L1 b

* m6 M$ l4 b+ W6 g: Oscp /tmp/monmap root@ceph02:/tmp/  `, L/ Z% F% A. [( E$ `& ]
scp /tmp/monmap root@ceph03:/tmp/% F) j6 e. u: v9 R' Z& W: m( X
7 E& z$ }* w+ K3 {3 u, i! A
) d. V$ \% d$ ?3 T" Z
scp /etc/ceph/ceph.conf root@ceph02:/etc/ceph/7 q% h1 H1 |1 n8 s( ]$ ]
scp /etc/ceph/ceph.conf root@ceph03:/etc/ceph/
7 T" l/ D( a" S  d1 f8 t' R) Z( l3 y. [' o" H/ O* f

3 Z6 ~# `. U) ~: q, [启动其他节点的monitor服务(Ceph 02执行)
3 F$ B- y6 o' |2 h9 ]" ?& Y
' Q% n, j2 r: S8 Z6 m( O3 _( W! Asudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph02
( H' {2 {# ]7 `+ ?4 `2 }chown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap) f! {7 u  B# M) c' U
sudo -u ceph ceph-mon --mkfs -i ceph02 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring8 o' w9 W8 g" }5 F# U* o- r
ls /var/lib/ceph/mon/ceph-ceph02/
& y4 L( {4 i5 F+ g7 _1 X- U
1 s: B- `" F/ h2 t0 O  ~" }3 g: X0 \% h1 q; I8 T
systemctl start ceph-mon@ceph02
' z; o+ Y3 I% l) P' A! P7 s2 Tsystemctl enable ceph-mon@ceph02" H; r1 O- n7 u! _$ n6 [
systemctl status ceph-mon@ceph02
( \! r9 e: N; C6 ]. N' G# A) A. Z3 x* O0 S6 e

" I6 D$ w( W. m% w启动其他节点的monitor服务(Ceph 03执行)
# ^. D  T* L% W$ x. ], I& K+ N4 Z
6 X$ A* Z, @9 |* dsudo -u ceph mkdir /var/lib/ceph/mon/ceph-ceph03
8 u6 Y7 n+ q# f4 }0 I8 schown ceph.ceph -R /var/lib/ceph /etc/ceph /tmp/ceph.mon.keyring /tmp/monmap
$ f/ E9 f1 z2 ]5 J' F2 T4 b+ T$ {sudo -u ceph ceph-mon --mkfs -i ceph03 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
9 m8 Q# Z. N0 r% @2 Q: kls /var/lib/ceph/mon/ceph-ceph03/
" r* U+ D; ]' \. \( ?2 a1 a# f9 C8 r

1 r% ^3 M# Q8 h) c# `0 vsystemctl start ceph-mon@ceph03
/ G" ?4 \4 l2 t" Lsystemctl enable ceph-mon@ceph03
  h# L/ y; w. Y: L+ m% @systemctl status ceph-mon@ceph03
4 T2 c, N, E; S/ }0 \2 d" |9 n
( p4 Y, N' u& Y; ?4 w5 m& A  l; l; t2 l) {7 f
查看当前集群状态(任意节点执行)8 c! |" |  W- }9 Z. v+ ^& a
通过ceph -s命令查询集群状态,可见集群services中3个mon服务已启动。
: Z, }2 Q4 ~& A/ O0 [" Z+ l8 {7 |* U4 M, \. R" p
        ceph -s8 G8 c% G+ x5 h, C. N

- p5 @& T' g" K- i5 y4 x8 G9 a>   cluster:% P' K7 L  p" E- h
>     id:     ef944f47-8f98-4b50-b1cb-983e9948deee
" x8 K) w& k$ [, ?>     health: HEALTH_OK
) P7 `0 e+ B* o2 }' k" Y>   services:* m" [- b0 [- s+ q* j. I
>     mon: 3 daemons, quorum controller2,controller3,controller1 (age 2s)
" x. x! N7 D/ B4 `; k- y>     mgr: no daemons active# F) n% p) a5 [
>     osd: 0 osds: 0 up, 0 in
8 j% ]* r0 J6 d) o" p/ s>     data:/ a: Z! d5 d5 {4 p* w( B  J# w
>     pools:   0 pools, 0 pgs
8 X/ q2 i0 [6 u>     objects: 0 objects, 0 B  f6 y0 k- T$ Y8 q
>     usage:   0 B used, 0 B / 0 B avail, Z1 f8 o7 N- ~% v
>     pgs:% R  o: M1 u9 [! ?

4 `( m* }+ {$ o" a: W# F: [( S. b4 i0 o2 M7 I& u7 l
HEALTH_WARN警报信息清除
6 F* L: z, ^1 ]9 d
( T' ~  h4 x* U4 p% G+ }% g- t1 M出现警告:mons are allowing insecure global_id reclaim。
& Q* l; |4 s) N( Q5 G解决办法:ceph config set mon auth_allow_insecure_global_id_reclaim false) A3 ]& ]& k0 I' I- R
  `% d$ {3 f. C# X! }4 z% Z8 F. U
出现警告:monitors have not enabled msgr2
7 m/ ~0 Z. P/ f% ]- r6 V7 B解决办法:ceph mon enable-msgr2
: Q* M2 N5 c1 Z/ y' q+ ^1 |2 _0 ?  B7 _
部署Ceph osd服务(ceph-volume 自动化创建)
9 T5 E2 k% T! X安装Ceph-osd服务程序(所有设备执行)
" ?" s8 Y9 g( q% S7 Oyum install -y ceph-osd) i2 v& @7 H9 k* X( T$ s& f

) H. f- D+ G$ u3 a1 t1 D3 a1 }2 V
% W" x: D( Z; V7 j初始化osd服务(所有设备执行)
0 t  Q$ x6 [$ Z# i8 q通过fdisk等工具查看磁盘盘符,然后利用ceph-volume工具自动化创建osd服务。' W, i6 ]" j. Z1 C, {7 A* `
ceph-volume lvm create --data /dev/sda
: f% a8 A0 N2 Q0 V% P( g) k; K6 aceph-volume lvm create --data /dev/sdb
7 J, o, j6 p4 K! Q" A( Yceph-volume lvm create --data /dev/sdc# |0 L( w1 r3 L8 o0 Q& w# u
/ q) G: M" v) ~, h5 r, j. \+ g
( i( c8 Z9 F0 Q' n
查看当前集群状态(任意节点执行)9 I0 F( K- h$ Y! }
通过ceph osd tree命令查询集群状态,可见集群services中所有osd服务已启动。& A3 t( H9 q! u; A
ceph osd tree
, m9 x- M, p. k! m> ID CLASS WEIGHT   TYPE NAME       STATUS REWEIGHT PRI-AFF
! Z. }$ w( o9 F& ?; E> -1       16.36908 root default
; i5 t; d$ v0 S" f/ H( H3 d> -3        5.45636     host ceph01# m/ y9 b& J! c  ?0 w7 L3 e2 z& k; r
>  0   hdd  1.81879         osd.0       up  1.00000 1.00000
9 F" z, O6 e% ]% k1 h4 X>  1   hdd  1.81879         osd.1       up  1.00000 1.00000
! \  q. u1 i4 P# V3 s>  2   hdd  1.81879         osd.2       up  1.00000 1.000007 N5 x* E6 L$ a; @- p) r- x
> -5        5.45636     host ceph02: s1 _- P1 U/ y1 o. _4 p
>  3   hdd  1.81879         osd.3       up  1.00000 1.00000
! f4 B2 {; X7 w& C4 z/ ]>  4   hdd  1.81879         osd.4       up  1.00000 1.00000
' D4 _6 F5 `: K>  5   hdd  1.81879         osd.5       up  1.00000 1.00000! _+ n' J  e. G& L3 Y# i3 l
> -7        5.45636     host ceph03
+ L1 j6 ^% R0 Q! g9 ~  L+ u>  6   hdd  1.81879         osd.6       up  1.00000 1.00000
  w5 ^5 ?7 ]* \>  7   hdd  1.81879         osd.7       up  1.00000 1.00000
, }6 w3 o$ X) D& M8 e' V7 e>  8   hdd  1.81879         osd.8       up  1.00000 1.00000! s  l& i3 A& i( m) t
) x  y2 M8 M8 _3 l0 N) X
3 k/ g* j4 M! }, l1 H

  T7 ], m1 u" ?$ S$ r4 g/ W+ M/ f3 J  R& X+ X/ x
部署Ceph mgr服务并开启Dashboard* u4 o: I5 }) @3 j6 B" I
安装Ceph-mgr服务程序(所有设备执行)
$ j5 A, r" h/ i
8 {0 c9 L2 v5 O' d% qyum install -y ceph-mgr0 `' S1 H* b" w* X/ ]- t$ \

0 x, E1 w6 W/ ?! Y; y9 L3 j2 v
, t4 X+ K( z, N' y初始化并启动主MGR服务(Ceph01执行)
( n' u8 K. G% R7 m+ ^, P7 x. o( Q* s) I) ?0 ^  S% s  v
mkdir -p /var/lib/ceph/mgr/ceph-ceph017 d6 E; j# n2 }# |6 ]
chown ceph.ceph -R /var/lib/ceph% h  v/ R8 s! E5 ?
ceph-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 *'
. ?! J" F0 v. o7 Jceph auth import -i /etc/ceph/ceph.mgr.ceph01.keyring
1 Z6 b2 j5 z+ ~ceph auth get-or-create mgr.ceph01 -o /var/lib/ceph/mgr/ceph-ceph01/keyring0 J. \2 x# m% B% l9 R8 Q  D

3 ~( V, E* \) i- V# D. N
6 I/ p) y7 g' O6 Bsystemctl start ceph-mgr@ceph01
0 \6 T: M' Z$ g0 fsystemctl enable ceph-mgr@ceph01
& q) M/ k: m, j1 P* H" }( |2 Psystemctl status ceph-mgr@ceph01+ U  ^8 N# r9 P: h
& ^7 G; Q$ m9 Z( Y0 c/ q

# ^7 Y1 v3 ^2 X; ~初始化并启动从MGR服务(Ceph02执行), R; L, s) s3 n" e
8 `, I/ e! l; Y. \9 _
mkdir -p /var/lib/ceph/mgr/ceph-ceph02
- h  b, ?7 {+ @* Z% `. |. Bchown ceph.ceph -R /var/lib/ceph4 G6 k9 K4 v; n- d" b: o' E
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 *'
& g6 T3 P  A1 a0 F# p5 ?* Nceph auth import -i /etc/ceph/ceph.mgr.ceph02.keyring
- ]$ o& J# b# S" Dceph auth get-or-create mgr.ceph02 -o /var/lib/ceph/mgr/ceph-ceph02/keyring; w+ B8 K1 i" Z1 M6 L

$ s* {. h) d; n5 m( Y3 a$ Y( d  t( r5 N7 b  k! g! s% J
systemctl start ceph-mgr@ceph027 s8 \) ^! ^8 ~- G, q
systemctl enable ceph-mgr@ceph02
* N  O/ r  H7 y; Osystemctl status ceph-mgr@ceph02
. t6 V/ w! ^3 k! u$ }
5 ~' W! `2 L3 U; N5 ^# d6 z
& H) `6 x0 D7 v初始化并启动从MGR服务(Ceph03执行)
1 E1 N2 d# Z  m
5 i0 V3 w' ^4 }9 X) Hmkdir -p /var/lib/ceph/mgr/ceph-ceph03' c+ C  d4 k) n: }6 M
chown ceph.ceph -R /var/lib/ceph
) A% \7 r$ ~& L9 w  |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 *'/ Z5 {9 H0 y( D* K9 l/ d4 P- s
ceph auth import -i /etc/ceph/ceph.mgr.ceph03.keyring0 \8 E* l: C; u( Q! S. S
ceph auth get-or-create mgr.ceph03 -o /var/lib/ceph/mgr/ceph-ceph03/keyring
  c8 s  W# W6 r- y3 D
8 n6 Z0 R# `  S: ]$ o3 w) O7 E" u( n
5 |- L3 |- \" u: h3 N+ xsystemctl start ceph-mgr@ceph03
( [, w3 V6 D: Q( E) G; Xsystemctl enable ceph-mgr@ceph033 [7 x! H  u# V4 z* n' v+ x
systemctl status ceph-mgr@ceph03
3 [  z2 g& x* M
) @& e5 K/ E6 t5 _$ _, j
6 w7 D0 J  r4 `  a; K7 H5 B, _; ?% Q; O

# Y$ L" ^1 Z8 R% I+ y  V查看当前集群状态(任意节点执行)
3 U' `, O$ H7 A6 K* Q5 e5 ]通过ceph -s命令查询集群状态,可见集群services中3个mgr服务已启动。/ v. {% M2 U' z* L- g* N2 A) _

3 O1 k/ L+ J) ?! h* r7 `& H8 {ceph -s7 F) j! h% p( [) b0 i' O
> cluster:
6 `1 I/ _' V( n" Y* I8 I* \: h! r>                 id:     cf3862c5-f8f6-423e-a03e-beb40fecb74a        
! n( T+ ]3 A. _4 g7 K; y) `0 [>                 health: HEALTH_OK) e' A6 ]+ g- l, _
>
) C) B' @: q# x( c2 z> services:         5 A# r2 _9 S( p: L/ w6 m- e. D
>                 mon:         3 daemons, quorum ceph03,ceph02,ceph01 (age 12d)        
7 K6 y* b( R+ M4 ]  |+ t9 [>                 mgr:        ceph01(active, since 3w), standbys: ceph02、ceph03                        1 n- K' l1 D" C) t
>                 osd:    9 osds: 9 up (since 89s), 9 in (since 89s)' s  T6 G" I$ U: T# w- G
>
- f/ {5 I( F1 k> data:
3 t. B" Q# }; U) ]3 D/ R>                  pools:   0 pools, 0 pgs
3 J* h4 l+ ^6 t>                 objects: 0 objects, 0 B1 j0 Y" y" q- |9 {* o
>                 usage:   9.0 GiB used, 16 TiB / 16 TiB avail
" T- N+ ]8 G% z>                 pgs:! ]; T% F4 d& k7 O
6 R& D$ M' G, ?% w

1 H8 x" T, w% y& U* G7 }' P使能Dashboard访问功能(任意节点执行)
4 d. f, V4 A9 y+ P开启mgr dashboard功能$ G9 M; w- }( u+ j

, u! a% a" a) h' Jceph mgr module enable dashboard* T$ S9 M' `0 D% Y9 ]; P4 _

  [4 r! e0 d* g$ m  T4 N生成并安装自签名的证书& w+ r( L) n+ G
! b8 X0 g( Q0 [
ceph dashboard create-self-signed-cert
* }" r! V& T8 D9 T
; |% f2 g  w5 t! u9 k  S配置dashboard
3 z2 u" ?, `* }7 T4 Y  Y' v! o( P2 n# \- b! I
ceph config set mgr mgr/dashboard/server_addr 10.40.65.1480 U/ d$ E0 h5 f9 }
ceph config set mgr mgr/dashboard/server_port 8080
- x' D5 w$ ]; R6 a( Wceph config set mgr mgr/dashboard/ssl_server_port 8443' f6 a1 v8 ^, X5 v
% G" _# H8 Q$ Q

7 U# \' z0 x$ Q2 j: y  E- l3 ]创建一个dashboard登录用户名密码& x( a% I' G$ Z8 R7 K

  e1 v6 e5 v( a+ A" Gecho '123456' > password.txt1 m5 l4 n# W0 i; C1 C
ceph dashboard ac-user-create admin  administrator -i password.txt
5 n# h: M, e; ~* q, n# N3 ?- G. J1 B6 N3 Y+ I4 v% b

7 c1 J5 e" z! f( s* G' Z) M查看服务访问方式
: x5 J* D+ ?8 {* z7 V" E. S
0 W) J! _/ A' X1 R        ceph mgr services: k+ X8 j! Q+ |% a  R( I  N
>         {/ D, f5 m8 w& {* |+ k
>     "dashboard": "https://ceph01:8443/" 4 ^+ O# P1 C( I' y* e
>   }
6 @/ k/ R5 l1 P1 e: a% q$ `! o5 n/ v

( k; x' b! `# h% q- \通过web访问Ceph Dashboard,用户名密码为admin/123456
- D) b! U$ V& X1 k  I* E% }& [2 u; X
https://10.40.65.148:84435 Q/ f9 Y9 @' ?1 i$ k. P

* f& K/ G' \4 m3 f2 X- D" \
8 E# v) ?% ~8 `; n' o2 u( Y: _2 K8 H9 h( \; o
客户端访问配置(RBD权限)(客户端执行)# I9 v# Q+ ^4 x" r% [, ?; ^
安装Ceph! L/ G- A" K7 p& w

0 d) A8 B" |3 x6 E/ Pyum install -y ceph-common) m0 l( X+ z: `
, P, t$ v) z; m
2 Q! _% v, K/ r" U7 d+ E0 z
拷贝服务器端的配置文件及密钥2 R& X5 p2 ]5 J. o  }

+ l! S5 W7 U$ r9 p  `+ ~* {scp root@ceph01:/etc/ceph/ceph.conf ./
8 ?  D, @, w+ i( H' }/ a6 b1 _& ?scp root@ceph01:/etc/ceph/ceph.client.admin.keyring ./
' J! L: C' c- A3 \0 O- n. w; b; t- {6 r6 Z# v. _/ J. u$ l* u

4 Q# V8 \% d; b8 R+ k. T测试连接状态! G+ m8 w& P7 ~% |7 T" {
; G  A- }% \* J$ e" V7 u8 F3 O  Z2 z
ceph -s3 }0 d7 z6 c9 U8 s
> cluster: 0 O* u$ a4 @. P( |/ ?1 b3 V4 i
>                 id:     cf3862c5-f8f6-423e-a03e-beb40fecb74a         2 F; i( K& f, C
>                 health: HEALTH_OK2 _$ s) n+ j% M! q( \5 k  V
> 6 Q' J$ U. p- {# I  X9 T" e9 m
> services:         6 N! c% D1 ]. s! u% K
>                 mon:         3 daemons, quorum ceph03,ceph02,ceph01 (age 12d)         , F9 d2 ^! B8 S/ U; A5 {
>                 mgr:        ceph01(active, since 3w), standbys: ceph02、ceph03                       
& F2 o$ i- N* y; x* Q. l- |>                 osd:    9 osds: 9 up (since 89s), 9 in (since 89s)
/ x7 @9 p7 g* B> : y7 V9 `+ _5 e
> data:
! S* U9 `4 G, T1 V/ a$ \4 e>                  pools:   0 pools, 0 pgs
( K- f. ?( p7 l2 q0 d+ f>                 objects: 0 objects, 0 B, k  Y! s, R  p1 T  L, q
>                 usage:   9.0 GiB used, 16 TiB / 16 TiB avail' p+ |! \2 k5 f: b0 a' ^
>                 pgs:
6 [% t) e% Q% O0 w- o- Y0 z. ^
! Q7 o8 p; |3 r& T4 c
5 B  e' W( k6 Z6 x' i* W块设备服务测试(客户端执行)9 ?% I4 r- @& T+ _2 ?9 B' U
创建块设备池
2 y) ]0 C, M; |$ Z4 h1 u% Mceph osd pool create test-pool 1283 C' V1 |# Q9 v% {5 I
ceph osd pool application enable test-pool rbd
% \8 S7 }" [0 b: {ceph osd lspools
, S4 y8 S. \% P" X) N% |4 i' F0 B( A, c9 n/ V# W" C
创建块设备镜像
7 u5 O$ h7 f% vrbd create --size 1T disk01 --pool test-pool
: }/ \2 }1 |5 N6 J& l, C
& {4 g/ Y  j+ J5 d/ Brbd ls test-pool -l' p9 D9 k% ^, ?$ n2 r$ O2 k
rbd info test-pool/disk01
  f4 y4 d5 C; S& c
: j5 N9 X# J7 f# d7 Y" U6 `修改块设备镜像能力(镜像能力与内核版本相关)$ Y7 l! c" d' U0 F9 E/ X
rbd feature disable test-pool/disk01 exclusive-lock, object-map, fast-diff, deep-flatten
6 O; o3 r- R  g4 B0 t0 h* H& B: a) H9 f2 Q( o' z
映射块设备
! S& y4 S/ A9 \9 |/ [( Arbd map test-pool/disk016 ]$ ?7 k5 C+ j" B* g( x3 v) \
mkfs.xfs /dev/rbd0
( _$ Y3 c: [7 |rbd showmapped; [- B" ?3 C' j. m/ ^. _

: P0 X! Z9 P: i8 s- E( k2 Y挂载并使用块设备. L5 r7 M3 ?0 h2 P1 V
mkdir /home/loongson/ceph_disk017 }/ B- ~* R# M6 Q7 \
mount /dev/rbd0 /home/loongson/ceph_disk01
) e9 [6 b. `3 g+ r- S1 |0 Tcd /home/loongson/ceph_disk01) ~; F6 S8 W0 d4 n- _4 G

8 j# o) |/ K* P, P% h0 l$ U% b) z/ O1 E2 O4 b

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-8-23 17:04:35 | 显示全部楼层
# radosgw-admin zonegroup remove --rgw-zonegroup=default --rgw-zone=default" ?; N8 s4 u3 q; s5 f
# radosgw-admin period update --commit' v3 \0 w5 l! J- A8 [
# radosgw-admin zone delete --rgw-zone=default) H" ^2 i( v7 M# l7 p! T" ~
# radosgw-admin period update --commit
2 [0 W+ e$ Q' m* g( d# radosgw-admin zonegroup delete --rgw-zonegroup=default
5 r) h, e7 I0 c7 |  w# |% M& V0 a# radosgw-admin period update --commit
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-11 23:50 , Processed in 0.023325 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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