參考
https://www.cnblogs.com/pengdonglin137/p/16525428.html
Linux I/O棧
- Linux內(nèi)核的I/O棧大圖
- 知乎Linux I/O專欄1
- Linux 塊設(shè)備之Block Layer層架構(gòu)演變
- Linux VFS機(jī)制簡析(一)
- Linux VFS機(jī)制簡析(二)
- Linux Kernel文件系統(tǒng)寫I/O流程代碼分析(一)
- Linux Kernel文件系統(tǒng)寫I/O流程代碼分析(二)bdi_writeback
工具
- linux問題調(diào)查工具指南
- Linux 要如何優(yōu)化SSD(固態(tài)硬盤)?
- linux-磁盤io監(jiān)控相關(guān)工具整理
- Linux block devices: hints for debugging and new developments
調(diào)試節(jié)點(diǎn)
- Block layer statistics in /sys/block//stat
dd
- dd 工具使用; SSD 順序?qū)懶阅軠y試;
- 匯報dd的進(jìn)度
FIO
- github: https://github.com/axboe/fio
- HOWTO.rst
- https://fio.readthedocs.io/en/latest/index.html
- Linux下磁盤IO讀寫測試工具-FIO詳解
- hdparm和fio簡介
- linux 磁盤IO測試工具:fio (同時簡要介紹dd工具測試)
- Fio Output Explained
ioprof
- 分析IO的工具 ioprof,支持導(dǎo)出圖表
blktrace
- 倉庫:https://git.kernel.dk/cgit/blktrace/
- 靜態(tài)編譯的版本:blktrace_2.0.tar.gz
- blktrace分析IO 繪制圖表
- 利用blktrace分析磁盤I/O
- 利用blktrace分析IO性能
- io分析神器blktrace
- Deep in blktrace
- Linux IO性能分析blktrace/blk跟蹤器
- blktrace工具
- Debugging disk issues with blktrace, blkparse, btrace and btt in Linux environment
- ftrace interface for blktrace
iotrace
-
https://github.com/Open-CAS/standalone-linux-io-tracer
- Case Study
iostat
- 容易被誤讀的iostat
- I/O statistics fields
- 深入理解iostat
- 深入分析diskstats
- IOSTAT中關(guān)于%util,svctm存在的陷阱及解決辦法
- 瓶頸確認(rèn)之IO瓶頸確認(rèn)之第一篇
hdparm
- 查看一個文件實(shí)際使用了哪些扇區(qū)
hdparm --fibmap xxx
dumpe2fs
用法(來自chatgpt)
dumpe2fs
是一個用于顯示 ext2、ext3、ext4 文件系統(tǒng)信息的命令行工具。以下是 dumpe2fs
的用法:
dumpe2fs [選項(xiàng)] 設(shè)備文件名
其中,[選項(xiàng)]
可以是以下任意組合:
-
-h
:顯示幫助信息。 -
-V
:顯示版本信息。 -
-b
:顯示塊位圖的信息。 -
-i
:顯示 inode 位圖的信息。 -
-I
:顯示 inode 表的信息。 -
-l
:顯示文件系統(tǒng)的塊和 inode 的數(shù)量、大小、使用情況等信息。 -
-o
:顯示文件系統(tǒng)的掛載選項(xiàng)。 -
-p
:顯示文件系統(tǒng)的預(yù)讀塊數(shù)。 -
-r
:顯示文件系統(tǒng)的塊組摘要信息。 -
-S
:顯示文件系統(tǒng)的超級塊信息。 -
-x
:顯示文件系統(tǒng)的擴(kuò)展信息。
設(shè)備文件名
是要顯示信息的文件系統(tǒng)所在的設(shè)備文件名,例如 /dev/sda1
。
例如,要顯示 /dev/sda1
文件系統(tǒng)的塊和 inode 的數(shù)量、大小、使用情況等信息,可以使用以下命令:
dumpe2fs -l /dev/sda1
debugfs
debugfs
是一個用于調(diào)試文件系統(tǒng)的工具,可以用于查看和修改文件系統(tǒng)的內(nèi)部狀態(tài)。以下是一些常見的 debugfs
命令:
-
打開文件系統(tǒng):
debugfs /dev/sda1
(假設(shè)/dev/sda1
是要調(diào)試的文件系統(tǒng)) -
查看文件系統(tǒng)的超級塊信息:
stat <文件系統(tǒng)根目錄的inode號>
-
查看文件系統(tǒng)的塊位圖:
bmap <文件名>
-
查看文件系統(tǒng)的inode位圖:
imap <文件名>
-
查看文件系統(tǒng)的inode信息:
inode <inode號>
-
查看文件系統(tǒng)的目錄項(xiàng)信息:
ls <目錄名>
-
查看文件系統(tǒng)的文件內(nèi)容:
cat <文件名>
-
修改文件系統(tǒng)的inode信息:
write <inode號> <偏移量> <數(shù)據(jù)>
-
修改文件系統(tǒng)的目錄項(xiàng)信息:
set <目錄項(xiàng)名> <inode號>
-
退出
debugfs
:quit
文章來源:http://www.zghlxwxcb.cn/news/detail-455964.html
請注意,使用 debugfs
可能會對文件系統(tǒng)造成不可逆的損壞,因此在使用之前請務(wù)必備份數(shù)據(jù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-455964.html
fsck
tune2fs
- EXT4是否存在FS error
dumpe2fs
blockdev
- blockdev --setra預(yù)讀優(yōu)化和IO請求的大小
smartctl
- https://www.cnblogs.com/fiberhome/p/8275961.html
NVME CLI
- nvme-cli用戶工具
- https://blog.csdn.net/Z_Stand/article/details/111415236
- Nvme硬盤檢測步驟
sg3_utils
- 官網(wǎng):http://sg.danny.cz/sg/sg3_utils.html
Storcli64
- Storcli64 工具操作指南
- 不同型號陣列卡相關(guān)工具的使用簡介
MegaRAID
- MegaRAID管理工具操作手冊
- MegaRAID MegaRAID/3108問題
- sas2ircu、sas3ircu、MegaCli64、hpssacli 陣列卡工具使用指令
內(nèi)核
- 宋寶華:Linux文件讀寫(BIO)波瀾壯闊的一生
- 劉正元: Linux 通用塊層之IO合并
- block子系統(tǒng)內(nèi)核文檔
- IOwait 到底在wait什么
- BLOCK層代碼分析(0)存儲IO框架介紹
- BLOCK 層這么多參數(shù)都是什么意思?!
- Long Story of Block - 1 Data Unit
- Long Story of Block - segment
- linux block layer第一篇bio 子系統(tǒng)數(shù)據(jù)結(jié)構(gòu)及初始化
- linux block layer第二篇bio 的操作
- 存儲IO落盤原理及路徑分析
文件系統(tǒng)
EXT2/3/4
- EXT4文件系統(tǒng)的磁盤整體布局
F2FS
- F2FS源碼分析系列文章
FUSE
- 吳錦華/明鑫: 用戶態(tài)文件系統(tǒng)(FUSE)框架分析和實(shí)戰(zhàn)
Overlay
- 深入理解overlayfs(一):初識
- 深入理解overlayfs(二):使用與原理分析
臟頁回寫
- writeback bdi臟頁回寫原理linux內(nèi)核源碼解析
- VFS源碼分析-Page Cache Writeback臟頁回寫機(jī)制
- https://lwn.net/Kernel/Index/#Memory_management-Writeback
預(yù)讀
- 程序中如何禁用Linux文件預(yù)讀和緩存機(jī)制
模擬設(shè)備
- Null block device driver
- 基于內(nèi)存的磁盤驅(qū)動
block cgroup
- cgroup-blkio子系統(tǒng)分析
- cgroupv2 權(quán)威指南
- cgroup–blkio子系統(tǒng)測試-1(throttle測試)
- Linux Cgroup v1(中文翻譯)(4):Block IO Controller
- Cgroup blkio簡介和測試(使用fio測試)
- I/O bandwidth controllers
throttle
- 關(guān)于IO throttle
- Buffer IO的throttle問題
- Cgroup V2 and writeback support
- Block Throttle
- Block Throttle - Low Limit
- Resource management in Docker
io latency
- The block I/O latency controller
- The creation of the io.latency block I/O controller
- iolatency
io prio
- Block io priorities
- How disk IO priority is related with process priority?
- How to Manage the Priority of I/O Processes in Linux
io cost
- blk-iocost: iocost: improve donation, debt and excess handling
- blk-iocost權(quán)重限速
- IOCost: Block IO Control for Containers in Datacenters
Discard
- Long Story of Block - DISCARD
- SSD的TRIM原理及實(shí)踐
blk-mq
- linux內(nèi)核block層Multi queue多隊列核心點(diǎn)分析
- Multi-queue 架構(gòu)分析
- Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems
- Block multi-queue 架構(gòu)解析(一)數(shù)據(jù)結(jié)構(gòu)
- Block multi-queue 架構(gòu)解析(二)流程與機(jī)制
- blk-mq arch
- Multi-Queue Block IO Queueing Mechanism (blk-mq)
IO調(diào)度器
- BFQ (Budget Fair Queueing)
Integrity
- Data Integrity
-
Using Linux Block Integrity in Building and Testing Storage Systems
- Slide
- Youtube
- integritysetup
Encryption
- Inline Encryption
- Speeding Up Linux Disk Encryption
Zoned Block Device
- ZNS的前世今生
- 西數(shù) Zoned Storage 分區(qū)存儲
- ZNS : 解決傳統(tǒng)SSD問題的高性能存儲棧設(shè)計
- 用null_blk工具來實(shí)現(xiàn)模擬分區(qū)塊設(shè)備
- Zoned Storage
- Zoned Block Device Emulation
Device Mapper
- 內(nèi)核文檔:Device Mapper
- Device Mapper 簡介
- Linux Command dmsetup管理LVM
- linux命令----dmsetup
- 高性能存儲的另一塊拼圖——DM 支持 IO Polling
- Userspace block device driver (ublk driver)
LVM
- LVM邏輯卷和手動創(chuàng)建邏輯卷
-
LVM 邏輯卷管理
- lvm 邏輯卷管理(原理概念篇)
- LVM 邏輯卷管理(實(shí)戰(zhàn)篇)
Multipath
- Linux 下存儲多路徑軟件 MultiPath 源碼分析
- Multipath 切換主路徑
- redhat DM Multipath
- 紅帽DM multipath技術(shù)文檔
- https://github.com/opensvc/multipath-tools
- Linux multipathd多路徑
- 使用scsi_debug測試dm-multipath多路徑軟件的簡單實(shí)驗(yàn)
- 第1講 多路徑軟件multipath的介紹與安裝
- 第2講 scsi設(shè)備模擬器scsi_debug
- 第3講 multipath聚合由scsi_debug模擬的設(shè)備
- 4.如何刪除多路徑設(shè)備和scsi設(shè)備
- 第5講 multipath的屬性features
- 第6講 multipath的路徑選擇path-selector
- 第7講 multipath的路徑分組策略
- Beginners guide to Device Mapper (DM) multipathing
io_uring
- Linux 異步 I/O 框架 io_uring:基本原理、程序示例與性能壓測
Bcache
- Linux下SSD緩存加速之bcache使用
- bcache原理及實(shí)踐
Flashcache
- 理解flashcache(1)
direct io
- DirectIO的對齊問題
- Why does O_DIRECT require I/O to be 512-byte aligned?
SCSI
- 協(xié)議
- Linux Scsi子系統(tǒng)框架介紹
- https://www.cnblogs.com/pengdonglin137/p/16383560.html
- 內(nèi)核文檔:Documentation/scsi/
- 內(nèi)核文檔:SCSI_EH
- 內(nèi)核文檔:SCSI mid_level - lower_level driver interface
- 內(nèi)核文檔:SCSI Kernel Parameters
- linux scsi相關(guān)的一些學(xué)習(xí)筆記
- SCSI代碼分析(0)SCSI層框架
- SCSI設(shè)備IO棧與塊設(shè)備并發(fā)機(jī)制
- Scsi_debug adapter driver for Linux
- scsi設(shè)備模擬器scsi_debug
- IO 能夠保證在確定的時間回來嗎?
- BLOCK_SCSI 專欄
iscsi
- iscsi服務(wù)器介紹和搭建
- ISCSI服務(wù)器搭建與配置
- block & scsi & iscsi 開啟調(diào)試日志
- 聊一聊存儲協(xié)議中的孿生兄弟SCSI和iSCSI
- 什么是ISCSI?ISCSI又能干什么呢?
- iscsiadm和iscsid的源碼
- Linux文件系統(tǒng)-ISCSI存儲和Multipathd
- Multipath 多路徑
- iSCSI與multipath部署
- iSCSI initiator軟件架構(gòu)
- ISCSI介紹
- iSCSI(一) iSCSI詳解 及 iSCSI配置
- open-iscsi
- iSCSI command
- How to get scsi_id
NVME
- NVME專欄
- NVMe的Linux內(nèi)核驅(qū)動分析
RAID
- RAID1是什么
- RAID 10是什么
書籍推薦
- 《存儲技術(shù)原理分析 基于Linux 2.6內(nèi)核源代碼》
- 《Linux內(nèi)核探秘:深入解析文件系統(tǒng)和設(shè)備驅(qū)動的架構(gòu)與設(shè)計》
- 《深入淺出ssd-固態(tài)存儲核心技術(shù)原理與實(shí)戰(zhàn)》
- 《大話存儲》
問題排查
- How to check Fibre Channel HBAs in Linux
- How to identify the HBA cards/ports and WWN in Linux
到了這里,關(guān)于linux存儲技術(shù)學(xué)習(xí)資料的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!