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

常用命令 ceph

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2018-10-6 16:15:42 | 显示全部楼层 |阅读模式
1、启动一个ceph 进程% D0 F% I, r" h5 W
启动mon进程
+ Z7 x/ L- o$ F& {service ceph start  mon.node1
3 O1 ]5 Q, p9 `& |: M启动msd进程6 y7 z, {" n4 V4 t# y* S! m
service ceph start mds.node1& G# d) E$ t2 f
启动osd进程
& s. l7 D7 G3 W6 {; @) V4 H service ceph start osd.0- a; X4 ?! K0 p$ X* _5 A
2、查看机器的监控状态; H4 C# O1 b" c& G/ e0 }: t2 x
[root@client ~]# ceph health
: [5 c! f2 p( `0 R6 f4 jHEALTH_OK. C" i5 y. m* @+ K
3、查看ceph的实时运行状态
2 X2 d1 z9 `# v  `- S0 s/ D[root@client ~]# ceph -w5 l  J' P9 X$ T" g
    cluster be1756f2-54f7-4d8f-8790-820c82721f17
5 q& u! A/ k4 G- N, R( B     health HEALTH_OK
/ \% g2 E* t. x" s# O& \% ~     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,node39 b! m1 G3 V& N
     mdsmap e95: 1/1/1 up {0=node2=up:active}, 1 up:standby; }# P) m- b9 O. X
     osdmap e88: 3 osds: 3 up, 3 in, H9 e! Y  K9 M
      pgmap v1164: 448 pgs, 4 pools, 10003 MB data, 2520 objects
' p' @% |( o, ]: }# i, I3 {4 j. r            23617 MB used, 37792 MB / 61410 MB avail# h4 u# ^9 d; j
                 448 active+clean/ G% @+ \/ W9 V! l
2014-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: l* _6 M' a9 c  b

/ O- f) H0 p: q7 m3 d5 g4、检查信息状态信息
; J5 E: g: W1 f' ][root@client ~]# ceph -s0 n- G( s. k- I: B- N9 A
    cluster be1756f2-54f7-4d8f-8790-820c82721f17
