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

ceph 测试磁盘 recovery的速度控制

[复制链接]

0

主题

0

回帖

9

积分

管理员

积分
9
QQ
发表于 2022-8-3 10:12:09 | 显示全部楼层 |阅读模式
本次测试在无读写情况下进程的
, U6 o) [; D- b几个需要用到脚本和命令* G) G. D, N" C4 Y
磁盘本身的大概速度
6 j3 t3 {, E- \( W' |  p' x0 Q; X1 l: B
7 v+ I- N& }* I
[root@ceph-2 ~]# ceph tell osd.2 bench( Y* n8 i% r7 u* b

9 d1 t/ k9 T( X( b1 S; D3 Y{; V" B9 c- J, a, c/ C8 F% w# {7 f
    "bytes_written": 1073741824,& Q' {) _" N3 H
    "blocksize": 4194304,; R9 |4 v6 V! J. }4 c; c0 S
    "bytes_per_sec": 33975481
  j2 L! u' E  z: Z% M, o/ O5 X) M}
: i" L* q- z" R  N# Q- w% \

得到的结果为32MB/s
0 |% W, o2 L% l) ?9 k7 O获取osd上pg迁移的对象的脚本

OSD的日志需要开启到10,这里采取动态开启的方式

[root@ceph-2 ~]#
7 z" n+ X, ?2 G[root@ceph-2 ~]# ceph daemon osd.2 config set debug_osd 107 o  y, v+ j! Z7 Z
{
/ }# \+ J& C# N5 e4 o    "success": ""3 y4 O8 ]5 ]" ?% i5 Q3 S% s
}
% u8 q! a& M* u, R- q% \/ t1 b0 }) w
9 h0 f4 [. }3 x8 H& H  K+ {) ~日志解析的脚本
2 q- B& F) f- `1 z$ v3 M! E, M
$ [# ^' g8 c1 e5 t7 l[root@ceph-2 ~]# cat /var/log/ceph/ceph-osd.2.log |awk '$7=="finish_recovery_op" && $8=="pg[0.15("{sub(/.*/,substr($2,1,8),$2);print $0}' |awk '{a[$1,"",$2]++}END{for (j in a )print j,a[j]|"sort -k 1"}'
* G- a  i4 w- `% a9 o/ K, M2 |6 s[root@ceph-2 ~]# cat /var/log/ceph/ceph-osd.2.log |awk '$7=="finish_recovery_op" && $8=="pg[0.15("{sub(/.*/,substr($2,1,8),$2);print $0}' |awk '{a[$1,"",$2]++}END{for (j in a )print j,a[j]|"sort -k 1"}'  ]# k! b) A# [7 S: p
[root@ceph-2 ~]# cat /var/log/ceph/ceph-osd.2.log |awk '$7=="finish_recovery_op" && $8=="pg[0.15("{sub(/.*/,substr($2,1,8),$2);print $0}' |awk '{a[$1,"",$2]++}END{for (j in a )print j,a[j]|"sort -k 1"}'
7 ?1 M# `( L6 {4 w6 p7 ~[root@ceph-2 ~]# cat /var/log/ceph/ceph-osd.2.log |awk '$7=="finish_recovery_op" && $8=="pg[0.15("{sub(/.*/,substr($2,1,8),$2);print $0}' |awk '{a[$1,"",$2]++}END{for (j in a )print j,a[j]|"sort -k 1"}') o" W8 h3 J" A- p/ i8 f) t. w/ _

1 I4 K2 F) N2 Q  e( g* k  L+ k( T) e3 C- ]6 `- s1 t1 q7 Y9 N1 H+ b

6 E+ J6 K+ d: Y$ H6 l[root@ceph-2 ~]# cat /var/log/ceph/ceph-osd.2.log |awk '$7=="finish_recovery_op" && $8=="pg[0.15("{sub(/.*/,substr($2,1,8),$2);print $0}' |awk '{a[$1,"",$2]++}END{for (j in a )print j,a[j]|"sort -k 1"}'- O( o* R0 p: k
[root@ceph-2 ~]# ceph pg dump |grep recovering0 ~5 g. }" q' e. g
dumped all! c7 A5 f+ O! F) @
获取当前的正在迁移的PG( Z; ?/ r- k9 z" D! @2 M( U7 I0 |
[root@ceph-2 ~]#  ceph pg dump|grep recovering|awk '{print $1,$2,$4,$10,$15,$16,$17,$18}'
0 l$ h: t5 x# X$ I$ c  b1 o-bash: a: command not found
  W" S$ L0 V8 i+ n. I% O# i9 udumped all
2 J5 k1 j- E9 h& u# H1 T[root@ceph-2 ~]# ceph pg dump |grep recovering |awk '{print $1,$2,$4,$10,$15,$16,$17,$18}'% |. E& }; |6 O& O! ]5 b7 \
dumped all& H8 `  r8 n* T$ W* Q2 S% X( ~

% E7 C2 t8 y2 G6 J4 |: u1 u过滤下输出结果
9 X1 S7 T% Y' `0 r+ K9 ^& i4 i  k+ r8 q% O5 F8 e

- v2 s5 `5 Z" m" a% w5 Q* G% U% l# x' `. p# M, p7 l' p/ O
动态监控PG的迁移
0 b! j$ o7 ]" u2 [' o! n[root@ceph-2 ~]# watch -n 1 -d "ceph pg dump|grep recovering |awk '{print ,}'"
- K# x9 Q; Y' Y: K" R1 e[root@ceph-2 ~]# watch -n 1 -d "ceph pg dump|grep recovering |awk '{print }'"
; a4 L- g4 u: \* x) q[root@ceph-2 ~]# % B4 _  v8 T5 x1 y$ x6 D
/ T! q+ S4 M8 _  j: S

# Q, i' d+ b9 I3 c0 j8 ^9 p

重启OSD进程

systemctl restart ceph-osd.target

磁盘的读写速度

dstat -td -D /dev/sdb -o disk.csv

sdb为需要监控的盘
5 a7 Z  W: U- }, C测试的步骤与流程

整个测试需要保证每一次获取数据的过程都近似,这样才能最大程度减少环境对数据的影响

开始需要写入一些测试数据,这个可以用

rados -p rbd bench 3600 --no-cleanup

这个让每个PG上面大概有600-700个object,写入这个数据后就不再写入数据了

  a. Q" B: \3 S- I# d5 J8 @6 C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-11 22:58 , Processed in 0.033790 second(s), 25 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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