首页
›
Linux内核与驱动
›
020-文件系统实战开发
›
《文件系统故障排查:从page cache回写到块设备调度》
VIP10
本课程属于:020-文件系统实战开发
Linux内核与驱动 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录
咨询 / 购买
文件系统故障排查:从page cache回写到块设备调度
共计 30 章节
点击此处阅读海量试读课程:100+行业、1000+细分领域
01
课程导论
文件系统I/O路径全景图 · Page Cache与块设备调度的关… · 故障排查的通用方法论
课程导论
I/O
02
Page Cache基础
Page Cache的定义 · 作用(加速读写 · 减少磁盘I/O)
Page
Cache
03
Page Cache的分配与回收
内存压力下的回收机制(kswapd · direct reclaim) · 脏页比例控制(dirty_ratio
Page
Cache
04
脏页回写触发条件
定时回写(dirty_expire_… · 内存阈值回写 · sync/fsync系统调用触发
脏页回写触发条件
dirty
05
回写线程与工作队列
flusher线程(pdflush/… · 工作队列(workqueue)在回写…
回写线程
工作队列
06
回写路径源码分析(上)
从write()系统调用到标记脏页 · mark_buffer_dirty与…
回写路径源码分析
write
07
回写路径源码分析(下)
flusher线程唤醒 · wb_workfn函数 · 回写请求的生成与提交
回写路径源码分析
flusher
08
块设备调度层概述
I/O调度器的目的 · 通用块层(Generic Block…
块设备调度层概述
I/O
09
I/O调度器之Noop
Noop调度器的原理 · 适用场景(SSD/NVMe) · FIFO与合并操作
I/O
Noop
10
I/O调度器之Deadline
Deadline调度器的读写分离 · 过期时间(read_expire · write_expire)
I/O
Deadline
11
I/O调度器之CFQ
CFQ的完全公平队列思想 · 进程分组(cgroup) · 时间片分配与空闲时间
I/O
CFQ
12
I/O调度器之BFQ与Kyber
BFQ的低延迟特性 · Kyber的基于延迟的调度 · 多队列(blk-mq)时代的调度器选…
I/O
BFQ
13
blk-mq多队列架构
blk-mq的引入背景 · 软件队列与硬件队列的映射 · 免锁提交路径
blk-mq
多队列架构
14
I/O请求的合并与排序
bio与request结构体 · plugging机制 · 请求合并(front/back me…
I/O
请求的合并
15
块设备驱动与硬件交互
DMA传输 · 中断处理(IRQ) · 完成回调(bio_endio)
块设备驱动
硬件交互
16
故障场景一
回写卡死(D状态)——分析flush… · 排查磁盘I/O hang · 使用hung_task检测
故障场景一
flush
17
故障场景二
回写缓慢导致内存积压——监控dirt… · 调整dirty_ratio/dirt… · 分析回写吞吐量
故障场景二
dirt
18
故障场景三
I/O调度器导致的延迟抖动——使用b… · 分析调度器队列深度与等待时间
故障场景三
I/O
19
故障场景四
blk-mq硬件队列竞争——多NUM… · RPS/RFS与中断亲和性调整
故障场景四
blk-mq
20
故障场景五
存储设备故障(磁盘坏道/SSD磨损)… · SCSI错误恢复 · 文件系统只读挂载
故障场景五
SSD
21
故障排查工具之iostat与sar
iostat的await/svctm… · sar -d报告磁盘I/O历史
iostat
sar
22
故障排查工具之blktrace/blkparse
blktrace的完整I/O生命周期… · 从提交到完成的时间戳分析
blktrace/blk…
故障排查工具之
23
故障排查工具之ftrace与perf
使用ftrace跟踪回写函数(wb_… · perf top分析I/O热点函数
ftrace
perf
24
故障排查工具之systemtap与ebpf
使用bcc工具集(biolatenc… · biotop · filetop)实时诊断I/O问题
systemtap
ebpf
25
文件系统层面的排查
ext4/xfs的日志(journa… · 文件系统冻结(fsfreeze)与快…
文件系统层面的排…
ext4/xfs
26
内存与I/O的交互
Page Cache与Swap的关系 · 直接内存回收(direct recl…
I/O
内存
27
cgroup与I/O隔离
blkio cgroup的权重限制与… · 防止多租户互相干扰
cgroup
I/O
28
性能调优实践
调整回写参数(dirty_write… · 选择合适的I/O调度器 · 使用轮询模式(polling)
性能调优实践
dirty
29
案例实战一
数据库服务器写入延迟飙升——结合io… · 优化脏页阈值
案例实战一
io
30
案例实战二
容器化环境下的I/O抖动——使用cg… · 调整blk-mq队列数 · 验证调优效果
案例实战二
I/O
所属VIP或分类
同VIP:inode分配与文件系统故障排查:工程案例解析
同VIP:Linux块设备与简易文件系统开发
同VIP:内核模块加载失败:文件系统挂载与VFS接口调试