9 O) i  C% [8 U6 l7 |     health HEALTH_OK0 g/ i0 u8 [0 [" F1 z4 U( t. M8 a! K
     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
2 L! z) V) `, b0 u     mdsmap e95: 1/1/1 up {0=node2=up:active}, 1 up:standby9 l7 C) z2 W6 _; C# U3 a
     osdmap e88: 3 osds: 3 up, 3 in7 C1 d  g* G% h2 I) g
      pgmap v1164: 448 pgs, 4 pools, 10003 MB data, 2520 objects
5 ~/ e6 }1 }& H$ p) |            23617 MB used, 37792 MB / 61410 MB avail
- t' [- J6 q5 ]                 448 active+clean+ t: i$ N5 _2 j: A( O. P3 C' a
[root@client ~]# & P' j5 s  x- a- _

+ w% F% s( ?# @# s8 @5、查看ceph存储空间
( C- o- c! k8 N) U. k[root@client ~]# ceph df
- h: E( ]: K; P0 l; y6 WGLOBAL:
0 w- u6 [! }; F% R    SIZE       AVAIL      RAW USED     %RAW USED # O. v" V# Q- r
    61410M     37792M     23617M       38.46     # F6 l3 M2 b) _5 Y9 N9 y# s
POOLS:3 [9 `' b5 h6 G9 Z
    NAME         ID     USED       %USED     OBJECTS 
" {0 N0 Z" t/ M& e: z    data         0      10000M     16.28     2500    
+ S4 `& K. Z( S9 R% J    metadata     1      3354k      0         20      
! h; t: `  }) ~7 D    rbd          2      0          0         0       
: K6 ?  t3 z5 D' V7 ~( i4 M! S& n    jiayuan      3      0          0         0       8 P1 c, t( L# `3 \# u9 j
[root@client ~]# 
' b* `2 K. U, a% r$ S9 q7 I0 W6、删除一个节点的所有的ceph数据包# Z0 t6 c$ y7 N( l5 n
[root@node1 ~]# ceph-deploy purge node1
1 s7 [/ p3 E1 b1 n* ][root@node1 ~]# ceph-deploy purgedata node1) _8 e1 r7 [- H5 p) N- b
7、为ceph创建一个admin用户并为admin用户创建一个密钥,把密钥保存到/etc/ceph目录下:
& u0 L0 X: U. T3 m. yceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.admin.keyring
- s4 c& G& h5 F2 U+ [, ], ~: |9 f- J3 n0 v1 {6 U- u7 Z% \
ceph auth get-or-create client.admin mds 'allow' osd 'allow *' mon 'allow *' -o /etc/ceph/ceph.client.admin.keyring
- _& Y* X8 T" U0 f8、为osd.0创建一个用户并创建一个key" b/ U9 v. E+ T" Z2 D
ceph auth get-or-create osd.0 mon 'allow rwx' osd 'allow *' -o /var/lib/ceph/osd/ceph-0/keyring) T6 B$ A" k9 u( `2 l; |$ x
9、为mds.node1创建一个用户并创建一个key
) V5 r$ X- V' h* q/ mceph auth get-or-create mds.node1 mon 'allow rwx' osd 'allow *' mds 'allow *' -o /var/lib/ceph/mds/ceph-node1/keyring
. f! F# K- W, s9 q5 w10、查看ceph集群中的认证用户及相关的key
' U( L* \  L- Lceph auth list
! E! {' l) B/ T* [11、删除集群中的一个认证用户# o; \9 F3 M# |
ceph auth del osd.0) a3 }8 K* t+ o7 H! Y# E6 l
12、查看集群的详细配置# n% }% B0 L" O* k5 G5 r4 w
[root@node1 ~]# ceph daemon mon.node1 config show | more9 ~' I, I4 c9 M
13、查看集群健康状态细节
; P8 J/ [4 K/ e# _, x1 ^" o8 y& l  I[root@admin ~]# ceph health detail8 R( D% Y. a+ ^% ~' {/ M
HEALTH_WARN 12 pgs down; 12 pgs peering; 12 pgs stuck inactive; 12 pgs stuck unclean' Y1 J$ e3 h% o& i& E; n4 `8 Y
pg 3.3b is stuck inactive since forever, current state down+peering, last acting [1,2]
" ^% o, z- A: `( [* ^2 h- R& opg 3.36 is stuck inactive since forever, current state down+peering, last acting [1,2]
: w& q5 k. G6 y5 S/ Zpg 3.79 is stuck inactive since forever, current state down+peering, last acting [1,0]
$ B: D8 H1 C, |pg 3.5 is stuck inactive since forever, current state down+peering, last acting [1,2]( ^/ b' k3 g7 z3 I5 ]
pg 3.30 is stuck inactive since forever, current state down+peering, last acting [1,2]
, d) u. |$ R, Z& [pg 3.1a is stuck inactive since forever, current state down+peering, last acting [1,0]
% V; n3 B; D! {2 O5 V: x. ypg 3.2d is stuck inactive since forever, current state down+peering, last acting [1,0]
3 l" W+ I/ t; g- S1 mpg 3.16 is stuck inactive since forever, current state down+peering, last acting [1,2]
8 I  F7 q) }: P, R# L/ K
; Z- u% z/ ^  C4 ~14、查看ceph log日志所在的目录
. X! \" \3 E6 m- M[root@node1 ~]# ceph-conf --name mon.node1 --show-config-value log_file
# b2 Q0 z8 z9 u1 Y" k/var/log/ceph/ceph-mon.node1.log
$ w8 L( }2 s( R5 X
  k, i9 [$ s/ t  W+ j0 d' T& n" W
6 y# w) {" D! o; d& C* G$ d二、mon) R9 P8 ]/ f3 {$ Y) _
1、查看mon的状态信息6 V+ D8 h3 \9 o3 a" P
[root@client ~]# ceph mon stat
& w6 X9 b/ l5 k5 o. {9 O( }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
* r- F1 i7 V2 _1 T  b2、查看mon的选举状态$ G4 k; W" Z' H0 Q, w. [
[root@client ~]# ceph quorum_status9 ?: g: b. P  t! o" ~
{"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"}]}}! [1 R. \9 m3 K, R: ~6 a! J
3、查看mon的映射信息) @; ^$ P+ [2 k$ ^4 c0 Z
[root@client ~]# ceph mon dump4 Q  q3 H* u# U
dumped monmap epoch 2
: A- {; h9 X; n2 l* M2 m3 ?+ _epoch 26 l$ u  o3 H0 i  f3 u6 g) }2 T+ Q
fsid be1756f2-54f7-4d8f-8790-820c82721f17
& t4 E: @1 U; r) L# t$ o0 xlast_changed 2014-06-26 18:43:51.671106
4 B/ b* ]; C- N+ g  |created 0.000000
1 f! F7 e' v  M5 e+ j3 ?: f0: 10.240.240.211:6789/0 mon.node11 U4 v  d; I: |: {* N" S
1: 10.240.240.212:6789/0 mon.node2* Z1 T, j3 g/ g: B+ f- J* _- s
2: 10.240.240.213:6789/0 mon.node3
, _& J  o1 d+ T! Y2 Q0 S, `4、删除一个mon节点
7 z$ A1 \; i& `% A* `[root@node1 ~]# ceph mon remove node1% W3 f. X2 U$ M. v: A% I
removed mon.node1 at 10.39.101.1:6789/0, there are now 3 monitors5 U6 V3 ], Q! V' m4 A
2014-07-07 18:11:04.974188 7f4d16bfd700  0 monclient: hunting for new mon; `# ~6 O. S# g( ?* K
5、获得一个正在运行的mon map,并保存在1.txt文件中) Y9 \! ~/ D+ j4 g7 U3 W
[root@node3 ~]# ceph mon getmap -o 1.txt
, x! ~$ O7 |" T4 z, hgot monmap epoch 6
* V1 e. L0 E5 S% n# z6、查看上面获得的map
( H: [7 X1 K3 u4 @- _+ a[root@node3 ~]#  monmaptool --print 1.txt 0 `6 G8 v# s% k: V$ P
monmaptool: monmap file 1.txt
, E3 w; \- c6 N# ?1 U7 @epoch 69 L0 p- D8 ]% u1 z1 J! J6 W
fsid 92552333-a0a8-41b8-8b45-c93a8730525e. I. f; j8 `' f4 p9 j' p8 x
last_changed 2014-07-07 18:22:51.927205
- x0 h& G7 Q8 k0 g$ `created 0.000000: M- \5 M2 a& o4 i2 e5 x* B
0: 10.39.101.1:6789/0 mon.node19 g  c- @: @5 x% i
1: 10.39.101.2:6789/0 mon.node2: z) b/ q8 t7 ~) u( m8 b2 r
2: 10.39.101.3:6789/0 mon.node3
& h5 f9 A1 T" J  B& x# }0 H% _[root@node3 ~]#& p4 b$ c% `. ]+ S
7、把上面的mon map注入新加入的节点
7 y# U0 {1 {* iceph-mon -i node4 --inject-monmap 1.txt9 a/ B1 s5 Q) n2 j
8、查看mon的amin socket) I9 N% w: g# C$ u. C% P: o
root@node1 ~]# ceph-conf --name mon.node1 --show-config-value admin_socket* V# Z; N# \$ c; a
/var/run/ceph/ceph-mon.node1.asok 
; f4 g! C5 h; u9 W) x' D9、查看mon的详细状态3 G3 V* ^/ R% o8 S% v9 X
[root@node1 ~]# ceph daemon mon.node1  mon_status   \2 m8 J  R) F: {, ?- V+ C) E
{ "name": "node1",
. w# P: C2 ]7 D& C% x  "rank": 0,
' }, i* s# J, p2 t3 ~  "state": "leader",
  r/ J& A- W) D* H5 K  "election_epoch": 96,: u3 w; Y% r, g# B
  "quorum": [
/ ~& P3 d! K. X* W        0,/ A3 \4 M- g  t' @5 J  I
        1,
- N: \9 }' r9 Y3 ?/ ~4 K        2],6 K( W! q9 q- {( O
  "outside_quorum": [],! z6 ^1 Y/ G" b2 {
  "extra_probe_peers": [
  D2 ?0 E4 d. r, J0 H, P        "10.39.101.4:6789\/0"],# ~% f6 Z1 x3 a# n, J7 `
  "sync_provider": [],. V. o* m/ W0 U( N& ?% @
  "monmap": { "epoch": 6,
( \6 y4 F) k6 X0 \" F: b      "fsid": "92552333-a0a8-41b8-8b45-c93a8730525e",
0 t3 R7 E7 c6 X0 S0 }) m: P      "modified": "2014-07-07 18:22:51.927205",
  s# W* Z' U% `9 |6 S4 K      "created": "0.000000",% v! k3 y- D3 q
      "mons": [$ ]$ C% o* o7 ?/ K: d
            { "rank": 0,6 P! {: {' ]5 R* d
              "name": "node1",  G( Z+ v* a5 q) Q% Z1 Z
              "addr": "10.39.101.1:6789\/0"},
3 x3 b; s: F5 ]            { "rank": 1,, \% v: W/ N& I) T0 p. R
              "name": "node2",# _/ T! k! e9 _7 E. p. U9 B  u
              "addr": "10.39.101.2:6789\/0"},
