用正确的工具,做正确的事情
blktrace可以跟踪记录系统分区的IO活动并保存到文件中,主要通过kernel的tracepoint来实现的,fio可以实现对blktrace记录的IO信息文件进行回放。下面记录IO录制的命令以及IO回放的命令。
blktrace依赖于kernel的tracepoint,因此使用blktrace之前需要挂载debugfs文件系统:
mount –t debugfs debugfs /sys/kernel/debug
之后使用blktrace命令来录制分区的IO活动信息,blktrace会自动保存信息到文件,一般一个cpu线程对应一个文件,
blktrace /dev/sdb1
将录制的IO活动信息转化成二进制文件,以及fio可以进行回放:
blkparse sdb1 -d dd.bin >/dev/null
fio回放io活动的命令:
fio --direct=1 --read_iolog="dd.bin" --replay_redirect=/dev/sdc1 --name=replay --replay_no_stall=1 --numjobs=1 --ioengine=libaio --iodepth=32
玩得开心!!!