找回密码
 注册
查看: 659|回复: 0

手动部署ceph octopus集群

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-7-15 12:00:04 | 显示全部楼层 |阅读模式
基础配置/ O0 I" l# U$ P# }4 k; O
三台环境为centos7.9,以下配置需要在每台机器上执行
1 {( I7 J1 h8 g配置hosts解析
: j: b7 ]7 ^4 _. l( M) N/ }/ xcat >> /etc/hosts <<EOF
8 D$ y9 k7 u) [& C. j192.168.122.16 node-1  C2 Y, l* I# t) ]
192.168.122.19 node-2, p( Q5 ^4 e8 l4 Z% _' b/ a  p
192.168.122.18 node-3
& k5 j, f& I9 Y- s, V. s! {/ @EOF
; m3 W% i/ N% i; n: U复制/ \% q" A+ c' K2 i2 _! l* G
关闭防火墙和selinux
+ M2 N' K; r$ @: @& Z) H; Y# Xsystemctl stop firewalld && systemctl disable firewalld
% {, t5 f# W5 T8 x2 s6 Hsetenforce 0 && sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
% X5 u, x' V" z6 N/ R复制% ~8 T7 ^) G) E! p$ b. e0 T4 Z
分别在三个节点设置主机名, }1 C5 F+ h: ~) {% r5 M0 X( i
hostnamectl set-hostname node-1
2 n! e6 ]' [5 z. q) z7 Ghostnamectl set-hostname node-2
5 o8 }- ]5 I( S! Khostnamectl set-hostname node-3( L7 t  {9 y# W
复制; l, Q( C, K! u  F8 w0 T
配置主机时间同步
3 d0 G% i$ ]% s& S# y3 c* Vsystemctl restart chronyd.service && systemctl enable chronyd.service
& p" l/ S$ t4 {# B; `复制
9 E( m1 |! o9 h! l. \使用yum安装
7 J; s5 B6 o7 o9 k安装yum-plugin-priorities  ~0 ?5 F* z- d1 F
yum install yum-plugin-priorities
% u2 X6 R, D- Z复制, |  c) O0 O' }: ?+ F* Q
安装依赖包0 [" y9 i! o7 j) S1 g
yum install snappy leveldb gdisk python-argparse gperftools-libs epel-release
4 q( T/ I9 G  n9 \* E* P! F复制
, ]2 G) u8 t& M) N添加ceph仓库
( [: [) Z5 ]- Z3 @" ]建议使用阿里的源,国外的太慢了
  e7 x% D# l, D- a- X% W* Vvim /etc/yum.repos.d/ceph.repo
" `  m5 W9 r" s: J. u9 }0 d. v[ceph]
* X  |0 ^8 ~( {+ bname=ceph
9 s! A1 K8 C; b! f  H3 ybaseurl=http://mirrors.aliyun.com/ceph/rpm-15.2.8/el7/x86_64/
7 |+ y9 B, v$ f2 _" tgpgcheck=0" s/ \7 L9 y+ x2 y' {
[ceph-noarch]: {/ x* T: c2 q! q1 }  Y
name=cephnoarch) m" k7 c) @7 o+ y; ?1 f% f# }* }4 t
baseurl=http://mirrors.aliyun.com/ceph/rpm-15.2.8/el7/noarch/0 \  j$ S! l$ j* j. k
gpgcheck=0
1 j$ a! u! P0 x7 P复制6 z! J0 g1 {' w/ [9 i' k8 G1 j4 \" i
安装ceph% D( p; H, a2 L, S% @
yum install ceph -y& g. ?/ q$ \, U8 F
复制
% q8 i7 {! {3 `& n( x6 h部署monitor节点
0 \1 L- Q$ c# D, U9 @, e所有 Ceph 群集至少需要一个monitor,并且至少需要与存储在群集上的对象副本一样多的 OSD。引导初始mon是部署 Ceph 存储群集的第一步,这里我直接在node1、node2、node3创建三个mon。
8 p4 f8 P( K8 `% ]/ j在node1添加monitor
+ }3 d& z1 O6 x5 `  G为集群生成唯一的fsid,fsid是群集的唯一标识符,代表 Ceph 存储群集主要用于 Ceph 文件系统的文件系统 ID! p1 ^: X! u. O5 D# d) n7 J
uuidgen
9 A0 N0 v0 m2 U% f0 q' k* C, O复制
: [  r5 X: K9 N1 W' L/ S创建ceph配置文件,将生成的fsid添加到配置文件中* i1 y+ \# Y, e  }
vim /etc/ceph/ceph.repo, i- ^; k# R9 J) |/ S3 i' z" m6 h
[global]! Y8 @8 l: [4 |% ~  @
fsid=9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4& L2 |- A) j$ c- |5 j
复制
' M5 y' Z8 ~7 g为群集创建keyring并生成monitor keyring。monitor通过密钥相互通信。必须生成具有monitor密钥的keyring,并在引导初始monitor时提供keyring。
  k; ~& x, q0 @; }2 v3 i- lceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'+ v" [& o5 n( A: A! Z8 j
复制( X& n# k3 D" I7 ~% Q
生成管理员keyring,生成用户并将用户添加到client.admin keyring中。要使用 CLI 工具,必须有一个用户,并且还必须将用户添加到monitor keyring。
: ^3 \6 e! w( X6 ]% D1 _5 Zceph-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 *'
* u" \! g- W* c复制
$ w1 a. L% X, Z生成引导 osd 密钥,生成用户并将用户添加到client.bootstrap-osd keyring中。
8 K5 H5 a( g  ?% H( jceph-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'
  @7 Z" ~% l. p3 e+ M) C1 S复制
7 t) C% h% G# j/ F1 w9 r- q- F3 X将生成的键添加到 ceph.mon.keyring
% M/ |4 {' Z. yceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring* p) a. }9 M/ ^; t- Y  R) \
ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring% x, ?: w3 X0 F# F
复制
! n% u4 M8 _. [/ g6 v3 A5 h更改 ceph.mon.keyring的所有者。+ a1 L" i& R0 T/ O7 |. r
chown ceph:ceph /tmp/ceph.mon.keyring- c! z* [' p& h! W2 m9 i  O
复制0 `  U! H- I  X" Y
使用主机名、主机 IP 地址和 FSID 生成monitor映射。将其保存为 :/tmp/monmap0 |$ _9 h4 \3 R" Q
monmaptool --create --add node1 192.168.122.16 --add node2 192.168.122.19 --add node3 192.168.122.18 --fsid 9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4 /tmp/monmap+ D2 t8 P4 `% l9 ?/ O+ o8 e+ z) ^
复制% R7 y4 z4 b! W* w+ @+ e+ D
查看生成的monitor映射文件
9 M# N) I. V2 @! i8 j* c( Rmonmaptool --print /tmp/monmap
% m3 X$ s5 ]* X  c6 s. u4 A: F复制
$ f9 }$ ^9 f) c在monitor主机上创建默认数据目录,目录名是{cluster-name}-{hostname}格式
2 g/ A1 x7 T' j0 A4 o# f* J; lmkdir /var/lib/ceph/mon/ceph-node1
- x% K% K4 C2 n( _chmod 755 -R /var/lib/ceph/mon/ceph-node36 m& W% c% r2 C
复制& e5 Z2 g* Z3 X* l5 D: C) O
在node1节点对monitor进行初始化
! g4 ?4 Q4 y) D/ b7 _" M2 F* Kceph-mon --mkfs -i node1 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring! E+ Y- ]5 W3 F. s; o
复制' n* M( L& `% _" x
可以查看数据目录生成的文件
8 f. I/ j% m, g- D7 `1 s' ]$ u7 n" T  a0 W/ B3 q
编辑ceph配置文件
3 H2 N4 W$ c/ J; u[global]; f# p7 M  `1 I5 v4 Z  n% g
fsid = 9c079a1f-6fc2-4c59-bd4d-e8bc232d33a4% F3 @- `. L3 [1 p# x; H* S0 N
mon initial members = node-1,node-2,node-3
' W' |1 W5 |& b1 Z+ x$ q3 r  a6 O- D& ]mon host = 192.168.122.16,192.168.122.19,192.168.122.18- `) M5 l) ^& G& t8 s# _6 C' t7 z
mon clock drift allowed = .5
& ]+ F1 }( ~% Q' A' L  vauth cluster required = cephx' D3 h" `1 S7 a
auth service required = cephx
! [  t9 h& ~$ l+ _- wauth client required = cephx1 x, V; z* `# A' B
osd pool default size = 3  //创建pool的时候默认pool是3副本
$ q  G0 s8 W' F/ q9 x% N9 {( iosd pool default min size = 2   //pool最少可写的副本数为21 V& D9 X3 w" z7 s
osd pool default pg num = 8
# `7 i5 P" M$ Y) F' J' P* |( [osd pool default pgp num = 89 F7 O/ f0 A) w" D. P  g2 ~4 u4 r" g
osd crush chooseleaf type = 0 0 Z3 A# w) E, `% l) I% _
复制
/ J1 J8 S( {( v/ P4 U将配置文件拷贝到其他节点4 H% x- P% }% {3 g
scp /etc/ceph/ceph.conf node-2:/etc/ceph/ceph.conf
8 L% i) Y2 C* e& f5 t) z* T0 Zscp /etc/ceph/ceph.conf node-3:/etc/ceph/ceph.conf3 N! y# V' {- P$ F* w: S. ]
复制1 _8 ~, j7 A$ w9 x
将mon keyring,mon map及admin keyring拷贝到其他节点! C, |* ?0 u2 D  J0 D; r
scp /tmp/ceph.mon.keyring node-2:/tmp/ceph.mon.keyring! e  r7 M8 U- b6 {  Z
scp /etc/ceph/ceph.client.admin.keyring node-2:/etc/ceph/ceph.client.admin.keyring
1 G" L4 s. A5 o9 ~scp /tmp/monmap node-2:/tmp/monmap
/ T5 v5 |( i" _4 |% B" G( E! j" Kscp /tmp/ceph.mon.keyring node-3:/tmp/ceph.mon.keyring
# C* {$ J% q% a( I/ j$ Fscp /etc/ceph/ceph.client.admin.keyring node-3:/etc/ceph/ceph.client.admin.keyring* M) W; j+ Q' H- Y
scp /tmp/monmap node-3:/tmp/monmap9 M7 W3 Z& C+ d5 n7 ^. X( T
复制
" B& R- T9 I0 C6 e0 |& w; @, \在node2、node3上添加monitor
' w' g0 f2 v2 U4 Z分别在这两个节点创建数据目录
, E# [# W0 A: v7 E! @, j9 smkdir /var/lib/ceph/mon/ceph-node-2
# u6 m" r8 C# c5 \5 H! Hchmod 755 -R /var/lib/ceph/mon/ceph-node-2
( d: n. }( y4 c7 Jmkdir /var/lib/ceph/mon/ceph-node-3
9 B# e& ]/ N  _* I* V' l1 i: hchmod 755 -R /var/lib/ceph/mon/ceph-node-36 t6 Z) c% J  L. l7 F" [1 X0 ?
复制; Y* m3 |& Y5 [
分别在这两个节点对monitor进行初始化
/ @; a, C6 R, r) j  F- iceph-mon --mkfs -i node-2 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring
2 q6 v! a; K9 @% tceph-mon --mkfs -i node-3 --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring' Y+ |6 C; K! r. p! @$ m+ y7 B
复制
" U! Y- w* E& l4 X: C2 A分别在三个节点启动ceph-mon服务0 X& W+ w2 N+ g, i0 Q" g: c
systemctl start ceph-mon@node-1 && systemctl enable ceph-mon@node-1. C/ h! _5 k7 C7 v, o" B" A5 l4 g
systemctl start ceph-mon@node-2 && systemctl enable ceph-mon@node-2# }- m1 a+ w- ]6 C2 b
systemctl start ceph-mon@node-3 && systemctl enable ceph-mon@node-3
/ ~$ h6 m* V3 i. q- K9 o0 o复制
6 ^) p1 `: ]6 y/ P$ C/ Z) zimage.png( G% H! c0 g5 Z# V2 X3 {1 Y
可以看到提示3 monitors have not enabled msgr2"% E" b5 O; e8 U# e3 o: `" E  e
执行以下命令恢复正常7 ?0 z* n1 ?7 e/ {
ceph mon enable-msgr28 Q2 j( ^; k5 `& F
复制
- T6 g7 G/ @* r8 \6 e& simage.png
$ i, B3 X* @! i& l) P3 n创建MGR: m# X# t; G% q' n: u8 B
在运行ceph-mon守护程序的每个节点上,还应该设置一个ceph-mgr守护程序。
6 {5 M0 X6 `% Z6 J/ j! ^2 p% u/ f创建密钥目录. x) b; F. ~- h3 {2 O- `8 _
所有mgr节点都要执行3 j4 r* W% c0 a! w- n6 M# b
sudo -u ceph mkdir /var/lib/ceph/mgr/ceph-`hostname -s`: B9 u: X) ^" Z$ |8 K
cd /var/lib/ceph/mgr/ceph-`hostname -s`
2 D5 _$ H, i  _2 i! c复制
+ o8 C- d; Q0 |4 y' k: k- D' {创建身份验证密钥! ]: T/ H9 C4 @5 Q8 a+ |9 E: t
ceph auth get-or-create mgr.`hostname -s` mon 'allow profile mgr' osd 'allow *' mds 'allow *' > keyring& [% ^% S( U$ z0 z# H5 w- v
复制
. n+ A+ u% A  q- W启动mgr守护进程$ u7 d6 L6 o* P: v1 l# ^1 k4 y6 [
systemctl enable ceph-mgr@`hostname -s` && systemctl start ceph-mgr@`hostname -s`
$ t0 ]8 C9 v( i" h% k9 n复制# O: C7 d8 U/ Q: j8 R: q0 |
看样子状态有点异常,在所有节点执行下面的命令之后重启机器即可解决
4 P" l3 \# \6 N5 R8 u0 JModule 'restful' has failed dependency: No module named 'pecan'! N# {  d7 r' A: R
pip3 install pecan werkzeug$ n; q9 n1 I' G! i' m
复制& y( n: d; S3 b3 t( J+ ~
image.png
/ V. s$ d# ?& p4 z: X0 q8 M) {) d部署osd" W' A$ H: ]# A. V
Ceph提供了该ceph-volume实用程序,该实用程序可以准备逻辑卷,磁盘或分区以供Ceph使用。该ceph-volume实用程序通过增加索引来创建OSD ID。) d0 k" r0 s- T& _  h
创建osd
- N$ K1 Y8 T, f在node1执行
9 x: C5 g( j! L; n8 T) z0 o% T6 Rceph-volume lvm create --data /dev/sdb
+ ^. e: V- T" W/ z, ^/ `复制: D) c! t/ y3 h3 P! t
上面的创建过程可以分为两个阶段(准备和激活):
7 z* b& W* W  n: ?" }ceph-volume lvm prepare --data /dev/sdb3 M* }. x5 K( }
查看osd fsid
: W( c8 L* H5 ], ]ceph-volume lvm list
) Z! Q/ \1 s$ L# `$ g1 xceph-volume lvm activate {ID} {FSID}
% [" d; S  T- j3 Q5 W) H* x复制2 B0 y7 s3 P/ C+ @
当创建完osd之后,我们发现osd服务已经起来了! P0 B/ p6 `/ w+ j  b5 K2 S9 H
" R. p! S) y3 P$ |. X! t- z1 ^  Y
当我们在node-2、node-3节点执行此命令的时候报错了,发现缺少密钥文件
0 x, Q2 l' p3 ^0 J3 ^$ Z! {- d2 @
拷贝密钥文件/ _% F) @" Y6 M" p& \4 U8 p
scp /var/lib/ceph/bootstrap-osd/ceph.keyring node-2:/var/lib/ceph/bootstrap-osd/ceph.keyring
1 b' L. u7 F* y  ~+ X# Xscp /var/lib/ceph/bootstrap-osd/ceph.keyring node-3:/var/lib/ceph/bootstrap-osd/ceph.keyring
! u& O6 y% O: }7 D复制8 p) |! A; X8 u, e3 W( Q- I
修改密钥属主属组
1 i: j1 u& I2 q' h2 ?5 k* ?chown ceph.ceph /var/lib/ceph/bootstrap-osd/ceph.keyring
6 {7 w' x/ Q; J' C% y复制
; ]& o/ F) X1 i分别在node-2、node-3创建osd- M1 n+ H- x  O# Y  p) X
ceph-volume lvm create --data /dev/sdb
# f8 M- X0 d* _8 f( L复制0 W# }  K: y3 X' c
也可以分步执行& p* ^! d1 u( Q3 q
ceph-volume lvm prepare --data /dev/sdb
0 [7 j8 E$ B4 S, B! s2 M, H) Y##获取osd id 和osd fsid
+ S2 z6 y! f0 i/ {2 Qceph-volume lvm list
' e$ B* j0 S* F* B6 x! P##激活osd* G( C8 W/ o$ r( z7 H9 O' k
ceph-volume lvm activate {ID} {FSID}
+ @/ n: z6 ]0 N% X复制
2 H1 M, K! V* T' n最后状态是这样的$ i+ i/ Q! ?, _5 N
8 s" L, u8 d6 U2 N  L: A' n9 k
添加MDS) C" U, ^5 C+ o. G+ F% {
创建mds数据目录
; {! h5 k# h6 ?$ B& I% ~" qmkdir -p /var/lib/ceph/mds/ceph-`hostname -s`
/ `: X5 T! F2 Q' uchown -R ceph.ceph /var/lib/ceph/mds/ceph-`hostname -s`
" P2 h3 D1 C" v6 p9 h. R( m# X6 a+ b复制. C! `" W6 b1 |0 j3 }' \" d: E
创建keyring
! L6 \1 b% W+ X, s2 n$ Sceph-authtool --create-keyring /var/lib/ceph/mds/ceph-`hostname -s`/keyring --gen-key -n mds.`hostname -s`
  e( X& T/ N& y8 z/ _- |9 C复制
7 U7 k* B6 {' c) p. j6 K  `导入keyring并设置权限
# P  [  K, V) |+ p2 ~ceph auth add mds.`hostname -s` osd "allow rwx" mds "allow" mon "allow profile mds" -i /var/lib/ceph/mds/ceph-`hostname -s`/keyring
; I/ U; `5 U" ]; pchown ceph:ceph /var/lib/ceph/mds/ceph-`hostname -s`/keyring% O9 S+ V; M  [" ]0 a% G$ u
复制: n& j, u4 R6 G; k. `' W( @
修改ceph.conf配置文件
, W* p, y# @0 n$ R% ^1 G# Y; ccat >> /etc/ceph/ceph.conf <<EOF
2 Z+ k- x5 X- ]: z4 y[mds.node-1]5 z2 ?7 I2 A  _& T! Q$ _
host = node-1* ]: s9 @! o5 R1 c" {
[mds.node-2]. Y+ `+ f: T$ W. \
host = node-2- @' D6 b0 z1 s# ?
[mds.node-3]$ a% u6 o7 o0 l7 P! ?  |
host = node-3
) ^7 g+ ^0 S9 J; n- s2 wEOF
" x+ a2 H* f. d复制" n& t1 C" c2 @! V, N$ ?8 J
启动mds服务7 r* Q: f. Q; u3 H3 C, G
systemctl enable ceph-mds@`hostname -s` && systemctl start ceph-mds@`hostname -s`
$ S" ?# R6 V% w0 r+ Q  J复制
, g) ^3 q, k; i# ]8 [" Q现在状态应该是这样的! h: V( ?7 |$ Z# A, n) _$ o, V4 F5 n

2 {: k5 B  G+ |对象存储RGW安装
, b. P6 R1 z. X4 W5 NRGW是Ceph对象存储网关服务RADOS Gateway的简称,是一套基于LIBRADOS接口封装而实现的FastCGI服务,对外提供RESTful风格的对象存储数据访问和管理接口。RGW基于HTTP协议标准,因此非常适用于Web类的互联网应用场景,用户通过使用SDK或者其他客户端工具,能够很方便地接入RGW进行图片、视频以及各类文件的上传或下载,并设置相应的访问权限,共享给其他用户。
" l" D( [- Q7 [4 [* e0 w; _安装radosgw
+ R+ \7 k8 x0 R+ r1 Wyum install ceph-radosgw -y
1 L2 N+ A$ V  a2 }复制' l1 _9 I/ y  n7 \; n% T% e8 L' |
创建rgw相关的资源池- Y+ w4 o  x1 v" y( H
资源池列表及部分资源池功能介绍如下。( ^& y" d3 V& x4 j+ d
.rgw:region和zone配置信息。
$ l2 h; ?/ I3 t6 k$ c8 t# q" B* Z.rgw.root:region和zone配置信息。
% |2 e- r" M. w: K# L' C! I7 I.rgw.control:存放notify信息。
4 L6 g1 G4 m: ~8 k3 ~$ |$ \0 \.rgw.gc:用于资源回收。  F+ \' ~, V, `( H5 W
.rgw.buckets:存放数据。
* ]. u7 F0 k5 u, K( ]) E+ h.rgw.buckets.index:存放元数据信息。2 n! s, ^2 o6 f5 j( P
.rgw.buckets.extra:存放元数据扩展信息。
9 b, m- J: \  W, H2 H! D! D: t+ P.log:日志存放。
. n. |2 O7 x( J$ F$ \4 ]0 M.intent-log:日志存放。! y; u% u1 A! O4 K. J. G4 G/ h
.usage:存放用户已用容量信息。& X3 S" u# t7 t
.users:存放用户信息。
3 [8 h; a* ?3 E7 _3 Y2 w.users.email:存放用户E-mail信息。
) g8 a9 d. L( C8 n1 v( f.users.swift:存放swift类型的账号信息。
7 O. O5 u5 }$ E4 x: W: r% l! n9 I.users.uid:存放用户信息。1 l+ `* U1 ^8 T1 }1 c0 u5 b
ceph osd pool create .rgw 8 8
0 x$ m6 H5 v, q! V5 d! Nceph osd pool create .rgw.root 8 8
( s% [( C/ G# V$ @ceph osd pool create .rgw.control 8 8) r: S1 f* X' r2 V6 r5 U+ }
ceph osd pool create .rgw.gc 8 8
7 r# Y6 Z) y( C- y2 Tceph osd pool create .rgw.buckets 8 8
2 Y: C5 K2 D8 h9 kceph osd pool create .rgw.buckets.index 8 8
* O% g- _% [' \2 L$ ]. Y7 J8 }ceph osd pool create .rgw.buckets.extra 8 8
) @7 ?% \4 i/ O5 e3 fceph osd pool create .log 8 8
/ ~6 b7 ^* x- J7 pceph osd pool create .intent-log 8 8
* j* |/ z6 K- A0 Q/ hceph osd pool create .usage 8 8
1 k7 t; w  Q: G& H5 Q' sceph osd pool create .users 8 8, a; M- C# K5 K9 T9 s; {
ceph osd pool create .users.email 8 8; i/ [" M% Z  J" e! r: \1 `
ceph osd pool create .users.swift 8 8- G4 P) o* x8 x$ B; x2 \$ w
ceph osd pool create .users.uid 8 8
; m, F% t' O& k# j/ C复制
% O: |, |) n# H6 t5 l, f创建过程会遇到这个报错,原因是每个osd默认最多只支持250个pg,这里有两种解决办法,一种是删除之前创建的pool,并新建pool时把pg设置小一点,另一种则是修改osd默认最大pg数,这里我用了第二种,修改完配置文件后,重启mon
  r1 Z( f$ `$ |6 _( UError ERANGE:  pg_num 8 size 3 would mean 771 total pgs, which exceeds max 750 (mon_max_pg_per_osd 250 * num_in_osds 3)
0 P- _5 k# Y' a* [& y) [) ^4 t编辑配置文件
: E, P; i2 ~4 N& Gvim /etc/ceph/ceph.conf' }! @, y, X( f
[global]! G  M6 t  h# M' ]2 M7 Y# }
mon_max_pg_per_osd = 1000
+ A, @. [( l) V- W5 n- f( E! f#重启mon
( Z7 C& l# N3 M2 ^, Ssystemctl restart ceph-mon@`hostname -s`
2 V/ ?- P( C8 s6 O复制
4 v0 q# M& @$ Y% w1 Z9 e, w可以使用rados lspools查看是否创建成功
; L7 _; ~1 V5 P6 E/ V! {- [) [7 h" c8 e4 w/ M. N" ?& X  b0 s6 i- x
新建RADOSGW用户和keyring( I$ R1 B% o# M, m$ ~* Y. F; F: [% @7 n3 {: w
创建keyring2 ?3 r4 r( o5 j* @
ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring( Y3 C# z1 |+ d6 H, d# C
chown ceph:ceph /etc/ceph/ceph.client.radosgw.keyring
; ?2 }: ~! x, r+ t复制
# M( @; X, L5 Q9 i" G" s生成ceph-radosgw服务对应的用户和key0 r. D) \1 F7 K( h: u
ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node-1 --gen-key
% C4 u; a1 ^: a0 o1 Qceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node-2 --gen-key# s0 i" R2 d# R' C
ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node-3 --gen-key0 g+ W) D% p( _9 T. s) F% u
复制* l: Y* R' I; P! \, t6 F/ ^
添加用户访问权限
. V- o6 i8 z0 y( Fceph-authtool -n client.rgw.node-1 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring! ^; Y. a1 Y# W/ r
ceph-authtool -n client.rgw.node-2 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring
+ t; L2 {9 ?5 e5 _" iceph-authtool -n client.rgw.node-3 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring( @7 i& u6 p' F, X
复制
& H$ N* p/ M8 k将keyring导入集群中& r; }# j9 [: o, X5 M
ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node-1 -i /etc/ceph/ceph.client.radosgw.keyring
2 _0 E* G; v- L8 w" v8 i9 [6 oceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node-2 -i /etc/ceph/ceph.client.radosgw.keyring1 [, g, N% t: _6 b! D( X; e
ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node-3 -i /etc/ceph/ceph.client.radosgw.keyring' h/ A) h3 p1 _1 V
复制3 \$ S- i' K8 o( B' O
编辑配置文件
8 N7 T: ]# z; ]. B7 Wcat >> /etc/ceph/ceph.conf << EOF
( L: o: Q3 R& P[client.rgw.node-1]& L! m7 b8 O/ g
host=node-1* V  I8 D& L% D! i0 s4 O
keyring=/etc/ceph/ceph.client.radosgw.keyring
# _: o* P' K0 `( r- @. N! Alog file=/var/log/radosgw/client.radosgw.gateway.log
* O# V! C- m. T/ ]" M$ e! e. srgw_frontends = civetweb port=8080
- g* k6 g  L7 x( y+ r' E" E; _9 j[client.rgw.node-2]
( Y( u0 U" o( U& K. Jhost=node-2. P8 ?2 w* _4 ?% Z- d
keyring=/etc/ceph/ceph.client.radosgw.keyring' ^6 g% X' O" M0 R8 ~2 I& C
log file=/var/log/radosgw/client.radosgw.gateway.log
7 E$ U1 L0 v$ J9 H6 O$ srgw_frontends = civetweb port=80803 K- K# r6 V, l. R$ p, }
[client.rgw.node-3]
* {; R, ]3 H$ S* qhost=node-3, c1 h' `7 j3 s# F- j6 S( c
keyring=/etc/ceph/ceph.client.radosgw.keyring3 [- L! r$ B2 c" s! B* B
log file=/var/log/radosgw/client.radosgw.gateway.log
' k- t; m# i4 Z0 I- [, |, Lrgw_frontends = civetweb port=8080$ @3 L' I+ X1 n( K9 ?0 L
EOF, u0 p% n6 r' {" z( w/ o' \: ?$ E
复制
" m! {6 d9 d# Q6 W$ |- c/ h创建日志目录8 V+ `" J. w, ?2 r1 x
mkdir /var/log/radosgw* N  n) @0 M, |+ ?; v8 _
chown ceph:ceph /var/log/radosgw% F0 H; X+ Y* t7 I5 _; |- C  X
复制6 g( ?1 }" e" s
拷贝keyring、ceph.confceph.conf到node-2、node-3
* ]+ P8 S/ b" s5 V  J1 ^+ [scp /etc/ceph/ceph.client.radosgw.keyring node-2:/etc/ceph/ceph.client.radosgw.keyring
! {: @3 @- ]0 ]% w& q$ L2 H. kscp /etc/ceph/ceph.client.radosgw.keyring node-3:/etc/ceph/ceph.client.radosgw.keyring
7 J. w+ r) H) k( m( sscp /etc/ceph/ceph.conf node-2:/etc/ceph/ceph.conf8 }, w8 u% y, o* o: X( M$ Z
scp /etc/ceph/ceph.conf node-3:/etc/ceph/ceph.conf
0 a+ c) g( _/ i* E3 l  {7 u2 F- |, Z复制
* B8 x7 I7 `4 h1 P6 l在node-2、node-3部署RGW
' Q4 x3 h8 p7 v7 E; r1 b0 G修改keyring属主3 v; l7 Y) Z2 O8 F2 L% n
chown ceph:ceph /etc/ceph/ceph.client.radosgw.keyring
+ x" k5 {+ r% O/ x) i复制/ @- Y0 x" W& z$ N
创建日志目录并授权
" s) z/ z* {5 D4 Fmkdir /var/log/radosgw4 U4 E( K/ |3 p9 U& h
chown ceph:ceph /var/log/radosgw
  f3 k8 K- ?# S/ H& @0 H复制$ l6 L2 ~" j# F
启动rgw服务5 @4 l; H. @  q/ y2 ?# ]6 {$ E
systemctl start ceph-radosgw@rgw.`hostname -s` && systemctl enable ceph-radosgw@rgw.`hostname -s`2 {5 U* }1 [; W2 a+ H3 `
复制
$ u: _" T9 V+ w查看ceph状态,发现有个小问题  z% k. n( e: u- t* ~
! k5 B1 V9 E# _' ]
使用ceph health detail查看详情,根据提示enable即可
! F% k. K# F7 Z2 `9 o( |+ K0 V/ [( D, Y+ M: @3 m0 {1 x
使用curl访问服务
- U/ ?* E6 N, j4 L+ Y4 t
+ Z' c5 m& M" N, c8 _1 |
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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