8 Y! B, G8 R! r9 \+ B3 H            { "rank": 2,
+ Q) p' p5 P* z$ M              "name": "node3",
: q9 g  x% h3 M7 o              "addr": "10.39.101.3:6789\/0"}]}# L6 C3 X; L1 K3 P2 A/ }
10、删除一个mon节点
2 J$ b/ X. L/ {  @" l6 |1 N0 `[root@os-node1 ~]# ceph mon remove os-node1- ^) W) ~  {6 p2 d) X3 ^
removed mon.os-node1 at 10.40.10.64:6789/0, there are now 3 monitors3 |# I. @3 B  k: ^  Z

; |+ n/ p/ o9 o三、msd
$ N8 ]# h# R2 I6 g: B- X1、查看msd状态
1 O  g. n' s9 X7 V4 ^+ p[root@client ~]# ceph mds stat; q5 \( ?) T, ?2 p! |8 K
e95: 1/1/1 up {0=node2=up:active}, 1 up:standby) S$ o# j/ G1 k+ i$ d1 e! o
2、查看msd的映射信息
  O: P# l7 z: N& ?[root@client ~]# ceph mds dump. f$ `0 @" Z  \
dumped mdsmap epoch 95
7 C7 J/ H- c6 b' Xepoch   952 _6 G. l0 }0 {) j5 B' S! J) s
flags   0
$ o7 c4 R" U$ {3 g& bcreated 2014-06-26 18:41:57.686801
$ c, T0 @) [% }( L# q6 fmodified        2014-06-30 00:24:11.749967# ~/ f" Q0 L9 f3 i+ N& k
tableserver     0
& U/ h! D7 l  croot    0, H+ V6 |$ e( K9 m0 w
session_timeout 60# J4 m# }0 H4 R0 B9 w# `
session_autoclose       300" Y5 U) ~+ p4 z4 T* R7 @
max_file_size   10995116277761 o4 E8 C4 D: f7 _6 z
last_failure    84
6 q! c% X5 V; Elast_failure_osd_epoch  81: Z* L9 U5 K( I
compat  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}0 Y% o+ h- Y5 `$ P1 y9 J. H5 K
max_mds 1
- X3 i8 M2 N$ e5 @' n' X0 J7 ]( T% Vin      0
* e, Y3 W9 p$ e: n) G. c, m8 nup      {0=5015}
+ @1 q: z; D1 h: B& `failed: _; F+ C4 p$ a6 q  B  t8 `# ]
stopped
& g, |5 x. }1 p' g# S6 |) \  ldata_pools      07 g+ C0 s, l; [0 {7 q0 f
metadata_pool   12 T% E/ b4 i) k0 ?* i; I, S
inline_data     disabled
. c5 f6 R; q- X  ~/ Z+ X9 D" ^7 y( P3 s5015:   10.240.240.212:6808/3032 'node2' mds.0.12 up:active seq 30
( }1 _8 s: G2 V4 E5012:   10.240.240.211:6807/3459 'node1' mds.-1.0 up:standby seq 38
) b6 ?, }$ \8 u3、删除一个mds节点
9 z, m* g$ I( T[root@node1 ~]# ceph  mds rm 0 mds.node12 z+ T+ U1 e' h* T/ i; ?
 mds gid 0 dne/ s7 q3 }- s" e. ]+ ?

' ^6 }# C/ j" ?/ v; {四、osd
" h6 K: M, V. ~7 B; I1、查看ceph osd运行状态0 L7 F/ k7 x' h8 A. Y# j1 \2 ~
[root@client ~]# ceph osd stat
$ J0 c4 L' M3 V% z     osdmap e88: 3 osds: 3 up, 3 in$ w. r& S+ S% t# j6 v+ l& p. W

1 _2 l6 o  C3 p; h2、查看osd映射信息. }& s. O7 a9 I7 c
[root@client ~]# ceph osd dump4 u3 d* x: e! e3 f5 B: h
epoch 88
$ ?7 N) P/ a6 dfsid be1756f2-54f7-4d8f-8790-820c82721f17
3 A) U; x+ z+ w7 z6 L# ^7 q, icreated 2014-06-26 18:41:57.687442
$ o: x' f' o' m4 H0 M0 dmodified 2014-06-30 00:46:27.179793
& _) c5 b* Q5 D8 ]0 `flags 9 s  J6 G% e5 Z  u/ ^0 K( q, v7 y
pool 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 04 M# V5 ?, ?8 Y$ q7 j& |, s6 Y
pool 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
: K9 E) \" N! T# v4 Gpool 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
3 G3 N6 b: U' d- s: f1 Y9 bpool 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, a- E6 y+ V7 c% q% F$ A
max_osd 3
0 q9 f: F3 k! josd.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
9 s$ G; ^; S9 J: gosd.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-4b1dabb89339; @  ]* e9 ~8 {
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- g/ }- F% d, W- P! y
[root@client ~]# 
* |  j4 q% n$ p5 T
2 W- t8 m4 r  @! ^2 X3、查看osd的目录树  s1 c/ t# Y  j% d2 A+ Q
[root@client ~]# ceph osd tree
3 ]/ f& C4 m$ W* W1 r# id    weight  type name       up/down reweight. a  F5 m! A& a8 ^* ?: y3 g4 i
-1      3       root default' v: w: @1 c; ~
-2      1               host node1; o* e% {- L4 o
0       1                       osd.0   up      10 a# B5 g  a; _6 A4 H+ M
-3      1               host node2  G$ M  @9 N8 t
1       1                       osd.1   up      1
8 B3 G- T9 q; o& q-4      1               host node3
5 Y6 _3 B! }% c, k, u2       1                       osd.2   up      1, a; {' t/ G- M

$ }8 G4 B0 g0 x4、down掉一个osd硬盘
; Z4 O; K+ F2 S5 _2 D[root@node1 ~]# ceph osd down 0   #down掉osd.0节点' F. ~( H* J0 _& J* k1 G* J/ y: |* @
5、在集群中删除一个osd硬盘3 {) F+ m8 u  x: C5 B
[root@node4 ~]# ceph osd rm 01 i0 p; r, y8 O3 T( _! y& [
removed osd.08 S: ~9 E2 i5 g6 }
6、在集群中删除一个osd 硬盘 crush map6 Z+ o9 K! Q- Q
[root@node1 ~]# ceph osd crush rm osd.0
( X; u$ }8 K( I; S7、在集群中删除一个osd的host节点
" G" t1 v; ]+ B3 v1 R[root@node1 ~]# ceph osd crush rm node17 O4 v* l" Q$ }" Z4 y
removed item id -2 name 'node1' from crush map! R6 o2 n  \# j( J) n
+ f  r. m8 |( v  H# l
查看最大osd的个数 
) b- j- D% l, `" x[root@node1 ~]# ceph osd getmaxosd
& @: b8 \. o- @" q$ smax_osd = 4 in epoch 514           #默认最大是4个osd节点
- R) B( ^( j( j  k7 Z3 J* O* T9 }6 l8、设置最大的osd的个数(当扩大osd节点的时候必须扩大这个值)+ s3 i- z9 [; w# Z' l
[root@node1 ~]# ceph osd setmaxosd 10
& }, Y0 K2 [, N' r6 P9、设置osd crush的权重为1.0
7 B, n8 C! H  nceph osd crush set {id} {weight} [{loc1} [{loc2} ...]]- H; t( t8 z- @7 X4 y" a
例如:7 r; u1 n& n. D8 n( y" q
[root@admin ~]# ceph osd crush set 3 3.0 host=node4# E9 t* T8 f0 M
set item id 3 name 'osd.3' weight 3 at location {host=node4} to crush map3 i( i2 ^" O5 X1 V
[root@admin ~]# ceph osd tree! E1 A% F: X: Q3 x7 T0 f+ n
# id    weight  type name       up/down reweight
% g- x. }: O- ^-1      6       root default
) l* C. l; m+ R" U) T& Q-2      1               host node1) k# r8 U% E! z+ b8 u! a* K
0       1                       osd.0   up      1
8 v8 @. L2 x/ j" Y+ O: q  b- D/ Z-3      1               host node2% x9 j0 ?# U* e4 b  t
1       1                       osd.1   up      13 X: E0 R, _$ Z; A( t
-4      1               host node3. H$ w# |/ v5 A) }- _6 W3 T
2       1                       osd.2   up      1
% H( Q& k1 k; @- F, ?-5      3               host node4( d9 o' }( G1 v+ ]) I# W: t, c
3       3                       osd.3   up      0.58 ]6 o; `- e# ]
0 w$ O7 w8 Q! \! x# g$ p' a
或者用下面的方式
% y5 Z% t, L$ t' a6 l4 n$ h! j+ B" d[root@admin ~]# ceph osd crush reweight osd.3 1.05 {2 V- b* z) J8 Z) b- r
reweighted item id 3 name 'osd.3' to 1 in crush map) b& O5 [5 ?% ^. I* M6 V
[root@admin ~]# ceph osd tree, r$ Y, w: |5 G' v5 v5 m1 H- v
# id    weight  type name       up/down reweight! u1 N+ |' O4 Y; A' F: f
-1      4       root default
! }  \- n) i0 `- [5 d8 V# e5 F8 ]-2      1               host node1: a; w7 E( T) v
0       1                       osd.0   up      1
  o5 H- f- _! h; a! _. m" l1 \-3      1               host node2
$ F/ d# ]/ m$ C; d9 [( S% O1       1                       osd.1   up      1
* a8 a6 v2 R0 b$ `6 ]-4      1               host node30 @) Q, [; V6 ]& z7 S! M$ G1 k
2       1                       osd.2   up      1/ S. S6 I) B) Y/ W, ~
-5      1               host node4
6 w7 V" V' W/ |+ `6 k$ z  K" a3       1                       osd.3   up      0.5
0 o) P1 P% r& W6 n4 F7 [' G4 {7 c10、设置osd的权重# D- N; L) S& e  L: j2 B
[root@admin ~]# ceph osd reweight 3 0.5
5 `& {7 |4 H* s- ~9 \& }reweighted osd.3 to 0.5 (8327682)
. W1 F* H6 @* p5 [[root@admin ~]# ceph osd tree" }" _" {/ A5 @2 T7 Y
# id    weight  type name       up/down reweight
/ u/ z5 U' X8 K0 S$ ^' S) [-1      4       root default5 d5 p( {% n7 ?
-2      1               host node1
6 Y$ e5 s: z6 Y  B0       1                       osd.0   up      1
+ C. t0 P. L" M, n-3      1               host node2
, p/ W. y3 y, t; m6 Y& l3 ]1       1                       osd.1   up      1
$ H# G9 `8 {$ f2 q: x-4      1               host node3
% A) K+ j6 P, W8 c9 T$ z0 V2       1                       osd.2   up      1" o; V  _# H9 i9 A" Y! I# P2 _
-5      1               host node4/ E; A. ?3 A9 a9 u9 \% `! J# \
3       1                       osd.3   up      0.5
7 W2 s3 b7 P* w11、把一个osd节点逐出集群
4 n3 F/ g# x; H$ S  x; n[root@admin ~]# ceph osd out osd.3' k; k2 J) v' `. r% |7 X
marked out osd.3.  7 Y% }8 K, M5 f" C' Z7 u/ Y
[root@admin ~]# ceph osd tree6 G0 V! s% j6 S$ a5 T( z
# id    weight  type name       up/down reweight
7 O/ A9 ]- ^' I) V9 X8 n-1      4       root default
  e$ F- `/ f0 g& I0 h-2      1               host node1
+ X* r* W: X+ k2 P0 ~" _0       1                       osd.0   up      11 r0 w# r* Z8 {* h# u' C
-3      1               host node2
- {- J: J, p' B: u1       1                       osd.1   up      1
" D9 H  @; M" T! n: O/ b' L-4      1               host node35 U* d$ z% L8 ~  x
2       1                       osd.2   up      1
7 O5 P3 \' \8 N4 G6 a3 U-5      1               host node4
, P! @4 X/ G1 \4 D; k7 }) y3       1                       osd.3   up      0      # osd.3的reweight变为0了就不再分配数据,但是设备还是存活的. L! l' x1 p; b4 o, O7 [/ R
12、把逐出的osd加入集群
. R7 a) {8 B' ]$ \& [[root@admin ~]# ceph osd in osd.33 z5 w( i. I, L. C8 x* H, h
marked in osd.3. . y$ ~9 Z5 J3 V" a: n" i& @
[root@admin ~]# ceph osd tree8 c3 T. [( i. [, U. t
# id    weight  type name       up/down reweight
; a5 t$ Q% N' j; B# R# ^8 l$ ^-1      4       root default4 t2 V  e: k0 e' z3 |3 r2 j% Q
-2      1               host node1% `. s- K! ^! N3 U
0       1                       osd.0   up      1  A9 l7 s  X, _/ M' e
-3      1               host node2% k( m6 G- J, b& k+ p, L; U
1       1                       osd.1   up      1
& t8 H+ V( u$ ^) P& B, ^2 e-4      1               host node3
6 h/ w' m: y0 w6 V) _2 h4 P  H2       1                       osd.2   up      1
) ^, Y6 h6 d5 Q5 G& _-5      1               host node41 p' I: `! {* F; W' @- \4 [
3       1                       osd.3   up      1) `! n% }/ I; h* T6 u, Y
13、暂停osd (暂停后整个集群不再接收数据)
* K) X! t. [! D  ]4 q[root@admin ~]# ceph osd pause/ j: ^- f) }2 a/ h8 z& l' ^
set pauserd,pausewr      
1 l: f/ p9 {7 d0 Y5 D14、再次开启osd (开启后再次接收数据) 
% Y- f9 b+ B, }" @. P) D& w2 b+ D" b- H[root@admin ~]# ceph osd unpause8 f. [6 Y8 W2 D* D4 [) K
unset pauserd,pausewr& E* D1 ^; F% u) I( d2 B; i

; D4 t+ m6 u% J+ ^7 {! I/ W4 a15、查看一个集群osd.2参数的配置3 ]8 p( g: h) ?* U% B2 ^" }) P
ceph --admin-daemon /var/run/ceph/ceph-osd.2.asok config show | less$ M5 O2 G/ q% j. W7 X- c

0 V+ `7 `  {! \; [, B% \+ y( K! |1 u" f4 }

# o% B. c$ d6 q8 Y/ t& N  L五、PG组6 S- L8 Z% U7 n" ~8 {; r
1、1、查看pg组的映射信息
0 d6 L+ B4 p( ~3 ?( n[root@client ~]# ceph pg dump
/ ]( W$ y: K$ Z7 Q' z# @+ ddumped all in format plain2 t0 _# X% S( i
version 11646 L- R( T. L* [, i) z3 _; [
stamp 2014-06-30 00:48:29.754714
) I$ K8 ?7 R6 g+ a6 {+ }last_osdmap_epoch 88# ^0 {: E6 Z0 e# ?
last_pg_scan 73- a. F4 |0 C+ l" e* k+ s' M" w9 ^5 A% i
full_ratio 0.95/ g8 p0 N5 h6 _+ P( k# y* `
nearfull_ratio 0.854 t/ W4 f. y+ t& O2 y5 H& M2 ^$ F/ o
pg_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
$ d- Y) e2 X* ^& `' Q1 r' U0.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( R# a$ I8 z) k: R0 C
3.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
. J, W5 b4 c& w2.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
- {2 b4 O2 H1 `. {5 S1.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/ _8 s9 O* m- t' v! V
0.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
4 H3 R8 V3 x5 `+ L: @3 b, `3 m3.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
$ C5 ^+ b8 L( [$ U! i2.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" v( o$ D* V3 \, v! z3 l/ V
1.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.646470" t# |1 a4 U& A( T$ n4 @, x
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 a- @- }! d: N" D$ `' U3.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.296812
. A0 s4 t5 K) g% ~, {  {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.8553820 G+ D/ D# m) Y; M
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
. x6 O  `' [  i8 e# v/ [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$ A4 c9 `1 T: ~  f( ]% a! F
3.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.4061207 ?3 E: o! k- h* g3 r. k' m
2.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.8346448 f# V% G5 Q4 m+ A
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.6420183 B9 e8 w! u5 N8 ]4 R" ~
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& N/ P8 D; Q( w6 l' z
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
" d  B4 D/ H# e% }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.827342
; I) O! V! }  U8 ^& z/ r1.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.644820
( z" a& m" {9 }: n8 v0.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
2 W% I, U/ x( {3.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
3 W- B0 `+ T$ l6 Z/ z5 B: W0 w2.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
3 X9 B. s9 B! T/ d! y& a6 J1.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$ h2 o$ C+ R1 U( U9 B
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.5046281 s* [( [5 f, ?, a. `, x
下面部分省略
  H1 M$ W9 X( u6 r# E3 A- S! Q; d1 w0 G. s: _
2、查看一个PG的map4 ^% j- {: F8 v$ m% z: B6 t! j) m
[root@client ~]# ceph pg map 0.3f
$ \6 C3 F( }7 }8 B( e" T' o- y0 Dosdmap e88 pg 0.3f (0.3f) -> up [0,2] acting [0,2]   #其中的[0,2]代表存储在osd.0、osd.2节点,osd.0代表主副本的存储位置9 P* V: b  W8 n3 y1 g
3、查看PG状态0 F' h" K; z6 v% O9 ?
[root@client ~]# ceph pg stat$ a$ B4 `' F% q1 E# N8 y( X$ t& \
v1164: 448 pgs: 448 active+clean; 10003 MB data, 23617 MB used, 37792 MB / 61410 MB avail
2 }2 u  p. @; q; ]# P4、查询一个pg的详细信息
. ?" F" f2 w* F7 t. p[root@client ~]# ceph pg  0.26 query
; [# |9 N% b& u5、查看pg中stuck的状态
$ R) o: B% }# V* Z  ~% w[root@client ~]# ceph pg dump_stuck unclean5 Y3 q0 q* z. F: |+ n( Y6 J8 f, {0 p
ok
1 k  V9 |' y8 H" A* ^3 ][root@client ~]# ceph pg dump_stuck inactive$ a8 U: b" u2 d. t$ q$ K# h; |) Q
ok
, {6 m% o+ O# M- J4 p. }) R[root@client ~]# ceph pg dump_stuck stale
7 e" u$ B  G9 c+ R: p& Zok
* J8 {! o) l6 ]) P6、显示一个集群中的所有的pg统计
' R2 S& f  }$ p$ y( aceph pg dump --format plain# Z- a# i$ d/ Q$ l
7、恢复一个丢失的pg
4 A4 C4 r7 A6 f: J* gceph pg {pg-id} mark_unfound_lost revert* Z1 v+ ?& O8 ?. p& \, {3 Y
8、显示非正常状态的pg/ `* o$ S5 F) _; b+ G
ceph pg dump_stuck inactive|unclean|stale3 `+ D/ G: m! l$ L" x* `  Z& m
六、pool7 U" {8 o# O8 s9 z9 L
1、查看ceph集群中的pool数量
" }! T4 x- Q: _' Y/ \& X[root@admin ~]# ceph osd lspools/ A! I7 [3 F6 r. l9 X
0 data,1 metadata,2 rbd,' Y' N! e3 P% U& }( e7 T# \3 z
2、在ceph集群中创建一个pool
6 v9 U  U8 H6 I' i& o2 w& Jceph osd pool create jiayuan 100            #这里的100指的是PG组
) X* m8 B. {7 ^% E3、为一个ceph pool配置配额
* h* O2 p6 a& X6 M# }ceph osd pool set-quota data max_objects 10000
! k; Q6 `) _/ s5 t4、在集群中删除一个pool9 N- u+ k' _8 {+ }, o$ G" d" x
ceph osd pool delete jiayuan  jiayuan  --yes-i-really-really-mean-it  #集群名字需要重复两次
" v7 P( c1 v& Z* v! G- e7 M5、显示集群中pool的详细信息- }* a5 R) q2 M: w# |: I5 I+ ?
[root@admin ~]# rados df
* P% Z* u& M. Z  |pool name       category                 KB      objects       clones     degraded      unfound           rd        rd KB           wr        wr KB) N6 k- }2 Q1 ^4 Z+ i/ e  N9 V
data            -                  475764704       116155            0            0           0            0            0       116379    475764704
/ p" _( v; n4 X4 T+ k8 Q9 k) lmetadata        -                       5606           21            0            0           0            0            0          314         58332 w: \3 p; P# o
rbd             -                          0            0            0            0           0            0            0            0            0- r- m# q3 s- q, U! D4 [. y6 w" p+ M% s8 R
  total used       955852448       116176
& p' ?$ F5 K; R8 e+ T1 Q  total avail      639497596: B  m5 v# x0 a+ w& ?
  total space     1595350044# J: d: G+ ]/ v& i$ g1 z
[root@admin ~]# 
% }! a/ r. s0 T. v& ^7 h6、给一个pool创建一个快照
& B' e. T5 w5 S6 i. O[root@admin ~]# ceph osd pool mksnap data   date-snap 
6 H( g! L# P, \: Ocreated pool data snap date-snap/ a" ?# [; J; j2 k9 [3 l& A( A
7、删除pool的快照5 J1 _) c( i; ^4 b1 Z* |
[root@admin ~]# ceph osd pool rmsnap data date-snap! u8 v2 R1 Z7 w* w6 C8 p
removed pool data snap date-snap
/ M2 p0 T2 j7 T3 {  U! a6 ~4 ^- w9 m8、查看data池的pg数量
% R. V& R$ E  ?1 c0 y9 J+ Q2 o[root@admin ~]# ceph osd pool get data pg_num- T, k6 \# @  g& Z& M
pg_num: 64
0 H% b  w% a2 B. r7 b( u" b) v+ C9、设置data池的最大存储空间为100T(默认是1T)/ U  N4 Y- F) f; A" s
[root@admin ~]# ceph osd pool set data target_max_bytes 1000000000000001 v$ q( [! t  f+ H2 g) J: W
set pool 0 target_max_bytes to 100000000000000
- {* E8 o1 B3 d10、设置data池的副本数是3) \: u9 Y; j) G: T3 Z
[root@admin ~]# ceph osd pool set data size 3
8 X5 @9 G0 b; G. ~) c3 \set pool 0 size to 3: L% ~. A; M9 G
11、设置data池能接受写操作的最小副本为29 k  k# x+ n0 e" b7 U9 q' o7 f8 O6 M; q
[root@admin ~]# ceph osd pool set data min_size 2% e$ v+ ^0 E3 R' a! T
set pool 0 min_size to 2
, x$ G: R  N; J" F5 Y2 w& O; C7 }$ m12、查看集群中所有pool的副本尺寸5 E7 X' ?$ D/ f+ V0 z) ^" L
[root@admin mycephfs]# ceph osd dump | grep 'replicated size'
2 O& j( [" E7 _# [6 Jpool 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
: _6 P+ ~: p4 B" n; }pool 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
% z3 H3 i4 }1 Y3 Q  {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- D6 n4 }- u2 J3 h4 K6 [! C
13、设置一个pool的pg数量5 Y6 {6 e/ u0 @# X% N+ C3 e
[root@admin ~]# ceph osd pool set data pg_num 100, v! K4 N+ Y% K, ~% K7 ]- v
set pool 0 pg_num to 100
8 X! h( n2 ?: }" ]14、设置一个pool的pgp数量1 [6 c0 \+ Q7 ~* A1 {  E
[root@admin ~]# ceph osd pool set data pgp_num 100
  _8 q* N/ v: L$ W) wset pool 0 pgp_num to 1006 Q4 T& d, `  T* [( Y! E  A- ?6 C2 o

, R5 }0 m8 l% v3 G  @七、rados和rbd指令5 \' |, `! o2 Y$ ^  L/ Y
1、rados命令使用方法0 x. \! V% Q% H, Z& P
(1)、查看ceph集群中有多少个pool (只是查看pool)
5 \- B3 C" V' p[root@node-44 ~]# rados lspools
* g0 D8 K& ~* Bdata
1 V# n1 Q. y0 ?5 b! a5 gmetadata( @1 N$ F& I' _
rbd
$ R+ l- G/ q4 K8 y+ wimages; ~8 A' Z" c9 c2 t2 ~4 A4 B4 L9 g
volumes1 n% O3 N1 n9 d( z# _% Q
.rgw.root
: U9 L5 p1 x0 ]. d; ?compute7 f1 y7 Z  J0 P$ o
.rgw.control
0 u7 Q2 s. H; b  B; j  P.rgw
. _7 k, U% \' S; `' }5 s) a6 B.rgw.gc
, h# X$ i, ?% {% Q$ d5 E: p.users.uid
6 G* C. c$ \% L(2)、查看ceph集群中有多少个pool,并且每个pool容量及利用情况; I! e$ g" O' [, H
[root@node-44 ~]# rados df 
8 B+ Y$ f0 H& i& L- _pool name       category                 KB      objects       clones     degraded      unfound           rd        rd KB           wr        wr KB
" v  z; Q7 J8 {) }  g8 X. o.rgw            -                          0            0            0            0           0            0            0            0            0
( w) W5 Z' ]0 z% j( q0 C/ Q$ [) E.rgw.control    -                          0            8            0            0           0            0            0            0            0( i1 r8 X, a5 h. m3 e. j. q& J( j
.rgw.gc         -                          0           32            0            0           0        57172        57172        38136            0
6 D# {+ Y9 }; \; |- d2 ^. Y.rgw.root       -                          1            4            0            0           0           75           46           10           10
8 n6 V/ G% e* s6 X! L! K0 I.users.uid      -                          1            1            0            0           0            0            0            2            11 R* v2 C& R: z5 R2 F1 @
compute         -                   67430708        16506            0            0           0       398128     75927848      1174683    222082706
  A7 q# u& f, mdata            -                          0            0            0            0           0            0            0            0            0
8 r4 l* W) N! |4 {images          -                  250069744        30683            0            0           0        50881    195328724        65025    388375482
- p  k2 j; s1 j- \) P7 ~7 gmetadata        -                          0            0            0            0           0            0            0            0            0
  ]( y; S: y" [" ]6 mrbd             -                          0            0            0            0           0            0            0            0            0* X/ ^) I7 }6 H0 _7 \
