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

ceph pool池的相关操作

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-8-3 17:00:12 | 显示全部楼层 |阅读模式
将存储池与应用关联4 A1 d  ~' t" ^5 W# I
在使用存储池之前,需要将它们与应用关联。将与 CephFS 搭配使用或由对象网关自动创建的存储池会自动关联。需要使用 rbd 工具初始化要与 RBD 搭配使用的存储池。
3 P/ R3 c: q; F2 [, B5 i  M( i
2 j! f7 [( x- l/ b, v# [+ s1
: \! ^4 {: X4 V' G- ?# I1 C root # ceph osd pool application enable pool_name application_name. W6 m5 Z4 Q8 j3 s/ |4 `

$ @+ e3 ]5 T( x0 a6 _一个存储池可以与多个应用关联,每个应用都可具有自己的元数据。可使用以下命令显示给定存储池的应用元数据:6 K/ [3 G- e, S2 j) Z
2 M1 `1 e: O$ \5 M& T
1) H) o; p3 ^3 Z
root # ceph osd pool application get pool_name  R7 y' M) F- K

& D0 w" h1 u4 Q9 O6 Z操作存储池
: @% ^. H) ^3 X+ d+ |了解如何列出、创建和删除存储池,以及如何显示存储池统计数字或管理存储池快照。! Z/ ]) a% y$ z; y3 S0 M% `3 g5 d
列出存储池
% D) \: @% b$ c/ p3 l要列出集群的存储池,请执行以下命令:
4 k8 `$ [# N% b; o# d+ M8 ], z, l
0 I7 [/ Z4 c9 }  ^7 m( A- I root # ceph osd lspools
2 E! `7 P$ q$ a4 G3 B9 N0 rbd, $ O2 u8 X, X& G) L9 @  l# C( |
1 photo_collection,
( O; F$ u$ ~2 L" M2 foo_pool,9 `% H5 L' }2 Q- b' C5 @
5 r% S. K% K- m+ L  Z! G$ W* j
创建存储池& R, M. y9 c6 N1 [: Y) K6 r
要创建副本存储池,请执行以下命令:9 s* K2 z+ S: E; y, j2 Q
& v% u2 E4 \3 v+ i8 t; w. M: }
1
/ y7 e! ]0 x0 R0 v. {9 d root # ceph osd pool create pool_name pg_num pgp_num replicated crush_ruleset_name  expected_num_objects! K/ s- }: I2 c/ t0 ]* Q# d3 [
* T* n$ X1 O9 i- z! a% c% T; H
要创建纠删码池,请执行以下命令:+ U; ^. z6 n1 A. Z
$ {0 c1 T; K# X) G" j* b# M' C7 H
1
% e* B8 O$ v$ L! Y  ` root # ceph osd pool create pool_name pg_num pgp_num erasure erasure_code_profile crush_ruleset_name expected_num_objects
. Y1 J6 S1 |1 C3 t5 o" u( n) i& z  s, n- u3 X) x
pool_name6 ]6 H, s; w  S; _
存储池的名称,必须唯一。必须指定此选项。
. ?7 m1 O8 d' l- K* Qpg_num2 b# _: ?! ^2 f. I* O' t% g
存储池的归置组总数。必须指定此选项。默认值是 8。
/ m1 p/ u1 f) r1 ipgp_num; O- R* Z: K& n% E3 k( L6 |# b* n
用于归置数据的归置组总数。此数量应该与归置组总数相等,归置组拆分情况除外。必须指定此选项。默认值是 8。
; E7 b2 q. H( I- s6 h. |3 h9 Ppgp_type, r0 M* s3 F/ M; z  ]
存储池类型,可以是 replicated(用于保留对象的多个副本,以便从失败的 OSD 恢复)或 erasure(用于获得某种通用 RAID5 功能)。副本池需要的原始存储较多,但可实现所有 Ceph 操作。纠删码池需要的原始存储较少,但只实现一部分可用的操作。默认值是“replicated”。) t( [6 G/ {* D& d/ q. f3 P/ [
crush_ruleset_name
6 D/ \8 O  e# Z此存储池的 crush 规则组的名称。如果所指定的规则组不存在,则创建副本池的操作将会失败,并显示 -ENOENT。但副本池将使用指定的名称创建新的纠删规则组。对于纠删码池,默认值是“erasure-code”。对于副本池,将选取 Ceph 配置变量 osd_osd_pool_default_crush_replicated_ruleset。/ x) C6 e1 q: d6 w
erasure_code_profile=profile
$ e  I0 i# J4 M9 L( K2 ?仅适用于纠删码池。使用纠删码配置。该配置必须是 osd erasure-code-profile set 所定义的现有配置。6 e! v3 g* g# H/ P. y" `
expected_num_objects
( W" {+ {& B  h" j' p此存储池的预期对象数。如果设置此值,PG 文件夹拆分发生于存储池创建时。这可避免因运行时文件夹拆分导致的延迟影响。& F, @3 ?: d4 y7 @3 t6 f0 s3 P
设置存储池配额+ \3 `# _( c0 B5 H4 {& |
您可以设置存储池配额,限定每个存储池的最大字节数和/或最大对象数。
+ y0 D0 N" ~$ H+ w: q: O: M* j: H: u; r
1: |( B! U7 J+ T1 ]
root # ceph osd pool set-quota pool-name max_objects obj-count max_bytes bytes; f' o3 h" R4 ]' |! H

$ u& C# L& V, S7 w+ ?. v. C/ O删除存储池* K2 @$ \4 N  E
存储池中可能包含重要数据。删除存储池会导致存储池中的所有数据消失,且无法恢复。, }2 v* s+ [) j" ?
不小心删除存储池十分危险,因此 Ceph 实施了两个机制来防止删除存储池。要删除存储池,必须先禁用这两个机制。( {1 I+ W; i5 D2 x$ ^3 v% c( q  V/ \
第一个机制是 NODELETE 标志。每个存储池都有这个标志,其默认值是“false”。要确定某个存储池的此标志值,请运行以下命令:! k& w, R9 i, q( }# O3 d" H0 d
7 b% Y. H& e7 t  j& X
1
3 U8 H) u. \, ^; w+ |3 K root # ceph osd pool get pool_name nodelete9 Z$ \3 u3 r1 A4 a$ H/ c4 v
7 X& z- |  q. L: H& M
如果命令输出 nodelete: true,则只有在使用以下命令更改该标志后,才能删除存储池:% M, F0 Z" c% X- r* w7 o) ]
3 ^/ m+ j* Y8 \6 R0 G  g% ?& q3 R
1
# X0 r5 \6 j5 L# V6 ?! ] ceph osd pool set pool_name nodelete false" E- |# [: S8 z- Q6 b

! m1 U- X3 A& Y( ^5 y% m第二个机制是集群范围的配置参数 mon allow pool delete,其默认值为“false”。这表示默认不能删除存储池。: J0 I" }9 p5 \$ B8 Y. ]( S, Q
若要规避此安全设置删除存储池,可以临时将 mon allow pool delete 设置为“true”,删除存储池,然后将该参数恢复为“false”:
' K, T9 x7 x! x7 n: a& ]/ l1 R/ d0 q5 t, q. P7 c
1
8 {" H* m  ^5 t, R: C5 T  @* \2
, O' u3 ^4 I. \( e# c; L! O) n  d- Y3; O9 |: L( X, l6 x: t
4/ s' F6 V$ Q2 k; @8 F7 c4 ]# N& J
5
/ m% A1 q. e8 G$ q/ e. z- @ root # ceph tell mon.* injectargs --mon-allow-pool-delete=true  e& c$ L: q- q9 ]/ \" x
root # ceph osd pool delete pool_name pool_name --yes-i-really-really-mean-it0 |5 y  H3 E' j  F5 }' T; L4 R
root # ceph tell mon.* injectargs --mon-allow-pool-delete=false- h3 A4 Y# _+ x
' X, m1 j2 J" p: A& ^9 H
injectargs 命令会显示以下讯息:
/ N% x* ?- `2 ?6 j
4 Q  Y6 P% T* i19 o& x, c& e5 j' \+ P# w
injectargs:mon_allow_pool_delete = 'true' (not observed, change may require restart)
- H# Z5 v* S! L  r: e! p
& ^7 D' `& r! _8 B* U5 q' o- q重命名存储池
6 i& X+ Z( C# k: G$ W要重命名存储池,请执行以下命令:
' J6 f; w5 T( e' c1 j' ?
6 B/ R4 d( R8 s# u3 U1. \; t& A5 R2 k& @8 }4 f& W- V- u
root # ceph osd pool rename current-pool-name new-pool-name: P+ C& _2 z' n% x
9 k* a2 `6 \8 N7 w
如果重命名了存储池,且为经过身份验证的用户使用了按存储池功能,则必须用新的存储池名称更新用户的功能。
- b4 R: W- Q' Q) Z显示存储池统计数字
9 ]* e. N% t! }" O' J( `0 \5 m要显示存储池的用量统计数字,请执行以下命令:+ z; g" Y/ l" C3 W; `  ?' u2 v

+ w( y& v. W5 x6 m% a. }2 H- f root # rados df; M& f+ ~, @9 c$ H# _& ^% m
pool name  category  KB  objects   lones  degraded  unfound  rd  rd KB  wr  wr KB
# B' x& c9 }# F3 v  N6 I8 B, ^cold-storage    -   228   1         0      0          0       0   0      1   228
" I4 Q! W4 a& X& B, Y2 N9 r' d/ m* Jdata            -    1    4         0      0          0       0   0      4    4: A' ~, |, v& w2 @+ t3 e$ Q
hot-storage     -    1    2         0      0          0       15  10     5   2310 J) Q4 Y4 L. Z, K# X
metadata        -    0    0         0      0          0       0   0      0    0
* d% w0 P3 |' b" L4 o- W; S' Apool1           -    0    0         0      0          0       0   0      0    0. B) m4 ?. u1 n6 b
rbd             -    0    0         0      0          0       0   0      0    0
- y9 ]* M' e. k9 u2 Btotal used          266268          7/ i% Q0 a4 P3 E0 f6 F/ r- ^
total avail       27966296( ^! ?# Y- Z: e4 C3 r
total space       28232564+ L( p$ b+ n+ w/ ]0 q7 X3 w
' o' l4 ^# M% c  Z7 e0 G; n
设置存储池的值
. K4 h3 S' x5 ~要设置存储池的值,请执行以下命令:
/ _' P: k+ f! y" L3 E& m) ]' d" M( y" D- r3 [
1& F' @8 G# \. w% |2 z
root # ceph osd pool set pool-name key value  y5 y  |/ p1 [/ w! T
$ ~2 G; N: R; F% s

, |- `, e+ Q' u/ e. ?/ W' b# c
9 O: _) g1 F# J$ u/ s) tsize
. ]- e& t, @4 }/ [& H1 o, n( }6 i设置存储池中对象的副本数。
% t2 s) @. k6 a: ~min_size
( ~0 C( e, G& A, Z& |设置 I/O 所需的最小副本数。
1 f0 F- Z+ `) H; |! d/ [( Gcrash_replay_interval4 N7 v( K  @  w: g' D: f
允许客户端重放已确认但未提交的请求的秒数。
8 U4 c% e2 B% T- G# Y8 ppg_num2 @1 r: F- F9 P2 P5 B
存储池的归置组数。" V4 E3 A2 n0 K5 ~- o' C2 ~7 B
pgp_num  j+ s- b: M; E' `8 i5 y- N* M
计算数据归置时要使用的归置组的有效数量。* R  V7 \  A8 W# U: y
crush_ruleset
% s6 L, M0 E6 h- I1 B用于在集群中映射对象归置的规则组。
; Q1 ]1 `  Q& C  s3 |) [hashpspool3 ?+ y# ?9 I( [( y0 T
为给定存储池设置 (1) 或取消设置 (0) HASHPSPOOL 标志。启用此标志会更改算法,以采用更佳的方式将 PG 分配到 OSD 之间。对之前 HASHPSPOOL 标志设为 0 的存储池启用此标志后,集群会开始回填,以使所有 PG 都可再次正确归置。请注意,这可能会在集群上产生相当高的 I/O 负载,因此对高负载生产集群必须进行妥善规划。/ h, d4 {) K8 ?1 E4 v
nodelete" O; b& L; W9 Z  T
防止删除存储池。
  `5 X2 C8 X" y5 k* I0 D; s( R4 V+ ~nopgchange
$ [% [$ h) S* a% C+ J防止更改存储池的 pg_num 和 pgp_num。
% t2 w) [; ?1 t+ [( \* T: }9 lnosizechange
* L. |- N/ I5 ~4 L* v防止更改存储池的大小。; C; k& J; D0 L4 S
write_fadvise_dontneed; |7 I. j  {0 c3 }; H/ O
对给定存储池设置/取消设置 WRITE_FADVISE_DONTNEED 标志。
8 B8 P( c! z7 I( _# ~noscrub、nodeep-scrub) S7 S1 a) F1 }& c, {9 {
禁用(深层)整理 (scrub) 特定存储池的数据以解决临时高 I/O 负载问题。
& I7 T2 t/ \- a1 b4 [hit_set_type! n! I0 d8 q3 o$ L2 [7 k+ q
对快速缓存池启用命中集跟踪。请参见布隆过滤器以了解更多信息。此选项可用的值如下:bloom、explicit_hash、explicit_object。默认值是 bloom,其他值仅用于测试。
! v( _5 s) q" w; ihit_set_count
+ b- H+ a6 q6 {, @7 w, ]) T要为快速缓存池存储的命中集数。该数值越高,ceph-osd 守护进程耗用的 RAM 越多。默认值是 0。# j) |* {- J+ r. w& S
hit_set_period
+ o. ^' z  y: m: b7 S0 |快速缓存池的命中集期间的时长(以秒为单位)。该数值越高,ceph-osd 守护进程耗用的 RAM 越多。
( Z* I3 f+ ?" G" `hit_set_fpp
) Y( z+ ~8 T4 S! p布隆命中集类型的误报率。请参见布隆过滤器以了解更多信息。有效范围是 0.0 - 1.0,默认值是 0.05
( s' V. _! N( o1 i1 `6 Vuse_gmt_hitset
) Y( B. k. G5 x9 X# S) Z2 t为快速缓存分层创建命中集时,强制 OSD 使用 GMT(格林威治标准时间)时戳。这可确保在不同时区中的节点返回相同的结果。默认值是 1。不应该更改此值。
: ?$ S" N( c$ L- ?cache_target_dirty_ratio$ }; T. u( {) j; ~" y
在快速缓存分层代理将已修改(脏)对象清理到后备存储池之前,包含此类对象的快速缓存池百分比。默认值是 .4
1 J' h& n( \  j( p  E! B# D3 w. L! E( `cache_target_dirty_high_ratio
: h  [2 P; {1 ~8 H4 C在快速缓存分层代理将已修改(脏)对象清理到速度更快的后备存储池之前,包含此类对象的快速缓存池百分比。默认值是 .6。
' \8 m- h& s  N9 jcache_target_full_ratio
' r# u/ o" j  d6 p在快速缓存分层代理将未修改(干净)对象从快速缓存池逐出之前,包含此类对象的快速缓存池百分比。默认值是 .8
& c0 _  j* R6 C( I. h" ltarget_max_bytes3 }5 v1 v) X) X
触发 max_bytes 阈值后,Ceph 将会开始清理或逐出对象。
: Q7 E  K/ c) x) T! U3 Atarget_max_objects
9 b; {; j% K2 }3 @. g+ u# R触发 max_objects 阈值时,Ceph 将开始清理或逐出对象。: k) [. s5 `7 p2 a5 u
hit_set_grade_decay_rate& u; i0 }' \6 d2 _* C$ N
两次连续的 hit_set 之间的温度降低率。默认值是 20。+ |) O9 d3 L* A  b, Z
hit_set_search_last_n
' G8 \! t% e: M2 [计算温度时在 hit_set 中对出现的项最多计 N 次。默认值是 1。
2 I; T) d, R3 `4 W) qcache_min_flush_age0 ?# w( P6 e3 e0 y! y3 E+ k& K
在快速缓存分层代理将对象从快速缓存池清理到存储池之前的时间(秒)。" ~$ H4 l/ k# d7 t" @
cache_min_evict_age/ W- {3 `  k* `) @* J; y2 Q
在快速缓存分层代理将对象从快速缓存池中逐出之前的时间(秒)。; w; y( d% w  z$ E5 a" w" l
fast_read- |: v: S4 Z1 h; q) m9 ]8 D: w/ k
如果对纠删码池启用此标志,则读取请求会向所有分片发出子读取命令,并一直等到接收到足够解码的分片,才会为客户端提供服务。对于 jerasure 和 isa 纠删插件,前 K 个副本返回时,就会使用从这些副本解码的数据立即处理客户端的请求。这有助于获得一些资源以提高性能。目前,此标志仅支持用于纠删码池。默认值是 0。$ h7 d$ b# S2 {+ N: @- I. o) ]  e9 _
scrub_min_interval
! M" J8 P: E* `  Q集群负载低时整理 (scrub) 存储池的最小间隔(秒)。默认值 0 表示使用来自 Ceph 配置文件的 osd_scrub_min_interval 值。* V7 g) E9 B& s( e, `
scrub_max_interval
: W) t& O7 c1 A; m' ]不论集群负载如何都整理 (scrub) 存储池的最大间隔(秒)。默认值 0 表示使用来自 Ceph 配置文件的 osd_scrub_max_interval 值。
7 s" H" q* \& O% X( X3 Adeep_scrub_interval
6 |2 X. c* t# f) d2 P& j深层整理 (scrub) 存储池的间隔(秒)。默认值 0 表示使用来自 Ceph 配置文件的 osd_deep_scrub 值。
6 U2 h, P" {1 _% |' A5 `, [- \# i7 g/ K/ ^. t* p! m# Z& @
获取存储池的值- m& c3 f/ X! d; ?% c8 v6 G
要获取存储池中的值,请执行以下命令:
4 g: n5 l# H3 _! E' p$ N% X
4 p" r2 g8 |3 t0 q; C! i1) ~  h! I" d* P- w9 e) T! S! z
root # ceph osd pool get pool-name key
3 f: y/ M5 f9 q7 q  `8 c  V5 j) y% {" W7 v9 j
7 G- M8 e' ^& g# Z
pg_num
& l4 v9 n) Z8 F' G4 ?存储池的归置组数。# B% Y$ J# ~# Z+ U% F1 e9 O) Y: E
pgp_num, X# A, e; b! n* y9 x
计算数据归置时要使用的归置组的有效数量。有效范围小于或等于 pg_num。2 E0 Y8 `8 ?8 w3 T. k5 J7 h
; j4 }. }4 b# d" e/ N, c9 w2 z
设置对象副本数* r6 `8 N8 J: I! T1 {
要设置副本存储池上的对象副本数,请执行以下命令:
) d5 K8 w% F! W% ^/ F( }1 o" i8 K; ]/ e7 a5 J
4 W. v- L3 y, v" a' n4 w: L/ S; i
root # ceph osd pool set poolname size num-replicas
) \) Y5 z% K  M: Bnum-replicas 包括对象本身。例如,如果您想用对象和对象的两个副本组成对象的三个实例,请指定 3。
1 R2 i5 k& K) J. x9 E$ c4 {
: n$ n: V0 k5 K" _获取对象副本数; X; B' q. J4 e2 ^
要获取对象副本数,请执行以下命令:! E9 a7 r- E% ?" h- M1 q" u
. {# J3 G. C0 Y7 I3 j% ~
1
7 z2 O5 J6 ^2 Y* d6 }- } root # ceph osd dump | grep 'replicated size'
7 K: ~# N' r( D, J# r& U" K: h
7.2.11 增加归置组数
3 v9 I# V$ r! n  x6 @创建新存储池时,需指定存储池的归置组数(请参见第 7.2.2 节 “创建存储池”)。将更多 OSD 添加至集群后,出于性能和数据持久性原因,通常还需要增加归置组数。对于每个归置组,OSD 和监视器节点始终都需要用到内存、网络和 CPU,在恢复期间需求量甚至更大。因此,最大限度地减少归置组数可节省相当大的资源量。( `3 x. p/ e# H0 ?
& _2 I3 ]4 B) n. X. q2 I0 m7 r$ J
1+ e7 r8 g, a. H) {
root # ceph osd pool set rbd pg_num 4096  |# ]  q, `& @! `5 Z
$ N- k+ Y0 P7 b) O
添加存储池8 H- U- r, `8 g& d# J9 i6 V
在您首次部署集群之后,Ceph 会使用默认存储池来存储数据。之后,您可以使用以下命令创建新的存储池:! O; w9 a8 e/ k) n0 ~7 A1 Y

% R) M- T9 P$ O4 L6 c1
4 L/ y$ h+ O% Z4 W root # ceph osd pool create& z8 o2 C4 }/ A$ w" q
0 v2 |' p- P8 Z4 j; j
存储池迁移
& M* p! g& w3 m迁移存储池的方法有多种。建议使用快速缓存层,因为该方法是透明的,能够减少集群停机时间并避免复制所有存储池的数据。) F/ i, z; _- O! L% E
7.3.1 使用快速缓存层迁移' e" Y1 G% ^$ f+ `: ^
该方法的原理十分简单,只需将需要迁移的存储池按相反的顺序加入快速缓存层中即可。有关快速缓存层的详细信息,请参见第 10 章 “快速缓存分层”。例如,要将名为“testpool”的副本池迁移到纠删码池,请执行以下步骤:! j# C3 c$ C1 b$ F* c9 W% y
创建一个名为“newpool”的新纠删码池:( s6 j5 t) W0 O) Z  V  ?( ]9 G

8 g: `, k& Z4 ], U1; H6 z* `6 r2 t- a
root@localhost > ceph osd pool create newpool 4096 4096 erasure default
4 Y  h- ], H8 S* w2 e7 A
5 d% R* N9 D( b4 }您现在有两个池,即装满数据的原始副本池“testpool”和新的空纠删码池“newpool”:( o4 o" W) o, A' ]3 ~
设置快速缓存层,并将副本池“testpool”配置为快速缓存池:
! N" W% u; |. M; r0 o+ f% b  _/ V& z9 b- ?7 V- h# {) N0 R
root@localhost > ceph osd tier add newpool testpool --force-nonempty, O3 I: n* V- V5 x# ~, d6 G! b7 k
root@localhost > ceph osd cache-mode testpool forward
. m/ |2 ]# \+ A% M/ ~
- K. J5 m$ P$ }) q7 I* Y强制快速缓存池将所有对象移到新池中:) [+ x9 t% d' T6 {+ w4 \
( E- T  J: P8 m
1
, i% c' f1 I0 L) U/ F root@localhost> rados -p testpool cache-flush-evict-all
6 S6 ]6 q3 j, A+ I8 g8 }- X! J& T
数据清理
8 l) r& S/ i# _0 j  r. V将所有客户端切换到新池。您需要指定一个覆盖层,以便在旧池中搜索对象,直到所有数据都已清理到新的纠删码池。$ @8 O8 d% q; ~2 Q* q
! D3 F) u6 L, B) @; @8 |
1) j% z+ z# k8 i" f  H. w+ o, `3 r8 N  l
root@localhost > ceph osd tier set-overlay newpool testpool. q' q1 Q2 i3 R1 _

