如何在 Linux 中跟踪对磁盘扇区的访问?

如何在 Linux 中跟踪对磁盘扇区的访问?

我的 Linux 主机遇到问题,文件系统超级块被错误写入。
我尝试了很多方法来找出哪个进程写入了该超级块(磁盘扇区),但我未能找到根本原因。
所以,我想知道是否有一种方法可以跟踪对磁盘扇区的写入?

答案1

auditd跟踪正确的系统调用 ( sync,fsync, fdatasync) 可能值得尝试。此外,IO 调试/proc/sys/vm/block_dump也有助于追踪这一点。

请小心使用这些选项,不要使用日志文件创建循环。调试磁盘写入磁盘文件将导致更多磁盘写入,从而导致调试信息写入磁盘文件。

答案2

从您极其简短的描述来看,听起来您可能有一个文件系统和一个原始数据库设备共享同一分区。

不用说你不能这样做。要么将分区交给数据库,要么使用文件系统提供数据库可以在其中写入文件的文件结构。

相关内容