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

ceph pool池的相关操作

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-8-3 17:00:12 | 显示全部楼层 |阅读模式
将存储池与应用关联9 _/ E& L( X$ `' a' ?! l* u( i
在使用存储池之前,需要将它们与应用关联。将与 CephFS 搭配使用或由对象网关自动创建的存储池会自动关联。需要使用 rbd 工具初始化要与 RBD 搭配使用的存储池。1 N, K' M2 f- w
, F: @* k, v5 ]* j0 L6 y0 R
1
$ X* _8 E# N; |/ W: ]' {- N5 G: k root # ceph osd pool application enable pool_name application_name
' {0 [) t$ q6 w* @5 j" y$ G- H  W: i* S$ N& q
一个存储池可以与多个应用关联,每个应用都可具有自己的元数据。可使用以下命令显示给定存储池的应用元数据:
; P; r  ]5 S2 `! w9 ?3 i  n- n( ]/ t, I6 H
1
, ~/ o( E; T. y- v* V root # ceph osd pool application get pool_name
# s% _! h2 Q7 I6 U3 i1 i* `5 ]6 B
" R+ O0 H1 Y3 f0 U操作存储池
: K& b; f& [& G( I2 n; \了解如何列出、创建和删除存储池,以及如何显示存储池统计数字或管理存储池快照。/ a' A5 H3 J% Z
列出存储池- R6 N5 S3 P) V, H6 q5 ]
要列出集群的存储池,请执行以下命令:
0 r# M. Z2 t( E5 Y% e. b
: A+ h" F9 X+ q root # ceph osd lspools
* y; T- e" Y, i0 ]0 rbd,
2 C2 S' @: @$ A1 photo_collection,   y9 p5 u: ?% M8 y
2 foo_pool,0 t' K" M! j5 m* U, x4 q6 M2 H
) U  {5 s3 |: s8 [+ g2 U/ Z. a
创建存储池( z  K& h0 i% b/ H7 P6 j7 v- Y/ A
要创建副本存储池,请执行以下命令:
5 W5 W# G; N+ a7 ]( n
. v5 G4 Z, {1 o/ {/ K: W15 H; [' ]' K1 K9 h
root # ceph osd pool create pool_name pg_num pgp_num replicated crush_ruleset_name  expected_num_objects
* c7 b2 G! @  a( |) m8 V
/ D5 ]5 @* F/ C, _+ w6 M+ Y要创建纠删码池,请执行以下命令:8 j  _2 |& f" x" r) O

, ?, C6 p$ [% M4 n% d" q. U% ^12 e9 x, r1 k/ n5 h  F- z3 [6 u
root # ceph osd pool create pool_name pg_num pgp_num erasure erasure_code_profile crush_ruleset_name expected_num_objects
- n$ b/ e6 s: v  j! K/ M6 O3 G; m
5 |, T1 o9 p  o+ M& [' J4 C/ }pool_name& n  m3 a+ m9 Q& T# ?8 h) u
存储池的名称,必须唯一。必须指定此选项。' E/ S. A- m+ S4 j5 r
pg_num
* |: a' n8 l+ r# ^7 f! \8 {4 G( |存储池的归置组总数。必须指定此选项。默认值是 8。+ {* R# [, ~) D, Q/ G5 _' B# U& }
pgp_num( F' z/ f& M+ g! u! [
用于归置数据的归置组总数。此数量应该与归置组总数相等,归置组拆分情况除外。必须指定此选项。默认值是 8。
2 F8 D# m. E) s% }& M/ Mpgp_type, P( D$ q8 {; G$ w* w  ~( R7 `3 ~
存储池类型,可以是 replicated(用于保留对象的多个副本,以便从失败的 OSD 恢复)或 erasure(用于获得某种通用 RAID5 功能)。副本池需要的原始存储较多,但可实现所有 Ceph 操作。纠删码池需要的原始存储较少,但只实现一部分可用的操作。默认值是“replicated”。  R; B7 `, z: f
crush_ruleset_name
3 \& i7 x2 Q4 g8 a3 ^1 l7 \9 R- A此存储池的 crush 规则组的名称。如果所指定的规则组不存在,则创建副本池的操作将会失败,并显示 -ENOENT。但副本池将使用指定的名称创建新的纠删规则组。对于纠删码池,默认值是“erasure-code”。对于副本池,将选取 Ceph 配置变量 osd_osd_pool_default_crush_replicated_ruleset。
) f! o) F! E& t2 [3 s3 werasure_code_profile=profile
' Z" k1 r7 r, Z/ `仅适用于纠删码池。使用纠删码配置。该配置必须是 osd erasure-code-profile set 所定义的现有配置。
) v9 [7 ^0 O9 Y3 ?7 Jexpected_num_objects
" F8 U# N  z3 H' c0 K此存储池的预期对象数。如果设置此值,PG 文件夹拆分发生于存储池创建时。这可避免因运行时文件夹拆分导致的延迟影响。
0 d  n6 U0 @% L( ]6 w+ K$ ~9 i设置存储池配额% u- e8 f6 q) c. I$ v# G3 n6 d
您可以设置存储池配额,限定每个存储池的最大字节数和/或最大对象数。4 A2 }- m& T  P
- M/ I$ M! b7 L$ `0 D
1
& [* K3 ~; h# j root # ceph osd pool set-quota pool-name max_objects obj-count max_bytes bytes3 ^1 [+ T$ G+ \" |

1 o& T9 ^3 F4 M* `& C8 i删除存储池
+ N8 x( `2 H8 ]存储池中可能包含重要数据。删除存储池会导致存储池中的所有数据消失,且无法恢复。) p+ n7 N3 M: _1 ], P
不小心删除存储池十分危险,因此 Ceph 实施了两个机制来防止删除存储池。要删除存储池,必须先禁用这两个机制。
1 q' y5 @  R8 p0 }' z5 h% {第一个机制是 NODELETE 标志。每个存储池都有这个标志,其默认值是“false”。要确定某个存储池的此标志值,请运行以下命令:, ?' [8 L: F0 p8 S6 p5 K# t
/ L' y( R1 b* G2 m' m- e- X
1' Z0 i# P' B3 c! a' B) {$ i8 D
root # ceph osd pool get pool_name nodelete% G$ z6 z3 d$ ?# i* |

, u0 g* O8 s) }. z" b# r* ~# O如果命令输出 nodelete: true,则只有在使用以下命令更改该标志后,才能删除存储池:, i  E' N: b1 L+ n# d4 T

* o8 p$ |8 [' [2 b6 b1
; C8 B$ z. q& } ceph osd pool set pool_name nodelete false
* g# m& U0 K% U9 q4 [8 w2 f2 w! M; F+ R2 ^9 a, D; l
第二个机制是集群范围的配置参数 mon allow pool delete,其默认值为“false”。这表示默认不能删除存储池。
4 M6 T7 q. b* y; n$ H  e若要规避此安全设置删除存储池,可以临时将 mon allow pool delete 设置为“true”,删除存储池,然后将该参数恢复为“false”:
) u4 i  j: d) p$ w' t3 W. @% r6 e
2 d( Q; W4 m% n' W# a* X( h: z1
: Q" l: Q; `5 C# K( e5 @2- O8 s$ V3 L5 v! f" M
3  }. J: P  D; Y4 f2 d& Z% v
4
6 G" k% v9 t' \# v53 X) N" u$ }& [- T$ P9 {0 h
root # ceph tell mon.* injectargs --mon-allow-pool-delete=true
% F3 A$ m- b  V" D( Troot # ceph osd pool delete pool_name pool_name --yes-i-really-really-mean-it
( S# |! A8 M2 h1 ^( Q2 Zroot # ceph tell mon.* injectargs --mon-allow-pool-delete=false1 R/ S5 f7 k" z; T2 k# K) q: i

6 Z% x6 d6 o2 ninjectargs 命令会显示以下讯息:2 L6 P4 S9 W+ G$ w+ R4 E4 X% L

) f5 y0 G' g1 R8 d- a8 T, M" P( }11 i4 n/ ]0 s8 o9 D# n5 |
injectargs:mon_allow_pool_delete = 'true' (not observed, change may require restart)3 ^$ r2 X; \  l# ^2 q, @; I

6 g8 |  y, C$ F& z3 W. {$ ?% d重命名存储池
' G, p& E. l$ b/ C要重命名存储池,请执行以下命令:4 c- p- P$ j% ^/ P" ~
& Q0 |: M) r; m& E
1$ W  R% P& l1 H" n1 {
root # ceph osd pool rename current-pool-name new-pool-name
% K5 ?! d+ }9 |. b* t: S2 l  x" Y$ a
如果重命名了存储池,且为经过身份验证的用户使用了按存储池功能,则必须用新的存储池名称更新用户的功能。3 y& F, c. L) H
显示存储池统计数字
* N2 H9 v  w" O8 f  b要显示存储池的用量统计数字,请执行以下命令:9 z7 F5 n/ Z) w4 ~9 v% [/ A

# B1 H. s: ^0 t  a! H& @# D* [2 c root # rados df1 X. t/ F( H" z0 i/ T" F# B
pool name  category  KB  objects   lones  degraded  unfound  rd  rd KB  wr  wr KB/ @+ b7 v* W3 r
cold-storage    -   228   1         0      0          0       0   0      1   228
$ d0 \* v* q/ Zdata            -    1    4         0      0          0       0   0      4    4. i1 |; i: Z1 k- L( C+ C
hot-storage     -    1    2         0      0          0       15  10     5   231/ z3 u" U) Y( [
metadata        -    0    0         0      0          0       0   0      0    0+ x# T: A+ t+ U8 A! r( S% _
pool1           -    0    0         0      0          0       0   0      0    0
( [5 P  x& S1 H, k* r6 Arbd             -    0    0         0      0          0       0   0      0    09 X8 p* m$ M7 F. Q3 g) v$ `6 {
total used          266268          7! G* {( V8 J% m6 M# r. u$ R; P7 z& Q
total avail       27966296
3 i7 E1 K! K% W% V5 ~total space       282325648 f1 B. G: b7 R. z

* ^2 A# O  f: J, P2 H设置存储池的值' G3 R- Y8 Q! J) O
要设置存储池的值,请执行以下命令:
$ l: ]6 ]1 d& f& ]3 N2 {/ D8 X. k. d# m; p
1% U5 Y- v! [. t3 v5 R! M
root # ceph osd pool set pool-name key value
0 t( T: j& U% C5 x( E2 l  R! U4 {) l- `! d' a( O$ W1 E0 X
; v, B$ B! x% u& E
8 i5 E1 x! X' ?0 L" _2 j# u
size) S* f8 L4 Z$ F- U: \3 }2 B
设置存储池中对象的副本数。6 N6 i5 w" S) i  b( a
min_size/ I' \# v/ t! p# X: C
设置 I/O 所需的最小副本数。
5 N' m- S& K: l1 o8 k+ @, P: I) ucrash_replay_interval9 |2 @. b+ V1 \- J; J
允许客户端重放已确认但未提交的请求的秒数。
6 n9 _  B+ L0 j8 z! a, s  Kpg_num
' J9 t: h( [- ^存储池的归置组数。! V9 t  E# D- ~0 f* U( I
pgp_num
) G* S' g% K. M计算数据归置时要使用的归置组的有效数量。8 ]+ t2 p& ^# ^; `
crush_ruleset+ W, r3 s9 ]* \$ |! A
用于在集群中映射对象归置的规则组。$ Q. N$ @5 Y! J# `& U8 P
hashpspool) B0 a7 C& G$ k; N* \5 y& x) l  [
为给定存储池设置 (1) 或取消设置 (0) HASHPSPOOL 标志。启用此标志会更改算法,以采用更佳的方式将 PG 分配到 OSD 之间。对之前 HASHPSPOOL 标志设为 0 的存储池启用此标志后,集群会开始回填,以使所有 PG 都可再次正确归置。请注意,这可能会在集群上产生相当高的 I/O 负载,因此对高负载生产集群必须进行妥善规划。
' L/ b) q& k* T. ]2 c8 e4 vnodelete) j. ~. C" g/ V$ e( ?
防止删除存储池。
% Z7 m- O# a1 S; M7 D6 u- {- wnopgchange
4 X0 s) p0 p. B! ?. b% [# P3 u防止更改存储池的 pg_num 和 pgp_num。
! O& y* ~. ?) l1 nnosizechange
) ^# w* G3 Z0 l+ |防止更改存储池的大小。, c/ L+ M$ J: K/ H! B
write_fadvise_dontneed# d% f# W. _, T2 |- t  V
对给定存储池设置/取消设置 WRITE_FADVISE_DONTNEED 标志。* b1 ?' P3 b" y
noscrub、nodeep-scrub
3 N) V0 P, P* u禁用(深层)整理 (scrub) 特定存储池的数据以解决临时高 I/O 负载问题。$ g$ @- H' E+ d) g- o  U) c% O
hit_set_type
( |1 B- H) g6 g6 s对快速缓存池启用命中集跟踪。请参见布隆过滤器以了解更多信息。此选项可用的值如下:bloom、explicit_hash、explicit_object。默认值是 bloom,其他值仅用于测试。  z4 N& _* K3 ~0 }
hit_set_count) E& Y- R8 @: ?2 a9 i/ H
要为快速缓存池存储的命中集数。该数值越高,ceph-osd 守护进程耗用的 RAM 越多。默认值是 0。4 x' x) T( d7 j
hit_set_period# X. U9 P1 w' j- |# x
快速缓存池的命中集期间的时长(以秒为单位)。该数值越高,ceph-osd 守护进程耗用的 RAM 越多。
* b% P7 r% j( P: ^* T4 Ahit_set_fpp, n. k2 F  S# I% M
布隆命中集类型的误报率。请参见布隆过滤器以了解更多信息。有效范围是 0.0 - 1.0,默认值是 0.05  O' S$ p1 Z6 u
use_gmt_hitset
% i: R+ {4 T6 T1 p$ A  |, ~为快速缓存分层创建命中集时,强制 OSD 使用 GMT(格林威治标准时间)时戳。这可确保在不同时区中的节点返回相同的结果。默认值是 1。不应该更改此值。) |; z# s5 z: \6 d8 \# H
cache_target_dirty_ratio! \: M  ?& c8 s$ W( g
在快速缓存分层代理将已修改(脏)对象清理到后备存储池之前,包含此类对象的快速缓存池百分比。默认值是 .4
5 a9 v5 }4 m6 H: U6 [7 x6 |cache_target_dirty_high_ratio
' a7 H$ l- T( v  h* E在快速缓存分层代理将已修改(脏)对象清理到速度更快的后备存储池之前,包含此类对象的快速缓存池百分比。默认值是 .6。! |/ d- `5 ]- Z# F8 U
cache_target_full_ratio
  \$ T4 W: d2 [3 z; m1 o  B2 F在快速缓存分层代理将未修改(干净)对象从快速缓存池逐出之前,包含此类对象的快速缓存池百分比。默认值是 .8
( d6 Q. N; E: C# }! b- w  {# E# ~target_max_bytes
9 L, n, K9 J* X触发 max_bytes 阈值后,Ceph 将会开始清理或逐出对象。
. ]  t! Z( f0 k3 Dtarget_max_objects* W' k0 ~! u( R
触发 max_objects 阈值时,Ceph 将开始清理或逐出对象。! `$ k4 Q, C8 O+ D$ n3 D
hit_set_grade_decay_rate
) \, q- ]' I3 _' I' z. [- e两次连续的 hit_set 之间的温度降低率。默认值是 20。
) _& H% @0 }3 B9 L2 f  j5 i* Ohit_set_search_last_n
1 Z6 R% D, Z% [4 p8 m  b% Y* L计算温度时在 hit_set 中对出现的项最多计 N 次。默认值是 1。  H5 Q+ Q" m  B7 P# T
cache_min_flush_age- y1 _0 i: @2 s" ~3 u, L3 |
在快速缓存分层代理将对象从快速缓存池清理到存储池之前的时间(秒)。0 E& Z- k8 \6 D( U, l; f
cache_min_evict_age
% O  S- t% d; g8 R在快速缓存分层代理将对象从快速缓存池中逐出之前的时间(秒)。( `( U% ]6 l% D6 k  t2 y
fast_read* t6 q) m  ]1 Z" d! U9 a7 O, q% r
如果对纠删码池启用此标志,则读取请求会向所有分片发出子读取命令,并一直等到接收到足够解码的分片,才会为客户端提供服务。对于 jerasure 和 isa 纠删插件,前 K 个副本返回时,就会使用从这些副本解码的数据立即处理客户端的请求。这有助于获得一些资源以提高性能。目前,此标志仅支持用于纠删码池。默认值是 0。
% L, e' I# z6 y0 fscrub_min_interval1 t6 h* L2 B3 l, y) H! Q2 R
集群负载低时整理 (scrub) 存储池的最小间隔(秒)。默认值 0 表示使用来自 Ceph 配置文件的 osd_scrub_min_interval 值。$ m) ?& ^- ?3 y. g8 |3 x
scrub_max_interval
2 ]0 n% R# ]! H) U- |  D不论集群负载如何都整理 (scrub) 存储池的最大间隔(秒)。默认值 0 表示使用来自 Ceph 配置文件的 osd_scrub_max_interval 值。6 }7 |! H) w" z
deep_scrub_interval. R7 S9 s2 V3 m+ ?- h. N4 ]
深层整理 (scrub) 存储池的间隔(秒)。默认值 0 表示使用来自 Ceph 配置文件的 osd_deep_scrub 值。5 ]- `# H% m: R9 D/ x6 J' T
& e" S  Y0 j; i' s' a% _5 C
获取存储池的值4 w, o$ e' ?, a$ H: _: m# k
要获取存储池中的值,请执行以下命令:
2 S9 ]/ [' [" Z. {& T) n3 U6 _3 f2 c" s
18 _7 P; Q6 E7 l/ C- C7 W. f8 ~6 d
root # ceph osd pool get pool-name key4 F; U8 ?* \& s
1 R4 S! i. K2 A% }0 a8 Z
& S( m) M. e. s
pg_num- I$ W' a- V) C! _' K5 [
存储池的归置组数。) o2 E. h. u5 E7 c7 X$ \$ S; [
pgp_num5 b$ D  I2 u6 J: K
计算数据归置时要使用的归置组的有效数量。有效范围小于或等于 pg_num。7 W. E# `  N( w8 l  [- I! Z' w9 H" o& x5 W
( L8 t3 L, l, ?2 Z: u5 N+ S
设置对象副本数
. C5 W% g5 Z; C, L7 x; V) J要设置副本存储池上的对象副本数,请执行以下命令:
/ h+ z! t" A" S" i/ J' v# y* \2 w  A
$ d6 Z' a+ z6 ?/ u/ Z% W# _ 8 {1 _$ {# g& E+ E; Y. F
root # ceph osd pool set poolname size num-replicas- o# u; n$ [3 y2 G! g
num-replicas 包括对象本身。例如,如果您想用对象和对象的两个副本组成对象的三个实例,请指定 3。& r; Z, K  n8 \- H$ e& C4 J9 b- B8 p6 T
% E! Z* v6 V6 H# [: M- F
获取对象副本数* ~9 R; o& C) F; ?$ _& {
要获取对象副本数,请执行以下命令:/ {, w0 D: m1 t' ^

1 s) S9 e: ^, r" A4 W; a1
' X( s6 k5 K' v- M7 S3 M root # ceph osd dump | grep 'replicated size'
& \+ t" B* c; G
7 e2 V' V% X' j7 s0 n7.2.11 增加归置组数
1 K' V7 l7 F) C, {创建新存储池时,需指定存储池的归置组数(请参见第 7.2.2 节 “创建存储池”)。将更多 OSD 添加至集群后,出于性能和数据持久性原因,通常还需要增加归置组数。对于每个归置组,OSD 和监视器节点始终都需要用到内存、网络和 CPU,在恢复期间需求量甚至更大。因此,最大限度地减少归置组数可节省相当大的资源量。
; ]+ @6 ~/ K7 Z/ p  n8 q3 e! w/ \! z0 {  p. T
13 y+ S- w! d+ b: ]7 l2 C0 z
root # ceph osd pool set rbd pg_num 40966 P! \7 D- o5 ^) @

$ ~% J: z) S! ?9 Q9 J添加存储池
  J  v) c5 t+ n在您首次部署集群之后,Ceph 会使用默认存储池来存储数据。之后,您可以使用以下命令创建新的存储池:
$ c7 h  u: B8 Z: d- e$ r0 Y9 Y3 `# \4 M' |
1; ]8 K+ v8 {6 c! O# R+ w
root # ceph osd pool create1 l3 Y  d  H8 E6 r
. M! m' j6 B0 ?9 A3 j/ A5 w
存储池迁移
. t  f! b; k. r: g0 }迁移存储池的方法有多种。建议使用快速缓存层,因为该方法是透明的,能够减少集群停机时间并避免复制所有存储池的数据。
9 a, X6 g+ W  `- z0 L2 t7.3.1 使用快速缓存层迁移
* w5 R" r. B8 W8 o+ G3 v该方法的原理十分简单,只需将需要迁移的存储池按相反的顺序加入快速缓存层中即可。有关快速缓存层的详细信息,请参见第 10 章 “快速缓存分层”。例如,要将名为“testpool”的副本池迁移到纠删码池,请执行以下步骤:  K: J4 ]% s5 ~0 l
创建一个名为“newpool”的新纠删码池:
! a; m" X/ }) `4 u& u( B* {, f
' o1 [2 M2 ^0 V5 ?1
$ a! t  l% |8 d' R root@localhost > ceph osd pool create newpool 4096 4096 erasure default
" C. M  w0 B2 d" k& [( [
9 U6 H3 J: a, d& g3 [您现在有两个池,即装满数据的原始副本池“testpool”和新的空纠删码池“newpool”:% D- K; U- K/ y) x6 [0 M
设置快速缓存层,并将副本池“testpool”配置为快速缓存池:
4 ]4 _# E: l( W. d
+ O+ j. n$ E0 s$ z root@localhost > ceph osd tier add newpool testpool --force-nonempty% }0 f. P- r: s, ~& z
root@localhost > ceph osd cache-mode testpool forward% h% `& h* J0 C& `7 W" K
4 @4 W8 |* D, D
强制快速缓存池将所有对象移到新池中:
- x3 N; @. G( D" O& _- h7 i# m3 J0 l0 N' t0 ^
1( l& k3 p6 m- ~% V  b% g
root@localhost> rados -p testpool cache-flush-evict-all
- F( W3 u7 _: A; t! d& g9 }5 ]0 f, c9 Z
数据清理! d. `' I4 V4 }9 L5 ]" X8 ~
将所有客户端切换到新池。您需要指定一个覆盖层,以便在旧池中搜索对象,直到所有数据都已清理到新的纠删码池。
. Q. w2 Q3 O1 G2 d( T& B0 o8 m# q3 s( i7 d9 K. r
1# o1 o' d& }4 i  u2 V
root@localhost > ceph osd tier set-overlay newpool testpool
# G6 R& \; Q6 i- f5 Z; E6 G. K% o
  G8 L" ?9 y7 {8 e3 b% N6 v有了覆盖层,所有操作都会转到旧的副本池“testpool”:" A/ d+ v# P# _/ \! x$ O1 }# k
设置覆盖层
9 T; T+ K! s. X" }; F. Z现在,您可以将所有客户端都切换为访问新池中的对象。所有数据都迁移到纠删码池“newpool”后,删除覆盖层和旧超速缓冲池“testpool”:
. H/ N- r( Y0 W5 d9 R4 C
7 C$ ]6 ^  k- _/ l1
2 \* W: C: p, D! g& D* j7 @2
4 g0 k7 l9 y" N root@localhost > ceph osd tier remove-overlay newpool
* f! v) }+ O, Y1 p" n; oroot@localhost > ceph osd tier remove newpool testpool
7 h# [0 s1 Q9 u% x& _$ i5 C6 P
( F9 \8 m! I/ v' V( a2 K% j存储池快照
( m' Q2 z- |6 v+ ?( B. ~存储池快照是整个 Ceph 存储池的状态快照。通过存储池快照,可以保留存储池状态的历史。创建存储池快照可能需要大量存储空间,具体取决于存储池的大小。在创建存储池快照之前,始终需要检查相关存储是否有足够的磁盘空间。7 K; n7 J0 D  d1 n% S5 E
创建存储池快照
; K8 W" X! y' Z( G" H* `! V/ v/ h要创建存储池快照,请执行以下命令:
- F" h4 Q& n- Z- P4 A0 Q: R) i% \$ {4 \4 r
root # ceph osd pool mksnap pool-name snap-name
. D. t- w( O. {例如:7 p% a* S7 ^! F# e( o. z
root # ceph osd pool mksnap pool1 snapshot1  v7 g0 t5 r3 a6 j. F
created pool pool1 snap snapshot1; P% q7 V/ c# V/ f1 \! v
8 K3 S4 Q* ?8 [# W4 t
删除存储池快照
0 w) r7 K4 W! B要删除存储池快照,请执行以下命令:- X1 u- L% r4 I7 y. f

  d* Q* x$ d/ m1
2 o# j4 O% b; f) j% z3 u6 @2 ]- G root # ceph osd pool rmsnap pool-name snap-name# Q6 f6 U  ~, C/ t
( k, |! h! Z; w
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 05:31 , Processed in 0.019996 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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