- |: s# f5 h. u0 l  ~; Y. O- m有了覆盖层,所有操作都会转到旧的副本池“testpool”:
/ V) G8 u) Z; H, @设置覆盖层2 K! E  w5 K" h
现在,您可以将所有客户端都切换为访问新池中的对象。所有数据都迁移到纠删码池“newpool”后,删除覆盖层和旧超速缓冲池“testpool”:2 L+ N" U# B+ X1 h* E

# v% B3 V) \- q( f% V1
) @" ?/ s- T! |/ W2
# n- |( s, D$ H/ x3 H0 i/ A- K+ p root@localhost > ceph osd tier remove-overlay newpool& }9 f- n$ b/ O# ^
root@localhost > ceph osd tier remove newpool testpool# s% K, {/ X4 D
3 _" V. k/ ]5 K# ]0 c* V! F
存储池快照
# X" Z+ }1 H/ s; S  v存储池快照是整个 Ceph 存储池的状态快照。通过存储池快照,可以保留存储池状态的历史。创建存储池快照可能需要大量存储空间,具体取决于存储池的大小。在创建存储池快照之前,始终需要检查相关存储是否有足够的磁盘空间。$ R9 {) I0 W* |+ e! f& E4 c" P% z# w
创建存储池快照9 T2 `+ @- t) Q, u9 \9 P+ c
要创建存储池快照,请执行以下命令:
+ y9 X) }  v9 v& m* v; R5 K8 n8 H) l% b- v) `
root # ceph osd pool mksnap pool-name snap-name
: H7 F. @: j& E5 L例如:
3 E4 W5 x) Q/ [) M! s0 ?: O* Troot # ceph osd pool mksnap pool1 snapshot1
, D/ P  g2 S5 h- H  Zcreated pool pool1 snap snapshot1
7 S; Z, v3 A! U3 \9 _- B. ~! V; Y7 i3 D2 U5 ?& T0 J
删除存储池快照
+ a1 |, G! s! a. E/ X% H) N/ p要删除存储池快照,请执行以下命令:) f/ m7 b; W( ]6 G6 b. h

) ^. Z* ]8 W" S1
' i. T6 m  ?# h1 C' m root # ceph osd pool rmsnap pool-name snap-name1 n. c& s& q# ]3 b
: B1 C& A' e  {# [' B
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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