作为研究项目的一部分,我开发了一个基于fuse的文件系统,现在必须研究硬盘驱动器接收到的实际读/写请求。为了做到这一点,我正在考虑在linux中创建一个虚拟硬盘驱动器的选项,它将拦截由文件系统生成的请求并记录它们。
互联网上是否有任何可用的资源可以帮助我编写模拟器和/或开发编写模拟器所需的技能?我目前正在阅读Linux设备驱动程序3一书,以了解Linux如何管理块设备。
任何帮助都是感激的。
谢谢
有一种方法可以将映像文件挂载为分区:
mount -t <fs type> -o loop file.img /mnt
用您的文件系统类型file代替。Img应该是所需分区的映像。
还有另一种方法,您可以安装virtualbox,在虚拟机上安装linux,添加一个新的虚拟硬盘驱动器,并从虚拟机中,用所需的文件系统格式化虚拟硬盘驱动器并使用它。这种方法的一个优点是它提供了一个安全的沙箱,这样您就不会在试验时意外地损坏现有的系统。
看一下SCSI调试驱动程序。引用自网站
scsi_debug适配器驱动程序模拟可变数量的SCSI磁盘,每个磁盘共享驱动程序分配的公共RAM数量,作为(易失性)存储。
如果是我,我会启用该驱动程序中已经存在的调试日志记录,然后对其进行增强以满足您的需求。