|
|
楼主 |
发表于 2022-7-26 17:43:14
|
显示全部楼层
[root@ceph-3 ~]# ceph osd pool ls detail - |* m% C& q1 R
pool 2 'cephfsdata' replicated size 2 min_size 1 crush_rule 0 object_hash rjenkins pg_num 16 pgp_num 16 last_change 115 flags hashpspool stripe_width 0 application cephfs
2 K4 v- a$ {5 o6 G: Y7 r2 s0 Vpool 3 'cephfsmetadata' replicated size 2 min_size 1 crush_rule 0 object_hash rjenkins pg_num 16 pgp_num 16 last_change 115 flags hashpspool stripe_width 0 application cephfs* Q- b x2 j* m; ]( y: K
: T3 [% [8 a |& r+ t7 R) P% X
[root@ceph-3 ~]# ceph osd pool set cephfsdata size 3. ]! B, E8 V& r* L8 N; [. k
set pool 2 size to 3
# B0 n6 Z1 R! \4 O4 N" o[root@ceph-3 ~]# ceph osd pool set cephfsmetadata size 3& f. A8 K+ N# {
set pool 3 size to 3
3 D, g. B. U" t$ p$ g; I[root@ceph-3 ~]# ceph -s
r5 g6 W* l: ~! U$ N, v3 n6 m cluster:
# G4 L4 c7 b# _ x id: 57bf4711-2218-46af-99d6-9c68ae230ce1# N4 h% j6 G, k" R7 n) d6 m! s
health: HEALTH_WARN* d+ }- }6 _% `+ ~& O5 }. u. y
too few PGs per OSD (13 < min 30)# c* ]1 t% x4 Z; M. l& u- o
4 v7 {# h$ f7 |( t services:0 p, s! d2 i9 c& N- _; r" z
mon: 3 daemons, quorum ceph-2,ceph-1,ceph-3
1 C& F0 d( D0 q n* b) Z mgr: ceph-1(active), standbys: ceph-2, ceph-3
$ |' y9 \: D4 e mds: cephfs-1/1/1 up {0=ceph-2=up:active}, 2 up:standby
$ ]* M$ ^3 I, |) ^+ C osd: 6 osds: 6 up, 6 in% m& h+ S0 j3 b( a
+ K" a0 d3 } Z0 o/ K3 a
data:% w4 Y$ J/ F) ^7 d" d
pools: 2 pools, 32 pgs
: M; p8 C1 {0 d9 C) f+ L objects: 21 objects, 2.19KiB% j' @: q$ [9 f% V, T
usage: 652MiB used, 584GiB / 585GiB avail
* n! N, }3 F4 b+ I/ z4 ]2 ` pgs: 32 active+clean! u& Z5 T6 b8 Y
( [, T' W' {* p0 M3 ^( Z/ V! p[root@ceph-3 ~]# 4 c* v4 s/ b, \, L9 ?3 p
& a8 m3 ?" Q1 H
5 H, b- y2 n9 r# S) g
5 I( d9 T: }* k9 N# u- I* V[root@ceph-3 ~]# ceph osd pool set cephfsdata pg_num 32% ~' Y: w! j* E% k
set pool 2 pg_num to 32
7 \( B9 n( N5 n1 a. P[root@ceph-3 ~]# ceph osd pool set cephfsdata pgp_num 32
1 x0 ? Z$ E9 n1 D; h5 rset pool 2 pgp_num to 32% A$ d5 L/ r" p; w
[root@ceph-3 ~]# ceph osd pool set cephfsmetadata pg_num 32
( M; M( |2 `8 O( I7 {) R7 }set pool 3 pg_num to 32/ [) J3 S& H7 i/ O0 \0 e
[root@ceph-3 ~]# ceph osd pool set cephfsmetadata pgp_num 32* S1 I+ K1 b% U1 L4 x7 h/ Z- U
set pool 3 pgp_num to 326 [7 m6 o* W5 K! g
[root@ceph-3 ~]# ceph -s$ K3 d2 i. N- L( r
cluster:' L. h1 s* F, f+ u5 s
id: 57bf4711-2218-46af-99d6-9c68ae230ce1
% ?: {9 s. i3 e. y& e& P* A5 o health: HEALTH_WARN8 k4 Z2 s1 D# i1 q& G& C6 v
Reduced data availability: 15 pgs inactive, 8 pgs peering
}, r1 g5 M- j$ Z; f too few PGs per OSD (29 < min 30)
7 |; w; M( ?$ u$ _3 T
: O0 y0 ^9 O$ ~! F1 z services:
; V3 Y- c: F# n a# P3 f mon: 3 daemons, quorum ceph-2,ceph-1,ceph-3
1 \2 C) W# C0 e5 K mgr: ceph-1(active), standbys: ceph-2, ceph-3
- |0 {0 N: T! o& F1 r& d mds: cephfs-1/1/1 up {0=ceph-2=up:active}, 2 up:standby
# X8 i8 ]4 Y1 N' a5 b* a$ @2 P. l) V osd: 6 osds: 6 up, 6 in
) c, e) p5 r$ N. D" t1 O6 e0 {& f
; I0 F; }. u: g0 h( O8 _ data:% j; K* K0 j C2 t: g" u0 X
pools: 2 pools, 64 pgs' P- N3 |- {$ e, L. Y* m' C5 W
objects: 12 objects, 1.12KiB4 |4 f: |" x) n, t; M
usage: 654MiB used, 584GiB / 585GiB avail
( T6 W, c9 f2 c) k3 k pgs: 7.812% pgs unknown
) ` r! Y2 p, v' d) B 60.938% pgs not active3 U; f8 n2 i! R$ U4 ?% y% f
27 activating
2 ]) j% ]$ l3 M 20 active+clean
2 ^5 l3 X' K0 t/ c: O" {# B4 d 12 peering Q, F& J( ]/ [" o8 x
5 unknown9 p/ k3 [8 Y, w$ x E! U) ?$ h$ N
0 g4 Y' u/ Q4 h9 M+ Y- m io:
. p/ `' b! w& V! N; X8 G client: 127B/s wr, 0op/s rd, 1op/s wr2 M4 z- n* L# g8 | x
recovery: 2B/s, 0objects/s4 l% U' ~6 l* X9 }% A2 _
: l! L. G1 b) U; I$ @
; y0 F" ]1 G6 K加载/卸载cephfs过程。
. i$ T: H/ c* `5 u* o. D, }& f. U) j; K" V" J
在这里我做的比较简单,就是在ceph集群的机器上做的cephfs加载操作。若在其它客户端进行加载的话,需要将ceph集群配置文件ceph.conf以及访问cephfs的用户keyring复制到对应的客户端。对于通过内核方式加载来说,需要内核模块支持cephfs,对于通过fuse方式加载来说,需要手动安装ceph-fuse这个包。& I& i1 a1 s- t3 ? D
2 X6 |4 `8 c1 e* ?& o# K1、通过内核模块的方式加载cephfs。
6 p5 K: K y6 l' d7 i# W" | E5 `" T) g9 J# @9 G" v
#mkdir -p /mnt/mycephfs
! c; ~1 p, z9 O6 F2 d1 K! x' l8 \" _6 T8 t2 D
#mount -t ceph 127.0.0.1:6789:/ /mnt/mycephfs
6 J+ O1 E6 x$ a s% I2 v% y, o( v, L; a% \+ t: `! d+ S
之后通过mount命令就可以看到cephfs已经成功的挂载到/mnt/mycephfs目录下。后面就可以和操作本地文件系统一样操作/mnt/mycephfs目录。1 l' u0 }! s/ Z3 c
3 h$ w- x# p! k+ A* ^2、通过内核模块的方式卸载cephfs。7 {! Z' p8 {) I8 F# S
3 ~/ ~3 S; S) ?! b
#umount /mnt/mycephfs
" K% P& b/ i5 T/ V
" G' p2 x7 z; Q7 v3 @, B# I) ^3、通过fuse方式加载cephfs。
+ n* E1 Q3 P6 f4 b- v5 t, p' J8 N. m2 }# f
#ceph-fuse -m 127.0.0.1:6789 /mnt/mycephfs' y4 T3 R$ V1 D+ K
[root@ceph-3 ~]# ceph-fuse -m 192.168.120.31:6789 /mnt/mycephfs/' K; A, w- }3 {- f9 L8 W) a
2022-07-26 17:47:13.582325 7fadc9ddc0c0 -1 init, newargv = 0x558a74c0e720 newargc=9
( f3 D6 w# Z1 h2 N' e4 C4 Dceph-fuse[30570]: starting ceph client* Z) [7 w; i% ^" B# J" Y; o5 v3 n+ ~
ceph-fuse[30570]: starting fuse3 U$ v) h b4 r- `3 f# [
[root@ceph-3 ~]# df -Th, @" V" p9 |: d }/ k2 L
Filesystem Type Size Used Avail Use% Mounted on: d" ]$ A& u. m* u
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
1 n( e; F& K4 Y3 [9 ]9 G% Atmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
7 r! Q+ E* {- N* ?+ Htmpfs tmpfs 1.9G 159M 1.7G 9% /run# |4 l0 ]4 X2 H5 u8 y& u1 \
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
& A) s4 `/ X5 x* ~/dev/mapper/rhel-root xfs 50G 7.6G 42G 16% /& D- M. u1 k; B ?+ s0 H
/dev/vda1 xfs 497M 143M 355M 29% /boot) Z1 Q' J2 N- P, a4 U
tmpfs tmpfs 379M 0 379M 0% /run/user/0
, v4 V8 `( C4 [. s/ d/dev/vdb1 xfs 98G 109M 98G 1% /var/lib/ceph/osd/ceph-4
" y8 K* H" Q" e, C4 |) \4 U/dev/vdc1 xfs 98G 109M 98G 1% /var/lib/ceph/osd/ceph-5
0 x5 R$ _& V- j2 kceph-fuse fuse.ceph-fuse 185G 0 185G 0% /mnt/mycephfs
9 a7 y2 b% l0 C, b) ^
0 e1 B. ?0 n5 b/ u
8 g; j0 U9 e$ K: Q( J7 Y( q* N8 a之后通过mount命令就可以看到cephfs已经成功的挂载到/mnt/mycephfs目录下。后面就可以和操作本地文件系统一样操作/mnt/mycephfs目录。
" w5 \: a5 [1 i, J0 x, _# E( [, H6 I1 h( P% o
4、通过fuse方式卸载cephfs。) F: f6 O7 V$ k, Z* n! T
' P9 H6 i: Q9 `2 [6 \' g! g" C#fusermount -u /mnt/mycephfs+ B0 x; d: o7 ^* G% P8 u
|
|