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

常用命令 ceph

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-10-6 16:15:42 | 显示全部楼层 |阅读模式
1、启动一个ceph 进程" h5 B; V& n( l2 [
启动mon进程
" W! k$ e4 Q% ?+ z* sservice ceph start  mon.node1/ m+ |6 O2 P6 N8 q7 z" x
启动msd进程
8 ?( [' N' v( J+ {service ceph start mds.node1
# M- u3 X! t2 v5 s启动osd进程  ^, \" b+ o5 n' `/ m9 z4 g9 J; b# n
 service ceph start osd.0; l% r- x1 \. D. ?- U# j5 I; H
2、查看机器的监控状态
* `3 c! h: ?" L( F[root@client ~]# ceph health4 f2 Q3 w1 r' R4 p! {$ Z
HEALTH_OK  f' Z( k5 {$ ]/ o" L, }
3、查看ceph的实时运行状态0 b: N+ h& C# v, r8 ^
[root@client ~]# ceph -w* }: i' j; d: E3 R2 |3 L
    cluster be1756f2-54f7-4d8f-8790-820c82721f17! b+ Q9 ^9 T2 k$ L" _* r' k
     health HEALTH_OK
; Q' A5 m: o& ^$ w9 _4 q3 Y     monmap e2: 3 mons at {node1=10.240.240.211:6789/0,node2=10.240.240.212:6789/0,node3=10.240.240.213:6789/0}, election epoch 294, quorum 0,1,2 node1,node2,node3, l, r! M4 q; u5 ^
     mdsmap e95: 1/1/1 up {0=node2=up:active}, 1 up:standby  m7 t2 R8 ~. c3 G5 \
     osdmap e88: 3 osds: 3 up, 3 in
: U; R- o3 [% y  T: x% @& v      pgmap v1164: 448 pgs, 4 pools, 10003 MB data, 2520 objects% L/ G8 B/ T% t* A* u7 F
            23617 MB used, 37792 MB / 61410 MB avail
1 H3 Y, g" T; k4 X) ]9 l2 y, N" r                 448 active+clean
- f2 L$ Z( }  k  d4 n2014-06-30 00:48:28.756948 mon.0 [INF] pgmap v1163: 448 pgs: 448 active+clean; 10003 MB data, 23617 MB used, 37792 MB / 61410 MB avail+ I' Y& y5 B1 }5 I8 Q) ^6 t
) U* a( m% K6 v# B# G
4、检查信息状态信息, d1 _& g8 q5 a3 \
[root@client ~]# ceph -s& b; {$ [# X9 v
    cluster be1756f2-54f7-4d8f-8790-820c82721f17
. I4 {: d% m5 s6 Q: \  i     health HEALTH_OK
2 O1 Z' `- t1 M5 J8 m6 @: R     monmap e2: 3 mons at {node1=10.240.240.211:6789/0,node2=10.240.240.212:6789/0,node3=10.240.240.213:6789/0}, election epoch 294, quorum 0,1,2 node1,node2,node3
) |# h2 B* X* ?. o( p) x! \! D0 }     mdsmap e95: 1/1/1 up {0=node2=up:active}, 1 up:standby
- h2 r6 n; |, H# W3 L( c2 z+ d4 t' x7 b     osdmap e88: 3 osds: 3 up, 3 in
2 `6 n7 U% J4 f, ^, ]: _# T7 j* a      pgmap v1164: 448 pgs, 4 pools, 10003 MB data, 2520 objects
6 u8 F! y$ F# q+ Y  u            23617 MB used, 37792 MB / 61410 MB avail
- K' z% v# p1 K- m. Q8 e                 448 active+clean2 g* E$ W) q8 a" {' Y2 V, e
[root@client ~]# # G  c! C0 |8 Y' R

+ P. D7 f) I' ?5、查看ceph存储空间) G4 N0 p: v5 l- Q! o7 u# i, h+ L
[root@client ~]# ceph df
, T6 n, y  S0 Y9 H' wGLOBAL:
7 \4 a  a1 s$ I7 [    SIZE       AVAIL      RAW USED     %RAW USED 8 j. B0 ]$ K* X6 [
    61410M     37792M     23617M       38.46     
5 l5 u& o1 v6 X" cPOOLS:! g: d9 V6 B1 P8 q: t% I7 Z: H6 k
    NAME         ID     USED       %USED     OBJECTS 
+ n. d+ D" O6 `: e7 Q    data         0      10000M     16.28     2500    
' J" G, d8 O9 L. P    metadata     1      3354k      0         20      
# t: g: G/ g7 r6 b" D0 f; C9 p    rbd          2      0          0         0       2 O: x0 w' D: e' `) Z0 F" l4 D
    jiayuan      3      0          0         0       6 P  l9 f& T# V, ]: T
[root@client ~]# 
( P3 c$ d2 `! E' y; x& T6、删除一个节点的所有的ceph数据包
7 z+ q3 L' ~2 y) r5 j[root@node1 ~]# ceph-deploy purge node1
* z. Y/ e# p% d  m5 a1 x[root@node1 ~]# ceph-deploy purgedata node1: b! v, S# u' ^% w7 x
7、为ceph创建一个admin用户并为admin用户创建一个密钥,把密钥保存到/etc/ceph目录下:& S# D7 O5 S( F0 d% I/ R* B! H* C' o
ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.admin.keyring# \- f/ F; N& ^/ [3 ^
2 c9 i" l: m. P) ?" r
ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' -o /etc/ceph/ceph.client.admin.keyring
0 h  g, R$ g- }8、为osd.0创建一个用户并创建一个key$ _) d) h* \6 u
ceph auth get-or-create osd.0 mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-0/keyring! Z$ {& ?; r* i' h2 g
9、为mds.node1创建一个用户并创建一个key7 A1 A. I! r0 @% r
ceph auth get-or-create mds.node1 mon 'allow rwx' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mds/ceph-node1/keyring
) Y8 d7 w) E1 N/ @( }10、查看ceph集群中的认证用户及相关的key
" u8 v, U- L7 S* j, Q5 qceph auth list
/ w7 H/ D) d0 Z  q( A  l11、删除集群中的一个认证用户0 F7 M# M4 R7 h) o7 ], L) k/ ?9 C
ceph auth del osd.0% l3 R4 m; G2 d: K
12、查看集群的详细配置
* B* H6 l7 `* P; f+ }  N& u0 X* x* T[root@node1 ~]# ceph daemon mon.node1 config show | more
: k/ Q; d" ^8 \' R& a6 A7 ?, Y13、查看集群健康状态细节( m, R8 u& v  n, X% D
[root@admin ~]# ceph health detail6 w3 t. w6 S6 a5 {' U; ^9 H
HEALTH_WARN 12 pgs down; 12 pgs peering; 12 pgs stuck inactive; 12 pgs stuck unclean
7 B6 R$ H$ h/ l4 Apg 3.3b is stuck inactive since forever, current state down+peering, last acting [1,2]! G5 r) {" p+ ^: l4 |1 g# s, q
pg 3.36 is stuck inactive since forever, current state down+peering, last acting [1,2]
! W) a- X1 _/ e& k) K* J1 S. Epg 3.79 is stuck inactive since forever, current state down+peering, last acting [1,0]
- P2 I' n& F8 ]5 O  opg 3.5 is stuck inactive since forever, current state down+peering, last acting [1,2]  u. x2 V( Q& w( T" L" D5 I
pg 3.30 is stuck inactive since forever, current state down+peering, last acting [1,2]
( o% O! V7 G) ~pg 3.1a is stuck inactive since forever, current state down+peering, last acting [1,0]
# F+ S# t6 _. {& ?' |; O; X  R9 d% qpg 3.2d is stuck inactive since forever, current state down+peering, last acting [1,0]
! Y8 E. H' D& _+ Jpg 3.16 is stuck inactive since forever, current state down+peering, last acting [1,2]
/ Z+ d$ L) C/ q" ?
* z; p5 g2 h8 R% h# t% x* D& ^14、查看ceph log日志所在的目录: ^2 q& c: O7 k9 `( Z; R/ J
[root@node1 ~]# ceph-conf --name mon.node1 --show-config-value log_file7 h# @$ F* J* X) A
/var/log/ceph/ceph-mon.node1.log
1 B$ E5 g1 T1 T7 r5 j7 J% |
9 i+ d0 c+ s7 u% M4 g4 y8 E8 M! Q' k6 r
二、mon
/ x8 U* n# E$ b$ H' m, F) }# _1、查看mon的状态信息
: o" m1 W' D8 ^0 \# k0 P[root@client ~]# ceph mon stat
7 U0 C- z: |( ?, {. X% J* ue2: 3 mons at {node1=10.240.240.211:6789/0,node2=10.240.240.212:6789/0,node3=10.240.240.213:6789/0}, election epoch 294, quorum 0,1,2 node1,node2,node3# F. \. r. j1 u0 B; y( r* J8 ?: D
2、查看mon的选举状态
( V: a4 \& S! k[root@client ~]# ceph quorum_status5 G8 r. d5 X: O( i% H
{"election_epoch":294,"quorum":[0,1,2],"quorum_names":["node1","node2","node3"],"quorum_leader_name":"node1","monmap":{"epoch":2,"fsid":"be1756f2-54f7-4d8f-8790-820c82721f17","modified":"2014-06-26 18:43:51.671106","created":"0.000000","mons":[{"rank":0,"name":"node1","addr":"10.240.240.211:6789\/0"},{"rank":1,"name":"node2","addr":"10.240.240.212:6789\/0"},{"rank":2,"name":"node3","addr":"10.240.240.213:6789\/0"}]}}; p9 D8 \/ U! i' |
3、查看mon的映射信息# Q$ ]& [0 I3 ~( Z+ D8 h; d0 L% w% J' G0 C  F
[root@client ~]# ceph mon dump. M# E0 x- ]9 p& `
dumped monmap epoch 2
+ }0 T1 h! p' kepoch 2- v. g3 Z( P8 B- l% v
fsid be1756f2-54f7-4d8f-8790-820c82721f171 i$ ~; O% j5 N4 ^7 h
last_changed 2014-06-26 18:43:51.671106! t( C& i! V4 c" r2 }* z# ?
created 0.000000
. x$ H8 X  @' R3 T4 Q* ]$ E' B; @0: 10.240.240.211:6789/0 mon.node1
1 |7 x) ?; _$ H% _( S1: 10.240.240.212:6789/0 mon.node2
( f# z4 p( [( {! Z2: 10.240.240.213:6789/0 mon.node36 t" u7 A& {9 N$ }
4、删除一个mon节点9 s# M  [6 Q) @
[root@node1 ~]# ceph mon remove node1' _% E9 }3 j/ N, `% N% }- \
removed mon.node1 at 10.39.101.1:6789/0, there are now 3 monitors
: k3 f1 F1 s( W: {! r) c+ I* v2014-07-07 18:11:04.974188 7f4d16bfd700  0 monclient: hunting for new mon
3 o: L, N1 e5 f% @5、获得一个正在运行的mon map,并保存在1.txt文件中
1 m$ v* X' k4 r[root@node3 ~]# ceph mon getmap -o 1.txt
# @6 z, b4 T( {$ b* S) zgot monmap epoch 6
% V# f# V  d* t9 }8 b7 K6、查看上面获得的map* f0 \# ^# h* Z9 G$ \
[root@node3 ~]#  monmaptool --print 1.txt ( f( `$ ?- C  ~' w' }
monmaptool: monmap file 1.txt$ P6 O' V1 w, ]8 _- u. w1 A" \
epoch 6* U5 y$ Z! k) S( D
fsid 92552333-a0a8-41b8-8b45-c93a8730525e" O- Z/ d) i; t# Z0 `
last_changed 2014-07-07 18:22:51.927205
; a% k# e' Q  g1 Acreated 0.000000
; R* C+ Y) ?6 }+ d3 S3 W) ?0: 10.39.101.1:6789/0 mon.node1% J1 Y8 S) G, W. |0 n/ F$ c3 w$ I
1: 10.39.101.2:6789/0 mon.node2
+ k0 l- B0 l& g( T1 U& M2: 10.39.101.3:6789/0 mon.node3
: U* H8 P" N; K4 L3 E6 w/ m( w[root@node3 ~]#
" o" t0 I% X( X% Q1 [  \6 r7、把上面的mon map注入新加入的节点
! _9 _7 V1 C4 @+ G) X. m0 Kceph-mon -i node4 --inject-monmap 1.txt' |, Y) `5 s& P3 N
8、查看mon的amin socket
% I- |2 o4 v5 ~) G" K* O7 d" vroot@node1 ~]# ceph-conf --name mon.node1 --show-config-value admin_socket
0 k* |  x0 N' S4 @/var/run/ceph/ceph-mon.node1.asok 
2 Q5 e/ l" r: {4 @& w  H! [9、查看mon的详细状态& e) K6 s' W6 R6 P0 D9 V
[root@node1 ~]# ceph daemon mon.node1  mon_status 
# v% o! {+ l. @- f4 c6 @{ "name": "node1",: K- C' t/ `- x& t" T
  "rank": 0,3 r* Y& Z2 Z! Y" N* ~! ^
  "state": "leader",7 E/ [# K! ?; j8 i+ G
  "election_epoch": 96,
8 c# I. n$ {( h  @8 Z+ }9 V* a  "quorum": [! [# n+ f* d( O* ~( X0 J' x- v
        0,2 K( o& w% V0 K4 [9 n4 Y
        1,3 [3 L% Q7 R# _( x
        2],
# e6 {& I; @) e  "outside_quorum": [],
8 Q, p) B% X$ ~  "extra_probe_peers": [
4 \" I& P& Z9 g* n* m        "10.39.101.4:6789\/0"],- d" A: \9 w2 e4 S8 o
  "sync_provider": [],; [+ J$ {: H3 ?5 N. I
  "monmap": { "epoch": 6,
1 z  X5 z! ^/ c% j      "fsid": "92552333-a0a8-41b8-8b45-c93a8730525e",  m! f6 i/ l; D7 G7 ^6 H6 W7 ]0 |
      "modified": "2014-07-07 18:22:51.927205",6 A% y8 S! a; l. P, V( Z- v/ }& w
      "created": "0.000000",* m' r$ s+ I  D; U
      "mons": [6 e. [7 Z/ z3 j( H. N! V. O
            { "rank": 0,3 f* {$ Z& S2 M1 |  D* z
              "name": "node1",
9 H, n' T9 k$ i# f              "addr": "10.39.101.1:6789\/0"},
, H4 k3 a. u6 S! v" D* m            { "rank": 1,7 x- Q, X2 C& |% K# @( ]* H
              "name": "node2",
( U! A( n8 q6 L              "addr": "10.39.101.2:6789\/0"},
) l" O# D$ t- ?- [- [            { "rank": 2,
6 s1 I4 l% }& W5 \9 ^1 E              "name": "node3",) b1 F+ B) C" P& h1 b; ?
              "addr": "10.39.101.3:6789\/0"}]}
7 i1 \/ ^$ R1 ?% w& y0 z. w/ m- x" C10、删除一个mon节点9 ~9 Y3 p8 K- p; P0 A
[root@os-node1 ~]# ceph mon remove os-node1
- b( d( S4 R! h: v# {& L* j5 dremoved mon.os-node1 at 10.40.10.64:6789/0, there are now 3 monitors" P! O9 {2 D8 M6 M; |

2 I* ]$ ^; n* x) ^( V三、msd
; r( l  B, ^7 m) v+ o1、查看msd状态
  }' b% `3 M9 w& G* x0 |. P[root@client ~]# ceph mds stat- Q$ }4 i+ H" X8 A7 u' m
e95: 1/1/1 up {0=node2=up:active}, 1 up:standby0 u* G- E2 ]1 z  a# p  l5 l
2、查看msd的映射信息/ F$ b. i8 e) Y) E2 ]. v% x
[root@client ~]# ceph mds dump) d2 A( T/ s' h5 G+ p2 d/ P
dumped mdsmap epoch 957 F- E! S  M: N# `
epoch   95
" {: E4 j% `( Q$ k: c& iflags   0; z' _; j. q: J3 U0 B. A
created 2014-06-26 18:41:57.6868018 Y: W5 \/ ?* V" P1 q7 `: i' s" @9 d
modified        2014-06-30 00:24:11.749967/ }5 r, W3 b6 _
tableserver     0/ e1 M( y# Z( c" @4 n7 s  ]2 ^& g
root    0, J' C8 K+ A, [9 A5 w& D! ~  v
session_timeout 60, N3 h4 G' b' P
session_autoclose       3004 p. n7 x+ d$ z0 j* Y- i$ {
max_file_size   10995116277764 m5 w4 C. [$ T0 ?' d
last_failure    84
/ B! l  q& Z  j! w3 W: d6 ilast_failure_osd_epoch  81
& k+ J: t+ }% lcompat  compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap}
# N2 ?6 ^- M) omax_mds 1
/ }8 P7 O: W( c9 h4 f4 ein      0! E" c  X! r* L7 ?1 m
up      {0=5015}
7 E3 ^( u5 Z* M6 Kfailed: G* j" O" w2 W+ @. L
stopped
6 N8 E2 J8 Z4 N( Odata_pools      0* t' I& h3 N: @+ e2 r
metadata_pool   1
7 i1 F6 k2 g# X, z. q8 J7 {6 minline_data     disabled8 W% ^: |8 Z; x" @
5015:   10.240.240.212:6808/3032 'node2' mds.0.12 up:active seq 30! ^; q; C; N' N% e/ y# o$ o  |
5012:   10.240.240.211:6807/3459 'node1' mds.-1.0 up:standby seq 38
: v' x- I$ V2 f* N% ]3、删除一个mds节点& H2 Q$ u" t( y; }- t: D* s: o
[root@node1 ~]# ceph  mds rm 0 mds.node1! f0 u) a) M+ d2 R/ y
 mds gid 0 dne) ?1 W# Q- j/ ^

3 ~5 J1 d& G5 a  s. n2 k0 H9 h! F四、osd
* F, t5 Q( k1 S' u1、查看ceph osd运行状态
- E$ x$ J8 E+ \[root@client ~]# ceph osd stat
# f3 h7 p" p, v2 K) v4 [     osdmap e88: 3 osds: 3 up, 3 in* _+ i! l0 s" M! `: E" C
5 \: G) z7 P0 [1 o+ ]' i
2、查看osd映射信息6 J; w& F: V6 U7 U8 X& c6 j
[root@client ~]# ceph osd dump. X) C) W3 n7 L9 _' n  e) T
epoch 88
$ c1 L6 H& H8 s+ D& g$ z* ]fsid be1756f2-54f7-4d8f-8790-820c82721f176 w3 p2 R5 K* j6 W9 i8 {
created 2014-06-26 18:41:57.687442) E& E1 [! U5 Y5 c  C4 v
modified 2014-06-30 00:46:27.179793
4 p7 |& \. v$ Qflags 
5 B0 D3 N2 b. D' Hpool 0 'data' replicated size 2 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 1 owner 0 flags hashpspool crash_replay_interval 45 stripe_width 0
0 T% v7 X4 i2 M! M/ J$ qpool 1 'metadata' replicated size 2 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 1 owner 0 flags hashpspool stripe_width 0/ |8 ^  |9 R8 _3 W% r
pool 2 'rbd' replicated size 2 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 1 owner 0 flags hashpspool stripe_width 0
. M) @* q* }' p$ e$ @: I; q+ Zpool 3 'jiayuan' replicated size 2 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 256 pgp_num 256 last_change 73 owner 0 flags hashpspool stripe_width 0
2 @; U  n- j& U# kmax_osd 33 h5 k' L. l3 l: l6 A0 C, s6 {
osd.0 up   in  weight 1 up_from 65 up_thru 75 down_at 64 last_clean_interval [53,55) 10.240.240.211:6800/3089 10.240.240.211:6801/3089 10.240.240.211:6802/3089 10.240.240.211:6803/3089 exists,up 8a24ad16-a483-4bac-a56a-6ed44ab74ff0, T5 L3 q& J8 o+ b  ~! l" U  Q
osd.1 up   in  weight 1 up_from 59 up_thru 74 down_at 58 last_clean_interval [31,55) 10.240.240.212:6800/2696 10.240.240.212:6801/2696 10.240.240.212:6802/2696 10.240.240.212:6803/2696 exists,up 8619c083-0273-4203-ba57-4b1dabb893392 b, T8 P/ {! l: ?/ r
osd.2 up   in  weight 1 up_from 62 up_thru 74 down_at 61 last_clean_interval [39,55) 10.240.240.213:6800/2662 10.240.240.213:6801/2662 10.240.240.213:6802/2662 10.240.240.213:6803/2662 exists,up f8107c04-35d7-4fb8-8c82-09eb885f0e58
$ x' g8 Q3 R$ K6 X+ n[root@client ~]# 
" ?1 q- u7 I8 O( T) @- l' D3 h! y. @4 H
3、查看osd的目录树
8 H* v! ~6 n8 \* M[root@client ~]# ceph osd tree
3 k% R6 @+ T% A$ W/ b, s. L; v# id    weight  type name       up/down reweight
9 r9 J5 T; e+ o-1      3       root default
  X( s( ]7 S0 P! O. W: |-2      1               host node1+ i- o+ q' J) z3 ^3 a7 F$ J
0       1                       osd.0   up      15 _% T' y0 V: h# D
-3      1               host node2! {* c  z" Y6 f- v2 E3 E+ r$ M
1       1                       osd.1   up      10 _( x3 @' q# i7 \, i; S# n% G" u
-4      1               host node34 C5 L$ m1 W- @, n, a* c+ c3 @' r) A
2       1                       osd.2   up      1
- I2 V$ y! p3 ]0 B" f
5 G0 ?9 W+ P7 s& H4、down掉一个osd硬盘, K8 c- R0 @2 B* @% {- O; `+ R6 {
[root@node1 ~]# ceph osd down 0   #down掉osd.0节点
% I6 c+ N0 o' N& }# h. G  z5、在集群中删除一个osd硬盘
! p9 _/ C) c! t: n3 L8 L% V[root@node4 ~]# ceph osd rm 0
% l# @: ?; d4 P: L! Hremoved osd.09 T8 o% K, [& g. p& b
6、在集群中删除一个osd 硬盘 crush map
; `0 B. y6 S) R! g[root@node1 ~]# ceph osd crush rm osd.0
% h1 K$ W$ c, M; h/ o* H7、在集群中删除一个osd的host节点/ O. b* I6 H. Z! Y3 h8 w
[root@node1 ~]# ceph osd crush rm node1/ h7 j1 Y2 u4 Y+ b  P! p+ T" a
removed item id -2 name 'node1' from crush map
9 _( ]9 n2 I( s: p$ X5 F* N  P/ G# S& q& v: u
查看最大osd的个数 2 l: W: h& v8 Q, B0 [
[root@node1 ~]# ceph osd getmaxosd
; F$ M) W; a: t: ~" umax_osd = 4 in epoch 514           #默认最大是4个osd节点' o0 P" b+ v! `3 J0 ?7 {+ o
8、设置最大的osd的个数(当扩大osd节点的时候必须扩大这个值)1 z- ^* V. s7 h
[root@node1 ~]# ceph osd setmaxosd 10
5 q0 B& k) n* R" n9、设置osd crush的权重为1.0
9 w& k% r/ B6 ]! ]/ L+ I; o6 Tceph osd crush set {id} {weight} [{loc1} [{loc2} ...]]- i! l+ D" \2 L. Z( C
例如:2 {8 W8 k/ n5 G
[root@admin ~]# ceph osd crush set 3 3.0 host=node4! ?  j, p$ w7 |, {
set item id 3 name 'osd.3' weight 3 at location {host=node4} to crush map
9 s% r0 G) S  Q[root@admin ~]# ceph osd tree8 C4 ]& T6 l9 N( S3 P# B3 k* S! A: I
# id    weight  type name       up/down reweight4 A9 U! f1 D* z1 T3 M% \; ~
-1      6       root default% Q' z2 Z/ |6 c
-2      1               host node18 H5 j$ s: x2 Q5 I
0       1                       osd.0   up      1
; [3 P4 i2 q, }% g& |-3      1               host node2* U0 R" q' W" k9 k% ^5 i
1       1                       osd.1   up      1+ Q) F; y6 d4 I7 n9 L( U) m
-4      1               host node3% e6 G- \* _$ ], w) Q2 b
2       1                       osd.2   up      1
0 G0 k: _8 `' Y  |, _3 ^; b6 K-5      3               host node4
: p4 U* e" Z' n* W  V9 i, X3       3                       osd.3   up      0.56 o2 u/ C. r5 K% p+ E& [+ }

! l' o+ l0 I0 |& I- H8 L: y或者用下面的方式
/ f4 h% v8 f7 z9 E0 |0 j8 d[root@admin ~]# ceph osd crush reweight osd.3 1.0
4 k( t5 `9 W/ x. F  E& I" preweighted item id 3 name 'osd.3' to 1 in crush map
6 x* r8 `* ]- M1 Q+ Z3 O, o[root@admin ~]# ceph osd tree/ |7 B4 t, X% Q9 t3 E6 F
# id    weight  type name       up/down reweight' w3 n9 ]) n$ O/ d& }/ Q6 b+ L
-1      4       root default1 C& l' o0 Z( y& |) N- C
-2      1               host node1
2 a+ G/ |$ Z' J' t2 l) z4 t0       1                       osd.0   up      1
5 t6 n" Y& L" Z- D. ?-3      1               host node28 A6 d) c+ A( }" I( x! i/ ^
1       1                       osd.1   up      1
' F% ?( T9 ?$ V-4      1               host node3  @( F8 l+ p! m2 [8 _
2       1                       osd.2   up      15 w! u2 _7 G  a+ o0 f
-5      1               host node4! v# k$ E5 S, }6 C3 I* {" I
3       1                       osd.3   up      0.5
+ U; V( O. b) K* Z: \) A  c10、设置osd的权重
  h: [4 o9 s3 L) f  C' w: y* d[root@admin ~]# ceph osd reweight 3 0.50 w, e$ s# X& z' j/ ^1 N; z' U
reweighted osd.3 to 0.5 (8327682)
6 K2 b4 _8 v8 a$ Y7 G% D[root@admin ~]# ceph osd tree
/ g! G3 I9 E( R0 E1 p' _& J6 m# id    weight  type name       up/down reweight
# j& ~* e! ^2 J& k' C-1      4       root default- |5 \! G! H9 K* f" T
-2      1               host node17 X6 d/ j# ?  o
0       1                       osd.0   up      1
1 r+ Y! Y* c% d. B-3      1               host node21 x) X8 l) y' t2 H3 E% O
1       1                       osd.1   up      1' V) r7 J- q0 |" G" V5 _) S9 T
-4      1               host node35 k% N# |: q! P3 ~
2       1                       osd.2   up      10 ~* H* N$ {% u: m& s
-5      1               host node4$ w5 p1 R( {2 t$ P0 ~' b: b
3       1                       osd.3   up      0.5& f: }5 t( G7 C/ W+ t
11、把一个osd节点逐出集群
9 j- A8 \4 x8 {; Y[root@admin ~]# ceph osd out osd.3/ f4 w7 n( Z+ e; Y1 q5 q
marked out osd.3.  % u. y- ]1 K- f$ o- P# H
[root@admin ~]# ceph osd tree2 p2 B7 ?- K; W6 j7 h
# id    weight  type name       up/down reweight
4 [* C% F, K! X, q-1      4       root default2 R6 e4 q& t; p: ]& D# Z$ g& h6 W
-2      1               host node1
' c: n# a2 A7 }' n4 [4 X0       1                       osd.0   up      1) e5 Q3 ~3 U0 w# p, G$ V
-3      1               host node20 o9 ]# B4 m9 r
1       1                       osd.1   up      1; \4 }0 k4 R! p; ^% Y! X, g
-4      1               host node3" [* s( s  q# l8 ]) e: T# h2 m1 p
2       1                       osd.2   up      1
3 J% w8 r3 k$ W-5      1               host node4
8 k4 a6 i/ r5 m3       1                       osd.3   up      0      # osd.3的reweight变为0了就不再分配数据,但是设备还是存活的
3 {. q7 T* b; L4 d6 u12、把逐出的osd加入集群6 A5 Y8 C! W3 [. C0 @, p
[root@admin ~]# ceph osd in osd.3
2 u/ V4 s  F1 Q" a9 s, G7 \7 u  }marked in osd.3. % w: T4 p5 M# O$ K
[root@admin ~]# ceph osd tree
/ M2 m2 W0 s4 ^( @; R! ]# id    weight  type name       up/down reweight! U7 G% I9 C9 O% j
-1      4       root default: T: A6 z5 Y0 x% [$ p
-2      1               host node1! f# ]! c/ O! J: d. e3 y
0       1                       osd.0   up      1
# ^8 w! \; D2 k! G) ]$ ^-3      1               host node2, n7 M/ l- J6 v
1       1                       osd.1   up      1$ o' C2 q+ Y/ C
-4      1               host node3+ h, u& z0 s2 T! k, ^( ~6 Q
2       1                       osd.2   up      1
# z- W: V' M( R- l* d' l( s-5      1               host node4
* H3 W! |9 i8 N: d; K8 d# h3       1                       osd.3   up      1
6 b, V7 q% u8 H. Z+ D" {( e2 `13、暂停osd (暂停后整个集群不再接收数据)5 |* v4 q* S/ g# I0 ?2 \5 y
[root@admin ~]# ceph osd pause! I1 ?; z" F- H) R
set pauserd,pausewr      8 s! k+ i( p- o9 J3 a
14、再次开启osd (开启后再次接收数据) 
) ?! X* B+ f( V+ {8 t0 N9 H+ \5 A[root@admin ~]# ceph osd unpause
6 p1 c' N7 }1 v% j+ A7 yunset pauserd,pausewr
1 j! l5 c- n- c& c. G
- K7 _4 z2 V  A$ t. C9 Y/ b: Z- a15、查看一个集群osd.2参数的配置
9 Q6 o( O0 b# g9 u( h$ ^5 k- Kceph --admin-daemon /var/run/ceph/ceph-osd.2.asok config show | less
0 d' }( y- T  F; o, S. J+ S: m: X1 F8 ?: n2 r6 |, J* k

6 s3 {' ]) j- B8 u, Q) B/ D* `$ w/ U4 s
五、PG组
; ?! a8 I$ L$ c1、1、查看pg组的映射信息
: _7 r1 _5 w4 c8 B$ s1 H- @[root@client ~]# ceph pg dump4 m- y0 C4 b3 h% T, m1 o
dumped all in format plain
5 j4 _$ p9 X% w0 C" t1 G2 Gversion 1164' R" [. C4 r9 u9 f2 b# V7 X
stamp 2014-06-30 00:48:29.754714
" U1 w' w) r! Y7 C: T( J) l+ |" G. v# Y$ Dlast_osdmap_epoch 88: K( Z* Q( |3 ]3 z5 i7 b1 J$ w: M4 I
last_pg_scan 73
4 l7 w% T' k. T- D: h) {full_ratio 0.95* ^, S) G4 w* P# |. r. w2 I: \
nearfull_ratio 0.85
+ b$ L+ }  Q4 i. Mpg_stat objects mip     degr    unf     bytes   log     disklog state   state_stamp     v       reported       up      up_primary      acting  acting_primary  last_scrub      scrub_stamp     last_deep_scrudeep_scrub_stamp
( e  C: p- A% G, l- ^# Y0.3f    39      0       0       0       163577856       128     128     active+clean    2014-06-30 00:30:59.193479     52'128  88:242  [0,2]   0       [0,2]   0       44'25   2014-06-29 22:25:25.282347    0'0      2014-06-26 19:52:08.521434
3 d6 D" o. w2 D9 x- D* E, m3.3c    0       0       0       0       0       0       0       active+clean    2014-06-30 00:15:38.675465     0'0     88:21   [2,1]   2       [2,1]   2       0'0     2014-06-30 00:15:04.295637      0'0   2014-06-30 00:15:04.295637
/ M% h. v* @$ `  s6 c2.3c    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:48.583702     0'0     88:46   [2,1]   2       [2,1]   2       0'0     2014-06-29 22:29:13.701625      0'0   2014-06-26 19:52:08.845944( c' v% y  q7 l* c
1.3f    2       0       0       0       452     2       2       active+clean    2014-06-30 00:10:48.596050     16'2    88:66   [2,1]   2       [2,1]   2       16'2    2014-06-29 22:28:03.570074      0'0   2014-06-26 19:52:08.655292
/ N2 }8 W3 k: S! i+ _( D0.3e    31      0       0       0       130023424       130     130     active+clean    2014-06-30 00:26:22.803186     52'130  88:304  [2,0]   2       [2,0]   2       44'59   2014-06-29 22:26:41.317403    0'0      2014-06-26 19:52:08.518978" t- d, _3 K8 q& j2 P+ G) \& p0 U
3.3d    0       0       0       0       0       0       0       active+clean    2014-06-30 00:16:57.548803     0'0     88:20   [0,2]   0       [0,2]   0       0'0     2014-06-30 00:15:19.101314      0'0   2014-06-30 00:15:19.101314  q+ ?" `4 B) y' I& X7 _
2.3f    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:58.750476     0'0     88:106  [0,2]   0       [0,2]   0       0'0     2014-06-29 22:27:44.604084      0'0   2014-06-26 19:52:08.864240
4 f) i# T4 B4 [, j( a; ~  M" g1.3c    1       0       0       0       0       1       1       active+clean    2014-06-30 00:10:48.939358     16'1    88:66   [1,2]   1       [1,2]   1       16'1    2014-06-29 22:27:35.991845      0'0   2014-06-26 19:52:08.6464704 R, p4 `' C: Y7 D$ T9 ^
0.3d    34      0       0       0       142606336       149     149     active+clean    2014-06-30 00:23:57.348657     52'149  88:300  [0,2]   0       [0,2]   0       44'57   2014-06-29 22:25:24.279912    0'0      2014-06-26 19:52:08.514526& ?9 }, m& ^9 m# R7 \1 y% B$ }
3.3e    0       0       0       0       0       0       0       active+clean    2014-06-30 00:15:39.554742     0'0     88:21   [2,1]   2       [2,1]   2       0'0     2014-06-30 00:15:04.296812      0'0   2014-06-30 00:15:04.2968129 i7 J. c& X& Z
2.3e    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:48.592171     0'0     88:46   [2,1]   2       [2,1]   2       0'0     2014-06-29 22:29:14.702209      0'0   2014-06-26 19:52:08.855382
3 V! h6 Q. k) h2 W2 P/ |1.3d    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:48.938971     0'0     88:58   [1,2]   1       [1,2]   1       0'0     2014-06-29 22:27:36.971820      0'0   2014-06-26 19:52:08.650070' Q: ~! i) v: d9 |3 J3 T' \# `1 ~
0.3c    41      0       0       0       171966464       157     157     active+clean    2014-06-30 00:24:55.751252     52'157  88:385  [1,0]   1       [1,0]   1       44'41   2014-06-29 22:26:34.829858    0'0      2014-06-26 19:52:08.513798
2 j0 I5 q* w: b! y. B0 G4 k3.3f    0       0       0       0       0       0       0       active+clean    2014-06-30 00:17:08.416756     0'0     88:20   [0,1]   0       [0,1]   0       0'0     2014-06-30 00:15:19.406120      0'0   2014-06-30 00:15:19.406120
' E1 j, T3 W6 ^! q9 K5 [* f+ q. b2 O2.39    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:58.784789     0'0     88:71   [2,0]   2       [2,0]   2       0'0     2014-06-29 22:29:10.673549      0'0   2014-06-26 19:52:08.834644! m' ]7 o2 \" n% W; u
1.3a    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:58.738782     0'0     88:106  [0,2]   0       [0,2]   0       0'0     2014-06-29 22:26:29.457318      0'0   2014-06-26 19:52:08.642018# e3 W9 K2 V$ ]$ c( _  Y
0.3b    37      0       0       0       155189248       137     137     active+clean    2014-06-30 00:28:45.021993     52'137  88:278  [0,2]   0       [0,2]   0       44'40   2014-06-29 22:25:22.275783    0'0      2014-06-26 19:52:08.510502& m" U1 i- f+ a& V* P
3.38    0       0       0       0       0       0       0       active+clean    2014-06-30 00:16:13.222339     0'0     88:21   [1,0]   1       [1,0]   1       0'0     2014-06-30 00:15:05.446639      0'0   2014-06-30 00:15:05.446639  F* x4 A2 W* v7 _8 Y  J9 d2 u
2.38    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:58.783103     0'0     88:71   [2,0]   2       [2,0]   2       0'0     2014-06-29 22:29:06.688363      0'0   2014-06-26 19:52:08.8273427 O* R) W: C) L7 E; A  k, K, V
1.3b    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:58.857283     0'0     88:78   [1,0]   1       [1,0]   1       0'0     2014-06-29 22:27:30.017050      0'0   2014-06-26 19:52:08.6448205 H% n4 w0 r3 A: ?3 Y
0.3a    40      0       0       0       167772160       149     149     active+clean    2014-06-30 00:28:47.002342     52'149  88:288  [0,2]   0       [0,2]   0       44'46   2014-06-29 22:25:21.273679    0'0      2014-06-26 19:52:08.508654
( J9 v* [0 i. d3.39    0       0       0       0       0       0       0       active+clean    2014-06-30 00:16:13.255056     0'0     88:21   [1,0]   1       [1,0]   1       0'0     2014-06-30 00:15:05.447461      0'0   2014-06-30 00:15:05.447461
/ O* q; [+ U/ e1 I, b2.3b    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:48.935872     0'0     88:57   [1,2]   1       [1,2]   1       0'0     2014-06-29 22:28:35.095977      0'0   2014-06-26 19:52:08.844571
* F: p- {' _9 E0 a1.38    0       0       0       0       0       0       0       active+clean    2014-06-30 00:10:48.597540     0'0     88:46   [2,1]   2       [2,1]   2       0'0     2014-06-29 22:28:01.519137      0'0   2014-06-26 19:52:08.633781
, K+ g. }& Z. h# q  ?) W3 ]0.39    48      0       0       0       201326592       164     164     active+clean    2014-06-30 00:25:30.757843     52'164  88:432  [1,0]   1       [1,0]   1       44'32   2014-06-29 22:26:33.823947    0'0      2014-06-26 19:52:08.504628' y& o, J8 s( I9 o8 S: y! w
下面部分省略
& O3 D' C0 `) i7 D6 q
" F- C) b+ j7 L5 }- j2、查看一个PG的map
2 v4 I$ c# T+ ~4 h6 C[root@client ~]# ceph pg map 0.3f1 T0 M# L' Y- |5 P) O# V, p. G2 K
osdmap e88 pg 0.3f (0.3f) -> up [0,2] acting [0,2]   #其中的[0,2]代表存储在osd.0、osd.2节点,osd.0代表主副本的存储位置
" M* f8 e- p. ~, e3、查看PG状态5 ]3 g' x& S% z) {- [" D
[root@client ~]# ceph pg stat# e& S1 M: g4 n7 o6 y
v1164: 448 pgs: 448 active+clean; 10003 MB data, 23617 MB used, 37792 MB / 61410 MB avail
* }" c1 h+ g4 J8 a4、查询一个pg的详细信息
1 t8 B" ~: X9 K% f$ \$ R[root@client ~]# ceph pg  0.26 query$ w% J3 q8 s: M2 _: y" \
5、查看pg中stuck的状态
+ @* p+ [& ]" u4 ^0 a: l[root@client ~]# ceph pg dump_stuck unclean
+ V- ~2 x/ D# D) }ok+ q+ k# Y3 |+ T; ]2 d5 ~; x
[root@client ~]# ceph pg dump_stuck inactive3 B3 C  i7 v( |+ t% I
ok' {( S8 Z+ x3 E2 V! H  m% z9 \
[root@client ~]# ceph pg dump_stuck stale" u/ b$ N  w# P- N
ok& u/ r1 @. ~2 q
6、显示一个集群中的所有的pg统计
7 ]. ~3 h$ r; k0 E( j4 wceph pg dump --format plain- d6 C; F6 G4 W+ Z
7、恢复一个丢失的pg, Y# G8 L/ X' k/ A
ceph pg {pg-id} mark_unfound_lost revert
7 {* P% A) |' t: ^4 Y8、显示非正常状态的pg
4 |! b7 ^" v1 d# \ceph pg dump_stuck inactive|unclean|stale
& J: d- h# I. r2 _8 A六、pool! V3 t' }1 ], F* S5 X$ ^9 y
1、查看ceph集群中的pool数量0 [% z0 A3 ~+ o" F
[root@admin ~]# ceph osd lspools% n2 _- }: P+ J# V5 Y" c3 v
0 data,1 metadata,2 rbd,+ g2 M# F( ]3 K& V2 A5 j/ J+ p
2、在ceph集群中创建一个pool
4 I: n- W( j* `8 \& t! _+ N$ A2 D+ |! Dceph osd pool create jiayuan 100            #这里的100指的是PG组
0 y3 I0 E7 U0 ?3、为一个ceph pool配置配额
- g+ U3 b& H% w- i5 Y* G: `9 \ceph osd pool set-quota data max_objects 10000/ f# n% R5 b! M2 F  f" O
4、在集群中删除一个pool+ L& c3 v5 c0 ^. H8 }* Y8 b  u' {
ceph osd pool delete jiayuan  jiayuan  --yes-i-really-really-mean-it  #集群名字需要重复两次
7 n7 a) f4 W2 O, l& }5 B5、显示集群中pool的详细信息
: r' L! Q# O# }. E6 N6 J: U9 [$ }[root@admin ~]# rados df4 M- s; x# A0 N# l4 m. [) k5 ?) a
pool name       category                 KB      objects       clones     degraded      unfound           rd        rd KB           wr        wr KB  |0 ^1 a/ t0 i! _( O" V4 O- ]
data            -                  475764704       116155            0            0           0            0            0       116379    475764704$ G1 e- h0 z* c
metadata        -                       5606           21            0            0           0            0            0          314         5833
% k4 J! B( V- Z/ F) O  rrbd             -                          0            0            0            0           0            0            0            0            09 T- ^5 Z1 C3 K" Y% p" ?
  total used       955852448       116176
- c$ Q2 W: C) \4 k- B  total avail      639497596
: K0 I8 Q9 x" I4 e0 Q. {' `! Q  total space     1595350044
0 V! y! i& d. a6 h+ u+ h[root@admin ~]# 6 {4 \" z( J' k3 i- Z. y; h
6、给一个pool创建一个快照/ J) j6 J" o1 r1 c! _
[root@admin ~]# ceph osd pool mksnap data   date-snap 
0 s' z9 N. k* k$ ^2 O/ k8 Vcreated pool data snap date-snap
8 z5 \6 N+ j) ], h9 S* E' t0 m7、删除pool的快照( g+ [' J8 E% w7 s% H
[root@admin ~]# ceph osd pool rmsnap data date-snap" k0 L* H# i! ?9 M# H3 e3 H4 F$ x- v
removed pool data snap date-snap
' n  @, E( X' X& h/ Z( h8、查看data池的pg数量
9 C7 G% A0 ^1 q[root@admin ~]# ceph osd pool get data pg_num* d, w" H4 b  h+ @
pg_num: 64
& I  `: {5 p1 N9、设置data池的最大存储空间为100T(默认是1T)1 r2 Q6 V; f" {: |) E& l. x1 W
[root@admin ~]# ceph osd pool set data target_max_bytes 100000000000000
8 ^0 R5 S6 y* t/ h; {set pool 0 target_max_bytes to 100000000000000# T$ s6 e0 l& `1 L. {; |! z9 L
10、设置data池的副本数是3
( C  k- r9 c, k; r, c0 e3 M[root@admin ~]# ceph osd pool set data size 3
8 A0 j9 ?4 V* W8 Q) _7 z; H3 Yset pool 0 size to 3
7 v  p+ ?, M0 m5 V11、设置data池能接受写操作的最小副本为29 S3 ^. ?8 H! }) o3 O: t
[root@admin ~]# ceph osd pool set data min_size 2
2 K) l. x0 N9 V! O$ h# pset pool 0 min_size to 2- T9 }% t' V, Z5 o" z0 L' M
12、查看集群中所有pool的副本尺寸
5 f$ _5 u& J- g5 N" k) w8 C# B[root@admin mycephfs]# ceph osd dump | grep 'replicated size': S8 L' e) {& d) F- w
pool 0 'data' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 26 owner 0 flags hashpspool crash_replay_interval 45 target_bytes 100000000000000 stripe_width 0
- H3 z8 _0 L" N7 a" E) Ppool 1 'metadata' replicated size 2 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 1 owner 0 flags hashpspool stripe_width 0
6 c7 d' n) o/ [pool 2 'rbd' replicated size 2 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 64 pgp_num 64 last_change 1 owner 0 flags hashpspool stripe_width 0
) [1 U. X; ^. L4 T13、设置一个pool的pg数量4 K$ s) `# F5 l7 X" O: |6 ?
[root@admin ~]# ceph osd pool set data pg_num 100
& E  J' m" g( O( f0 {4 Eset pool 0 pg_num to 100
+ O# X, w7 t  y2 K" C14、设置一个pool的pgp数量
. i6 U1 I$ t3 Z4 x[root@admin ~]# ceph osd pool set data pgp_num 100
) e1 W. w) q& I0 ]" b" Cset pool 0 pgp_num to 100- }( W5 D* U4 X( J4 W

; O$ [  q9 @& E% W七、rados和rbd指令' K) R9 S% Z7 y0 {
1、rados命令使用方法/ U! l3 f" t$ q, c
(1)、查看ceph集群中有多少个pool (只是查看pool)
# @% {4 p9 ~# V7 E' r2 _[root@node-44 ~]# rados lspools
2 Q, c( a( x  g. ?% [/ h: Edata
. ^3 Y6 ?: W7 C9 D: ?metadata. j% h5 H6 x1 \  F" p% V% _
rbd4 j2 F! Q& O5 v4 p% ^8 `) `7 o
images) E0 Z' ?4 @- A$ A7 {
volumes9 H2 s( d9 a/ a" S4 l
.rgw.root
0 o6 t8 a  [" H$ x9 @compute
# l3 {* X1 G4 `4 u0 [1 Z  M/ y.rgw.control
. E2 S4 [, u$ K# F1 p% I.rgw" C; @/ Z8 w5 o5 d- T* _+ Q
.rgw.gc
8 _5 t" Q9 Y- d  N.users.uid, D6 W7 M8 }  J$ N; M  b
(2)、查看ceph集群中有多少个pool,并且每个pool容量及利用情况
& t2 v2 J! j1 S# X$ o  e[root@node-44 ~]# rados df 
' ^9 q+ }) q$ z% k/ Ipool name       category                 KB      objects       clones     degraded      unfound           rd        rd KB           wr        wr KB) G' O/ ?0 Z( I
.rgw            -                          0            0            0            0           0            0            0            0            05 T) X+ m. {( ?& _
.rgw.control    -                          0            8            0            0           0            0            0            0            0
9 _% F9 o) K  a! q! W! A: q! l.rgw.gc         -                          0           32            0            0           0        57172        57172        38136            0- k, S4 Q2 p6 G, t  |- Q
.rgw.root       -                          1            4            0            0           0           75           46           10           10
( f, U* V( F9 e: C7 i4 p! S9 H) m.users.uid      -                          1            1            0            0           0            0            0            2            1" Y/ k5 k8 r) E( u
compute         -                   67430708        16506            0            0           0       398128     75927848      1174683    222082706
8 C( ~+ R; |" N+ v" E' jdata            -                          0            0            0            0           0            0            0            0            00 Q% e  b. R0 G& b& a5 g0 O
images          -                  250069744        30683            0            0           0        50881    195328724        65025    388375482% [# c1 S3 t# |! e/ r. s
metadata        -                          0            0            0            0           0            0            0            0            0) \6 w. n! G" H4 x, ]1 {2 d
rbd             -                          0            0            0            0           0            0            0            0            0
) U& J7 z- p6 }( O( U8 k% ^$ Svolumes         -                   79123929        19707            0            0           0      2575693     63437000      1592456    163812172
* }7 {$ U2 E5 C1 k9 ?( N  total used       799318844        66941
5 ?0 _: a/ G8 ~# v( v  total avail    11306053720
  Q4 v, u% u6 C+ |3 J+ g9 i  total space    12105372564
+ x( D. z2 J1 s4 y[root@node-44 ~]# 
2 E+ A2 u5 n3 ?( x4 r(3)、创建一个pool
. t1 R7 L% x8 \8 C, s1 l[root@node-44 ~]#rados mkpool test  x$ `) _6 C* I
(4)、查看ceph pool中的ceph object (这里的object是以块形式存储的)" \( S2 J  x( \9 Q
[root@node-44 ~]# rados ls -p volumes | more
. S% r6 s8 E3 u- t8 jrbd_data.348f21ba7021.0000000000000866
4 t4 L1 s; V  t/ frbd_data.32562ae8944a.0000000000000c79) ^1 R( }+ K, {9 M4 C& ^$ l" U
rbd_data.589c2ae8944a.00000000000031ba* r& P% X0 W8 X8 {0 |6 @% \1 W7 v0 S
rbd_data.58c9151ff76b.00000000000029af
0 N5 A- g, y+ Z% grbd_data.58c9151ff76b.0000000000002c194 v, M2 }* L. U1 b$ \4 b' }
rbd_data.58c9151ff76b.0000000000000a5a7 M& I9 O3 B4 c( O
rbd_data.58c9151ff76b.0000000000001c69
7 K9 k  \/ _. h  j* t' Rrbd_data.58c9151ff76b.000000000000281d* u& c, \0 s- a: u2 s4 Z& A
rbd_data.58c9151ff76b.0000000000002de1
8 ~+ B/ d, {4 Prbd_data.58c9151ff76b.0000000000002dae
; E0 S' ~4 u, e/ t- F(5)、创建一个对象object 
3 w! f6 k$ h) s[root@admin-node ~]# rados create test-object -p test
7 W; s* {1 f# V5 \$ @9 P1 t/ `4 ~2 M1 H- b: g
[root@admin-node ~]# rados -p test ls
) @5 C0 y1 F. {' T! `( rtest-object
4 E9 L( T7 D5 ~, f  c(6)、删除一个对象8 s# a1 E. @, l
[root@admin-node ~]# rados rm test-object-1 -p test6 a$ m6 l- v6 R  X
8 h9 t9 p, z! j* h2 x+ }0 r: l: o

* S' {+ h7 o* I: X9 G) [2、rbd命令的用法 + @2 ]/ V. d6 h5 {: L
  F4 |' f( g9 r3 K
(1)、查看ceph中一个pool里的所有镜像) a% D  M- e8 ~
[root@node-44 ~]# rbd ls images
; `  z7 N6 R/ ?, t2014-05-24 17:17:37.043659 7f14caa6e700  0 -- :/1025604 >> 10.49.101.9:6789/0 pipe(0x6c5400 sd=3 :0 s=1 pgs=0 cs=0 l=1 c=0x6c5660).fault% m4 p, Y) e3 m- R8 s
2182d9ac-52f4-4f5d-99a1-ab3ceacbf0b9- @+ |6 {4 q" v& @( `
34e1a475-5b11-410c-b4c4-69b5f780f03c
( y: A% k1 E6 I' L! \/ t" V# G476a9f3b-4608-4ffd-90ea-8750e804f46e- }& `& [( t  G  H: \5 @
60eae8bf-dd23-40c5-ba02-266d5b942767
5 M8 g1 e, s, r% g5 F72e16e93-1fa5-4e11-8497-15bd904eeffe
2 K" E+ o% x+ f& S/ f4 u7 e# x74cb427c-cee9-47d0-b467-af217a67e60a
, H; R+ {; C5 \" H9 K8f181a53-520b-4e22-af7c-de59e8ccca78
5 P7 ]! s: c$ ?' Z: a% d0 ]$ i* t9867a580-22fe-4ed0-a1a8-120b8e8d18f4; U2 W+ R8 }# X  G  b4 X2 d) X
ac6f4dae-4b81-476d-9e83-ad92ff25fb13
  ^( {; g# @7 A: h# E% \" Ed20206d7-ff31-4dce-b59a-a622b0ea3af6
  ]9 T  L" d8 y# P) R- p
6 X4 i6 _, f0 c# w$ I6 v! F2 e[root@node-44 ~]# rbd ls volumes' J2 F* g6 k1 R" r9 g
2014-05-24 17:22:18.649929 7f9e98733700  0 -- :/1010725 >> 10.49.101.9:6789/0 pipe(0x96a400 sd=3 :0 s=1 pgs=0 cs=0 l=1 c=0x96a660).fault
  v: X! g, \, k( \4 lvolume-0788fc6c-0dd4-4339-bad4-e9d78bd5365c# L2 Q% R' ~# I$ d8 U9 w9 a2 x2 ^
volume-0898c5b4-4072-4cae-affc-ec59c2375c51
2 ~9 J: W4 k1 Y+ {, Mvolume-2a1fb287-5666-4095-8f0b-6481695824e2' j8 T4 j, Q& b5 |
volume-35c6aad4-8ea4-4b8d-95c7-7c3a8e8758c5. t2 Y: E! K$ _1 v
volume-814494cc-5ae6-4094-9d06-d844fdf485c4
. j6 X' d8 V2 Ivolume-8a6fb0db-35a9-4b3b-9ace-fb647c2918ea( e5 ?  V0 p# {% a. k
volume-8c108991-9b03-4308-b979-51378bba2ed1
# _  z8 _* y: w4 B* h. j8 A" ?" P' rvolume-8cf3d206-2cce-4579-91c5-77bcb4a8a3f8
) ]) W) |: L" Y# F/ O" I$ I- w# Fvolume-91fc075c-8bd1-41dc-b5ef-844f23df177d
% a8 z. c; d6 g& P7 F* Y+ |7 _volume-b1263d8b-0a12-4b51-84e5-74434c0e73aa, u/ ^! x+ o. ?( l% a
volume-b84fad5d-16ee-4343-8630-88f265409feb: D. T& z2 F! `% t  i0 y  O
volume-c03a2eb1-06a3-4d79-98e5-7c62210751c3
: q; L' P& U( K) ^' ?9 K* Ivolume-c17bf6c0-80ba-47d9-862d-1b9e9a48231e
! G0 O2 Z. K0 T& uvolume-c32bca55-7ec0-47ce-a87e-a883da4b4ccd6 a1 I* o' n" p% ^
volume-df8961ef-11d6-4dae-96ee-f2df8eb4a08c! C# [2 {$ v2 l2 b* p
volume-f1c38695-81f8-44fd-9af0-458cddf103a3
9 [+ A6 t) T, `" U4 n9 O
% J* r- `8 y+ x4 b! O(2)、查看ceph pool中一个镜像的信息8 q* D% Q9 k7 U$ e8 t0 |
[root@node-44 ~]# rbd info -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a
- \  S# `5 ^  Y! Krbd image '74cb427c-cee9-47d0-b467-af217a67e60a':1 G$ _; G8 I9 U7 j$ ?
        size 1048 MB in 131 objects
! s: v3 D; Y. f        order 23 (8192 KB objects)
  f' D. I- _9 t/ A8 |: `/ X. V0 p        block_name_prefix: rbd_data.95c7783fc0d0
1 _8 c$ i& S0 G% ]2 }        format: 2! u" k8 h0 V( l1 e- r1 v" t- s
        features: layering2 w( l3 p' b1 G
(3)、在test池中创建一个命名为zhanguo的10000M的镜像) E& r  D# w+ v1 c9 Y9 \- ~( b5 Q
[root@node-44 ~]# rbd create -p test --size 10000 zhanguo
8 z& d  h; `7 j8 m[root@node-44 ~]# rbd -p test info zhanguo    #查看新建的镜像的信息5 X. d+ f3 }1 M6 }0 B3 U
rbd image 'zhanguo':
" \" X5 Z6 F, Q- v4 Z5 T# p        size 10000 MB in 2500 objects
# y% o" _4 g" U* x* w( L        order 22 (4096 KB objects)5 i/ F, n3 R2 J6 [! C" S4 C
        block_name_prefix: rb.0.127d2.2ae8944a' p* a# u. b* u4 S  o
        format: 1
2 R) B) E( c9 [1 }- q" l7 H( J[root@node-44 ~]# ( F" M0 x, X8 O; H8 w# Y' E
(4)、删除一个镜像
9 Q9 L& O  U  }, Z; }/ ?[root@node-44 ~]# rbd rm  -p test  lizhanguo
/ D6 p" ]2 p, h$ ~" bRemoving image: 100% complete...done.
8 Y' j. e$ T! O: {(5)、调整一个镜像的尺寸3 [2 d6 K# j' x. g; x
[root@node-44 ~]# rbd resize -p test --size 20000 zhanguo7 P  f/ M( ]- S. B- }2 m, E
Resizing image: 100% complete...done., \# X' `0 l- x' x5 L# L
[root@node-44 ~]# rbd -p test info zhanguo   #调整后的镜像大小
5 D; i1 `5 @/ b3 I$ {3 Vrbd image 'zhanguo':
# m3 u* l- y  T; O2 B, z! E        size 20000 MB in 5000 objects, w0 K4 e. t2 N: _
        order 22 (4096 KB objects)
6 w' I$ Y; y4 o+ W        block_name_prefix: rb.0.127d2.2ae8944a
0 h6 A# ^+ w  Y" Q" }+ i% x4 z2 ~) q        format: 1' b2 w7 G0 X) `" N* ]
[root@node-44 ~]# * j. t: U$ O4 H) @2 B5 G
(6)、给一个镜像创建一个快照5 O& w! u% U3 y9 V1 U
[root@node-44 ~]# rbd  snap create  test/zhanguo@zhanguo123  #池/镜像@快照
3 P) s/ a3 Z" v6 t, y[root@node-44 ~]# rbd   snap ls  -p test zhanguo- k$ M1 z0 `; W
SNAPID NAME           SIZE " |, j5 K9 ]2 t! I, S3 ?& t& x
     2 zhanguo123 20000 MB 
& u" ?2 R$ W# }! ?& n& ][root@node-44 ~]# 
- H1 O$ S, f: q# l[root@node-44 ~]# rbd info test/zhanguo@zhanguo123. @7 h" e7 y( G% i
rbd image 'zhanguo':
1 x% w+ A9 i- ^6 B5 x        size 20000 MB in 5000 objects
( J) h2 X0 \7 `! p- D        order 22 (4096 KB objects)% u$ ^1 k! n8 n7 b1 C
        block_name_prefix: rb.0.127d2.2ae8944a
4 Z* i+ J/ `5 }7 W+ c% ~# c        format: 1
- I6 _% S; r' U; I4 r        protected: False
7 E! }/ @  j) `1 w0 l[root@node-44 ~]# 
! Y& m* \; |$ D% I2 X* t(7)、查看一个镜像文件的快照
$ a8 ?" k5 ]1 \$ _- R# G[root@os-node101 ~]# rbd snap ls  -p volumes volume-7687988d-16ef-4814-8a2c-3fbd85e928e4
3 k: T  e& L' ~. a7 q& \9 i) ^/ q) d  bSNAPID NAME                                               SIZE 
. a* K) U4 ?6 ?8 a" x     5 snapshot-ee7862aa-825e-4004-9587-879d60430a12 102400 MB & G. Y% X# w. d9 X4 {4 O% m& j% n4 j
(8)、删除一个镜像文件的一个快照快照
6 f1 q% }1 M0 x) N6 q                                 快照所在的池/        快照所在的镜像文件           @ 快照# a5 Y  i; b1 K1 g$ }* d
[root@os-node101 ~]# rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a128 ~, u+ `$ F5 L6 N& k
rbd: snapshot 'snapshot-60586eba-b0be-4885-81ab-010757e50efb' is protected from removal.. E! \: F; a3 Z" S
2014-08-18 19:23:42.099301 7fd0245ef760 -1 librbd: removing snapshot from header failed: (16) Device or resource busy
; z# q$ x1 b+ g" c上面不能删除显示的报错信息是此快照备写保护了,下面命令是删除写保护后再进行删除。
5 r# t2 w) L) h[root@os-node101 ~]# rbd snap unprotect volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12
/ @' p8 a4 d! {, L2 P0 Q4 N[root@os-node101 ~]# rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12
# \4 \  k5 F1 M+ u& }, e(9)删除一个镜像文件的所有快照2 ]) U+ t2 U  e3 t/ ~) P
[root@os-node101 ~]# rbd snap purge  -p volumes volume-7687988d-16ef-4814-8a2c-3fbd85e928e42 F" f- }' A- T
Removing all snapshots: 100% complete...done.
0 W6 M' D! O- T. J. G+ |* Z! m6 u" {# _, R0 _5 D
9 T8 h$ n$ I. Q  Y, E
(10)、把ceph pool中的一个镜像导出8 m8 L6 @* E, u6 z5 A
导出镜像& A: `0 e3 k5 v5 Q1 e$ ]
[root@node-44 ~]# rbd export -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a /root/aaa.img& ~8 u* g: j% u5 U" Z* |; @
2014-05-24 17:16:15.197695 7ffb47a9a700  0 -- :/1020493 >> 10.49.101.9:6789/0 pipe(0x1368400 sd=3 :0 s=1 pgs=0 cs=0 l=1 c=0x1368660).fault% n6 @3 b2 S/ V) D) O. S
Exporting image: 100% complete...done.
3 A/ ~+ |( O# T- N4 ^' h
. p  I- x; O$ j4 P8 b4 M导出云硬盘4 M- N5 w/ U" T: o) C
[root@node-44 ~]# rbd export -p volumes --image volume-470fee37-b950-4eef-a595-d7def334a5d6 /var/lib/glance/ceph-pool/volumes/Message-JiaoBenJi-10.40.212.24" h  {" B7 b1 N
2014-05-24 17:28:18.940402 7f14ad39f700  0 -- :/1032237 >> 10.49.101.9:6789/0 pipe(0x260a400 sd=3 :0 s=1 pgs=0 cs=0 l=1 c=0x260a660).fault4 t) r0 y8 E5 {, `% W
Exporting image: 100% complete...done.
6 A$ f7 c) H, ~6 [) N% ]2 v+ M) c$ A
(11)、把一个镜像导入ceph中 (但是直接导入是不能用的,因为没有经过openstack,openstack是看不到的): f  t% R" G* O/ d
[root@node-44 ~]# rbd import /root/aaa.img -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a  6 z- W9 K! y* R. F( J: i: u1 ~
Importing image: 100% complete...done.
* A& l1 n$ L" G+ S1 @7 `# F3 U* y/ u% R! B0 X/ T6 Z; s& L
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 02:22 , Processed in 0.017448 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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