从裸金属到分布式:补上存储栈的最后一块拼图
大多数后端工程师熟悉的是应用层或数据库层,但面对 TiDB、RocksDB 或高性能对象存储时,往往对底层数据究竟如何写入 NVMe SSD 感到模糊。本课程直击这一能力缺口,采用“自下而上”的路径,带你从零构建一个轻量级文件系统(Zerofs),亲手操作 io_uring 与 SPDK 绕过内核,再向上演进至 KV 存储引擎及 Ceph、TiDB 等分布式架构。无论你是想深入理解存算分离原理,还是为转向基础架构研发做准备,这套内容能填补你知识图谱中关于“数据在磁盘上真实存在形态”的认知空白。
学习路径建议与核心练习配合
建议不要按顺序从头啃完,而是根据现有基础分段突破。若你对 Linux 系统调用陌生,务必先看完 Zerofs 系列(001-007),这是理解 block_device、LBA 寻址及分区布局的基础;若目标是高性能数据库开发,重点攻关 io_uring(008-011)和 SPDK(014-019),理解用户态轮询如何替代中断驱动以提升吞吐量;若关注分布式一致性,则重点研读 Ceph(034-036)与 TiDB 存储层(038-039)。配套的 KV 项目(020-027)是极佳的练手场,通过实现 Set/Get/Del 及 B-Tree/Radix Tree 的选择,将理论转化为代码直觉。
学完能独立做什么
完成本课后,你将不再只盯着 API 使用,而是能独立回答“数据从 RAM 到 SSD 经历了哪些拷贝”、“SPDK 为何比标准 POSIX 快”、“TiDB 的 Raft 日志在底层如何落盘”等核心问题。具体而言,你能够:
1. 编写基于 io_uring 的高性能 I/O 模块,处理异步读写;
2. 设计并实现一个简单的用户态文件系统或 KV 存储引擎,掌握 slot 分配与内存管理;
3. 具备部署和维护 Ceph、FastDFS 等分布式存储集群的能力,并能进行基础的性能调优与故障分析。
课程目录
视频 001.存储课程技术点介绍视频_.mp4 93.94M 002.【zerofs1】文件系统需求分析与mkfs.zvvfs的两种实现方式_.mp4 153.69M 003.【zerofs2】nvme的lba与nblocks的重要性_.mp4 151.06M 004.【zerofs3】block_device对nvme的读写与sector大小代码实现_.mp4 197.47M 005.【zerofs4】 文件系统partition layout设计与实现_.mp4 167.22M 006.【zerofs5】mkfs.zvvfs实现partition layout的5步曲_.mp4 185.53M 007.【zerofs6】mkfs.zvvfs的partition layout完善与nvme读写_.mp4 203.38M 008.【io_uring1】与epoll媲美的io_uring(1)_.mp4 161.84M 009.【io_uring2】与epoll媲美的io_uring(2)_.mp4 225.62M 010.【io_uring3】io_uring的使用场景(1)_.mp4 153.34M 011.【io_uring4】 io_uring的使用场景(2)_.mp4 262.38M 012.【fuse1】fuse协同事件 用户态文件系统(1)_.mp4 203.09M 013.【fuse2】fuse协同事件 用户态文件系统(2)_.mp4 289.75M 014.【SPDK项目1】 SPDK的工作原理与文件系统架构分析(1)_.mp4 155.72M 015.【SPDK项目2】SPDK的工作原理与文件系统架构分析(2)_.mp4 173.66M 016.【SPDK项目3】文件系统的posix api实现(1)_.mp4 175.88M 017.【SPDK项目4】文件系统的posix api实现(2)_.mp4 229.09M 018.【SPDK项目5】文件系统的性能测试(1)_.mp4 148.03M 019.【SPDK项目6】文件系统的性能测试(2)_.mp4 195.22M 020.【KV项目-1】KV存储拆解 Set,Get,Mod,Del_.mp4 283.97M 021.【KV项目-2】bdev与blob对于kv存储的选择_.mp4 264.34M 022.【KV项目-3】kv service接口 set_get_modify_delete_.mp4 192.69M 023.【KV项目-4】pagechunk的get与put_.mp4 161.66M 024.【KV项目-5】btreehashmapradixtreerbtree之间的选择_.mp4 272.84M 025.【KV项目-6】-slab分配slot与释放slot_.mp4 192.44M 026.【KV项目-7】-为kv存储加上conf文件_.mp4 232.38M 027.【KV项目-8】-kv存储测试用例与性能测试_.mp4 190.16M 028.【fastdfs1】fastdfs架构分析和配置_.mp4 331.50M 029.【fastdfs2】FastDFS集群部署和同步机制分析_.mp4 359.69M 030.【fastdfs3】 fastdfs存储原理_.mp4 353.34M 031.【fastdfs4】高负载nginxfastcgi_.mp4 381.88M 032.【fastdfs5】文件传输和接口设计_.mp4 385.12M 033.【fastdfs6】 产品上云公网发布测试用例_.mp4 342.34M 034.【ceph1】 内核级支持的分布式存储ceph_.mp4 309.19M 035.【ceph2】 docker安装ceph分布式存储系统(高可用)_.mp4 235.56M 036.【ceph3】分布式ceph存储集群部署_.mp4 165.06M 037.【RockDB】不一样的kv存储RocksDB的使用场景_.mp4 262.28M 038.【TiDB1】TiDB存储引擎的原理_.mp4 237.78M 039.【TiDB2】TiDB集群方案与Replication原理_.mp4 238.53M 工具+图书带货自下而上-存储全栈 (TiDB_RockDB_SPDK_fuse_ceph_NVMe)/ 002.【z





![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=https%3A%2F%2Fwww.itzhibei.com%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)