我正在尝试跟踪 Linux 虚拟机上的一些 I/O。捕获为我提供了 LBA,我需要将其映射到文件名。我正在尝试使用 debugfs 来实现这一点。
例如,我想查看 LBA=41882816 属于哪个文件。这是我从 fdisk 获得的信息:
[vagrant@localhost ~]$ sudo fdisk -lu /dev/sda
Disk /dev/sda: 39.7 GB, 39728447488 bytes
255 heads, 63 sectors/track, 4830 cylinders, total 77594624 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a524d
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 1026048 77594623 38284288 8e Linux LVM
基于此,我认为它位于 /dev/sda2 中。
然后我运行 debugfs 进行查找,但它不会打开 /dev/sda2:
sudo debugfs
debugfs 1.43-WIP (20-Jun-2013)
debugfs: open /dev/sda2
/dev/sda2: Bad magic number in super-block while opening filesystem
我在互联网上的某个地方找到了在此之前运行同步的建议 - 但它没有任何区别。
我究竟做错了什么?
谢谢!
最好的问候,尼古拉