存储学习

image

论文

Linux I/O栈

工具

调试节点

dd

FIO

ioprof

blktrace

iotrace

iostat

hdparm

  • 查看一个文件实际使用了哪些扇区
hdparm --fibmap xxx

dumpe2fs

用法(来自chatgpt)

dumpe2fs 是一个用于显示 ext2、ext3、ext4 文件系统信息的命令行工具。以下是 dumpe2fs 的用法:

dumpe2fs [选项] 设备文件名

其中,[选项] 可以是以下任意组合:

  • -h:显示帮助信息。
  • -V:显示版本信息。
  • -b:显示块位图的信息。
  • -i:显示 inode 位图的信息。
  • -I:显示 inode 表的信息。
  • -l:显示文件系统的块和 inode 的数量、大小、使用情况等信息。
  • -o:显示文件系统的挂载选项。
  • -p:显示文件系统的预读块数。
  • -r:显示文件系统的块组摘要信息。
  • -S:显示文件系统的超级块信息。
  • -x:显示文件系统的扩展信息。

设备文件名 是要显示信息的文件系统所在的设备文件名,例如 /dev/sda1

例如,要显示 /dev/sda1 文件系统的块和 inode 的数量、大小、使用情况等信息,可以使用以下命令:

dumpe2fs -l /dev/sda1

debugfs

debugfs 是一个用于调试文件系统的工具,可以用于查看和修改文件系统的内部状态。以下是一些常见的 debugfs 命令:

  1. 打开文件系统:debugfs /dev/sda1 (假设 /dev/sda1 是要调试的文件系统)

  2. 查看文件系统的超级块信息:stat <文件系统根目录的inode号>

  3. 查看文件系统的块位图:bmap <文件名>

  4. 查看文件系统的inode位图:imap <文件名>

  5. 查看文件系统的inode信息:inode <inode号>

  6. 查看文件系统的目录项信息:ls <目录名>

  7. 查看文件系统的文件内容:cat <文件名>

  8. 修改文件系统的inode信息:write <inode号> <偏移量> <数据>

  9. 修改文件系统的目录项信息:set <目录项名> <inode号>

  10. 退出 debugfsquit

请注意,使用 debugfs 可能会对文件系统造成不可逆的损坏,因此在使用之前请务必备份数据。

fsck

tune2fs

blockdev

smartctl

NVME CLI

sg3_utils

Storcli64

MegaRAID

内核

文件系统

EXT2/3/4

EXT4

EXT2

F2FS

FUSE

Overlay

脏页回写

预读

模拟设备

block cgroup

throttle

io latency

io prio

io cost

Discard

blk-mq

IO调度器

Integrity

Encryption

Zoned Block Device

Device Mapper

LVM

Multipath

IO Uring

Bcache

Flashcache

DirectIO

SCSI

iscsi

NVME

RAID

书籍推荐

  • 《存储技术原理分析 基于Linux 2.6内核源代码》
  • 《Linux内核探秘:深入解析文件系统和设备驱动的架构与设计》
  • 《深入浅出ssd-固态存储核心技术原理与实战》
  • 《大话存储》

问题排查

posted @ 2022-07-27 16:44  摩斯电码  阅读(631)  评论(0编辑  收藏  举报