定位读写的扇区的编号
背景
最近有碰到扇区的错误,引起osd的无法启动,经过处理,系统可以恢复了,但是扇区的错误为什么导致了osd down,怎么去模拟这个删除的问题,就需要做一些定位的工作了
我们需要模拟扇区的问题,就需要去精确的模拟到损坏的扇区,也就是比如我需要模拟某个文件的扇区损坏,那么就需要定位到这个文件属于哪些扇区
方法
定位扇区
通过blktrace进行模拟,这个操作是去读取文件就行,”C”是完成的请求,下面是过滤的,避免太多其它信息干扰
对磁盘的文件进行读取的请求
1 |
|
输出类似下面的信息
1 |
|
模拟坏扇区
后面接的就是扇区的编号
1 |
|
系统应该会报
1 |
|
不同版本的内核有不同的输出,3.10是blk_update_request,4.14是print_seq_error
1 |
|
完整信息
然后观察现象即可
恢复扇区
1 |
|
都测试完成后,进行环境的恢复,避免后面触发其它的问题
总结
本篇记录了模拟破坏指定扇区的方法,触发一些问题,并寻找解决方法
定位读写的扇区的编号
https://zphj1987.com/2024/08/19/定位读写的扇区的编号/