存储学习

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 存储学习

论文

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-固态存储核心技术原理与实战》
  • 《大话存储》

问题排查

相关文章
|
6月前
|
存储 小程序 编译器
深度剖析数据在内存中的存储
深度剖析数据在内存中的存储
63 1
|
6月前
|
存储
C进阶:数据在内存中的存储(2)
C进阶:数据在内存中的存储(2)
|
存储 编译器 C语言
数据的存储--深度解剖数据在内存中的存储(上)
数据的存储--深度解剖数据在内存中的存储(上)
|
6月前
|
存储 编译器 C语言
C进阶:数据在内存中的存储(1)
C进阶:数据在内存中的存储(1)
|
6月前
|
存储
深度剖析数据在内存中的存储(超详细版){下}
深度剖析数据在内存中的存储(超详细版){下}
44 0
|
6月前
|
存储 C语言
深度剖析数据在内存中的存储(超详细版){上}
深度剖析数据在内存中的存储(超详细版)
41 0
|
存储 小程序 编译器
深度剖析数据在内存中的存储【超详解】
深度剖析数据在内存中的存储【超详解】
|
存储 小程序 编译器
C进阶:数据在内存中的存储
这样我们就彻底理解了浮点数在内存中的存储规则。还是开头说的,其实这部分内容真的很难考到,学习这些知识更像是一种修炼内功,让我们理解的更加透彻,拓展我们的知识面,如果遇到这样的现象能够去解释,关于素养的这种实际价值就靠自己体会了。好了,以上就是C进阶数据在内存中的存储内容。
C进阶:数据在内存中的存储
|
存储 编译器 程序员
数据的存储--深度解剖数据在内存中的存储(下)
数据的存储--深度解剖数据在内存中的存储(下)
|
存储 小程序 编译器
深度剖析数据在内存中的存储(上)
深度剖析数据在内存中的存储(上)
79 0