volumes         -                   79123929        19707            0            0           0      2575693     63437000      1592456    163812172" i$ U, U% H0 c" r: ], i7 D
  total used       799318844        669418 {5 [4 M) x7 ]( j- p7 A
  total avail    113060537202 |8 A. I4 Q. R% u0 p4 h& |
  total space    12105372564, o0 n* d4 t1 t. X
[root@node-44 ~]# ' G9 m. [9 q6 O3 F
(3)、创建一个pool
/ C! A2 ]) [3 V3 r( `; C[root@node-44 ~]#rados mkpool test* K+ f) M, i+ \: m6 v0 P7 `+ @. j8 I
(4)、查看ceph pool中的ceph object (这里的object是以块形式存储的)0 C! F& x8 z2 T1 }
[root@node-44 ~]# rados ls -p volumes | more
; X' s% l! E1 o) m2 W: vrbd_data.348f21ba7021.0000000000000866) m' |0 x1 v5 i/ ?# E, w
rbd_data.32562ae8944a.0000000000000c79
, U, n: J+ g, R4 ?0 rrbd_data.589c2ae8944a.00000000000031ba- x1 p6 T/ q/ E' J1 ~5 {
rbd_data.58c9151ff76b.00000000000029af
- B0 ?" _- G3 R2 {( t. y: Z: v5 V7 ^5 h1 srbd_data.58c9151ff76b.0000000000002c19
6 A6 j2 o8 \: Jrbd_data.58c9151ff76b.0000000000000a5a
/ @/ J1 C% g8 Q1 Orbd_data.58c9151ff76b.0000000000001c69: G; K8 W! V# k
rbd_data.58c9151ff76b.000000000000281d% @' {2 L+ W3 h
rbd_data.58c9151ff76b.0000000000002de1& |7 Y( a9 c! y  j
rbd_data.58c9151ff76b.0000000000002dae; D- a' p: F; e5 h
(5)、创建一个对象object * S* `( S8 s. Q5 h1 T( f6 \. q
[root@admin-node ~]# rados create test-object -p test
# i. k( f% p( E4 x9 p6 L! n5 b
) f  I0 a$ [: c: f; v0 D[root@admin-node ~]# rados -p test ls
9 z3 j0 w2 `& L1 `- n4 htest-object+ [+ L! {4 @4 |1 y+ @
(6)、删除一个对象6 i' J. L3 o" W: z6 I  T" b+ p
[root@admin-node ~]# rados rm test-object-1 -p test( a+ t; G4 R, q) K- z- G
4 ?" O: l6 L! C- O% z1 n

5 [* _' H. k2 L% R, ~" U9 Y2、rbd命令的用法 
4 `* |# A" g' e- M- l* N
# y* [$ p* F! z(1)、查看ceph中一个pool里的所有镜像
: r) h* p# y2 Q+ R; z; y$ H+ s( l[root@node-44 ~]# rbd ls images
$ b- j1 @. t4 @+ _5 q+ k  H4 j2014-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$ X% H9 r/ ^( @/ A
2182d9ac-52f4-4f5d-99a1-ab3ceacbf0b9
& h5 ^$ I# P- o0 l/ J4 b! _34e1a475-5b11-410c-b4c4-69b5f780f03c
+ |+ v% o4 H9 s5 i/ {8 `476a9f3b-4608-4ffd-90ea-8750e804f46e
$ o0 w( J: i- Y; I4 s2 Z60eae8bf-dd23-40c5-ba02-266d5b942767
' J/ l8 T2 L' ~. I7 W! L72e16e93-1fa5-4e11-8497-15bd904eeffe
; i. k' R" n8 N7 W% c- j# H0 ^2 Q74cb427c-cee9-47d0-b467-af217a67e60a# a1 s5 C; a$ s5 R3 O; }
8f181a53-520b-4e22-af7c-de59e8ccca78
: R! Q2 a5 H+ \& c+ A3 A% c9867a580-22fe-4ed0-a1a8-120b8e8d18f4$ v$ Z5 f- n8 M) |
ac6f4dae-4b81-476d-9e83-ad92ff25fb136 L" @, u( U* g8 g
d20206d7-ff31-4dce-b59a-a622b0ea3af6+ E* m8 s; A8 R+ F% P; M0 S
& b$ X! z8 c0 r
[root@node-44 ~]# rbd ls volumes8 J+ N$ g) n, G6 E: V) Y
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).fault0 S" ]3 ]; z1 f7 R, C- z
volume-0788fc6c-0dd4-4339-bad4-e9d78bd5365c
/ k- T* T. o) C! a' d0 hvolume-0898c5b4-4072-4cae-affc-ec59c2375c51( p# a0 K" _2 J( n/ j6 f
volume-2a1fb287-5666-4095-8f0b-6481695824e2+ A' g' u1 [. ^# S' F
volume-35c6aad4-8ea4-4b8d-95c7-7c3a8e8758c5$ D0 b+ P, l; `* r3 x6 N
volume-814494cc-5ae6-4094-9d06-d844fdf485c4& x: z0 A) X2 _5 Y, ]
volume-8a6fb0db-35a9-4b3b-9ace-fb647c2918ea
+ L# r6 B; R$ g) h0 z! {2 [volume-8c108991-9b03-4308-b979-51378bba2ed1
1 |; b% f1 [( K" a- ]: m/ yvolume-8cf3d206-2cce-4579-91c5-77bcb4a8a3f8- ~6 m/ ?& _! H, @( L/ f* F
volume-91fc075c-8bd1-41dc-b5ef-844f23df177d
: ?; O8 O9 q5 s% [1 uvolume-b1263d8b-0a12-4b51-84e5-74434c0e73aa
2 s3 _( i  ?, D1 c' mvolume-b84fad5d-16ee-4343-8630-88f265409feb
2 B% x) [7 |" G% r3 M( y( Lvolume-c03a2eb1-06a3-4d79-98e5-7c62210751c31 A( Z6 `& o  _9 Q. o
volume-c17bf6c0-80ba-47d9-862d-1b9e9a48231e
! B+ h7 r8 J7 k4 r0 Pvolume-c32bca55-7ec0-47ce-a87e-a883da4b4ccd
, ~8 m" B4 M! x- L& bvolume-df8961ef-11d6-4dae-96ee-f2df8eb4a08c
3 ^+ }; X; C3 \$ Qvolume-f1c38695-81f8-44fd-9af0-458cddf103a34 J; O) g/ \2 H) n
4 M: B% l, q" M7 C
(2)、查看ceph pool中一个镜像的信息* c) X4 X( ~; `- {/ q, G/ n' Q
[root@node-44 ~]# rbd info -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a
8 n% C! R5 F, y& O* c/ B: crbd image '74cb427c-cee9-47d0-b467-af217a67e60a':
- Z% {" S- O; U; v$ _8 F        size 1048 MB in 131 objects8 \: x; G+ @+ k3 {$ }( Q
        order 23 (8192 KB objects)! H* M% E+ I& @' j) g
        block_name_prefix: rbd_data.95c7783fc0d0
% r* ^* [* T1 G0 O/ B8 n( S        format: 2& z* T/ y& ~3 i2 C( X6 d
        features: layering
  g6 q, k3 i' z(3)、在test池中创建一个命名为zhanguo的10000M的镜像4 @8 D' l  m; l$ _5 Q
[root@node-44 ~]# rbd create -p test --size 10000 zhanguo. o1 ~/ H1 C7 j1 c: F+ d% M. q
[root@node-44 ~]# rbd -p test info zhanguo    #查看新建的镜像的信息
2 M9 c7 k$ w2 g5 W, X7 krbd image 'zhanguo':3 E8 M0 Z( N8 x; f9 {: ^: l
        size 10000 MB in 2500 objects$ f6 c  C2 }3 X8 m% i! d/ e" ^" m
        order 22 (4096 KB objects)6 E, Q2 g: j" U  I
        block_name_prefix: rb.0.127d2.2ae8944a# c5 w1 A  u7 R
        format: 1
1 B8 W. m& S: L9 b- ~) w! d% h" M[root@node-44 ~]# 
: [. R6 k; I0 V(4)、删除一个镜像
/ V+ {( G& S  J$ b4 G# i& c! }/ w[root@node-44 ~]# rbd rm  -p test  lizhanguo6 a( `. z" Q) F5 U7 _
Removing image: 100% complete...done.0 L1 F( ]: l' P0 |1 q
(5)、调整一个镜像的尺寸; i& Y8 z: c8 O, r2 T2 A
[root@node-44 ~]# rbd resize -p test --size 20000 zhanguo4 Q0 h$ D5 l+ ~: ^! e+ S% e
Resizing image: 100% complete...done.& A9 t- q& G7 W6 w
[root@node-44 ~]# rbd -p test info zhanguo   #调整后的镜像大小+ E1 d7 E) ]% N2 k; B
rbd image 'zhanguo':
$ Z. M6 @1 Y$ K+ f' L- \        size 20000 MB in 5000 objects
. \$ L) T% h; T9 g$ w- D2 u7 ~- X9 i        order 22 (4096 KB objects)4 ~$ V8 z: L% }* s$ W* c
        block_name_prefix: rb.0.127d2.2ae8944a
