blktrace硬盘抓包工具
blktrace是一个可以显示block的io详细信息的工具,但他的输出信息太专业了,很难看懂,可以同通过blkiomon、blkparse等工具来查看。
blktrace是块层IO路径监控和分析工具,使用它可以深入了解IO通路,对监控,性能调优都有很大帮助。
1. 架构
blktrace分内核空间和用户空间两部分实现,内核空间里面主要是给块层IO路径上的关键点添加tracepoint,然后借助于relayfs系统特性将收集到的数据写到buffer去,再从用户空间去收集。
用户空间还实现了几个小工具,blkparse,btt,用来分析收集到的数据.
2. 安装
内核空间部分的代码已经集成到主线代码里面去了,可以看看内核代码 block/blktrace.c文件是不是存在,编译的时候把对应的这个trace选项选择上就可以了。
用户空间需要的工具,在ubuntu9.04上直接
sudo apt-get install blktrace就可以了。安装完成后在/usr/share/doc/blktrace里面有几个pdf文档写的很详细,仔细看看。
3. 实现
主要是看看内核部分里面的代码是怎么实现的
1). 大部分实现代码都在blktrace文件里面。利用tracepoint的特性,注册了一些trace关键点,可以看看Documentation/tracepoint.txt文件。
2). 交互机制利用了relayfs特性,看看Documentation/filesystems/relay.txt.
评论