linux存储技术学习资料

本文详细探讨了Linux内核的I/O栈,包括块设备层、VFS、文件系统写I/O流程,以及各种调试和性能分析工具如dd、FIO、blktrace。还涉及了预读机制、磁盘加密、SSD优化和NVME、RAID等存储技术。此外,文章提到了如何排查存储问题和使用专用工具进行性能调优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考

https://www.cnblogs.com/pengdonglin137/p/16525428.html

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

dumpe2fs

blockdev

smartctl

NVME CLI

sg3_utils

  • 官网:http://sg.danny.cz/sg/sg3_utils.html

Storcli64

MegaRAID

内核

文件系统

EXT2/3/4

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

direct io

SCSI

iscsi

NVME

RAID

书籍推荐

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

问题排查

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摩斯电码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值