9 Y! }$ i6 V2 H6 U        format: 1
! Y0 K+ K% n5 {& o( Y7 g[root@node-44 ~]# 
+ E8 i, u* j, L  B% o(6)、给一个镜像创建一个快照
3 J. B8 m/ g7 E[root@node-44 ~]# rbd  snap create  test/zhanguo@zhanguo123  #池/镜像@快照
9 D' ?0 r4 u" `5 N' A[root@node-44 ~]# rbd   snap ls  -p test zhanguo$ _0 x$ F2 |) J) @0 ~
SNAPID NAME           SIZE 
7 v, b5 z7 s+ X     2 zhanguo123 20000 MB 4 a8 N: B+ v- U4 z
[root@node-44 ~]# 
( Y8 ^" N& |1 D) }4 I/ q[root@node-44 ~]# rbd info test/zhanguo@zhanguo1233 S7 Q# x1 |7 ^0 V8 }8 C* {
rbd image 'zhanguo':* N1 @& Y, q* c7 u3 Q. P
        size 20000 MB in 5000 objects
) Y5 E! g6 A. x        order 22 (4096 KB objects)
4 U1 M9 s' j% Z; P$ f; K+ J) Y        block_name_prefix: rb.0.127d2.2ae8944a2 T! i- _9 s& |3 C
        format: 1
7 L, X/ X- ~5 o7 H6 E2 R) y        protected: False
7 n" ^5 w  ~& o( u# C- d! N* w% E, k[root@node-44 ~]# 
' q: T" B- ?: V: M1 ](7)、查看一个镜像文件的快照
! ^" N5 V1 I( K9 b# A0 O* U[root@os-node101 ~]# rbd snap ls  -p volumes volume-7687988d-16ef-4814-8a2c-3fbd85e928e4
, D, k7 T: j* L  c8 }- L( {SNAPID NAME                                               SIZE " m' d" m1 l* x- c: F
     5 snapshot-ee7862aa-825e-4004-9587-879d60430a12 102400 MB 
7 G; |% M% @- V9 J) v) _' M# ^(8)、删除一个镜像文件的一个快照快照; C* e: q* O) S
                                 快照所在的池/        快照所在的镜像文件           @ 快照
) R/ Y0 f3 ^4 y[root@os-node101 ~]# rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a120 k& }" _+ J  M8 B9 E
rbd: snapshot 'snapshot-60586eba-b0be-4885-81ab-010757e50efb' is protected from removal.- `, s. }! @! \. c: o
2014-08-18 19:23:42.099301 7fd0245ef760 -1 librbd: removing snapshot from header failed: (16) Device or resource busy
' `$ F/ J( _3 h+ Z3 F上面不能删除显示的报错信息是此快照备写保护了,下面命令是删除写保护后再进行删除。
: z* n- h) ^4 _- k* T0 d& \[root@os-node101 ~]# rbd snap unprotect volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12* b' E/ i+ l0 Q6 `; L9 I  ~
[root@os-node101 ~]# rbd snap rm volumes/volume-7687988d-16ef-4814-8a2c-3fbd85e928e4@snapshot-ee7862aa-825e-4004-9587-879d60430a12
! h  |* ?3 m. S! k. k(9)删除一个镜像文件的所有快照
$ r& w2 }! A7 c& c- n3 ~[root@os-node101 ~]# rbd snap purge  -p volumes volume-7687988d-16ef-4814-8a2c-3fbd85e928e4. b$ P: T! K! _1 [1 L
Removing all snapshots: 100% complete...done.8 v  H" O: v# o6 Y" k

: h( \: L: G3 W' `) B$ ]5 O% I1 b: P8 @! X/ ~6 U0 @& S- e. R
(10)、把ceph pool中的一个镜像导出5 R  v! |, g. x0 N+ n- H' O
导出镜像, l  j9 R) r6 B/ ~  z/ c+ O
[root@node-44 ~]# rbd export -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a /root/aaa.img0 b/ }; g+ a1 m* C" B
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
7 J# r; Z! ^! h( {Exporting image: 100% complete...done.
( W( E& |' c- B4 x; o
9 z$ V/ O- c  n, t% ^# `1 _导出云硬盘
1 k; ~5 @3 A4 C; ~# z8 n+ t8 \6 r& _[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
) U+ _: K) l# ~( R1 Z3 t% B9 F2014-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).fault
7 n. I6 D/ ]8 R6 j& L) wExporting image: 100% complete...done.7 t% K" ]  @- L: }0 z

, x, q1 O1 i8 Z' w- E/ o(11)、把一个镜像导入ceph中 (但是直接导入是不能用的,因为没有经过openstack,openstack是看不到的)
9 a) [+ K/ u8 I% H[root@node-44 ~]# rbd import /root/aaa.img -p images --image 74cb427c-cee9-47d0-b467-af217a67e60a  
# O+ P$ I: _1 r  t( y* mImporting image: 100% complete...done.) x. v8 {/ c0 \% r. w
/ P! p2 _. |6 u* I, {" F: k
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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