本书通过理论与实践相结合的方式,深入浅出地介绍了文件系统的概念、原理和具体实现。本书涵盖本地文件系统、网络文件系统、分布式文件系统和对象存储等内容,可以说涵盖了数据持久化文件系统的主要领域。为了使读者更加深入地理解文件系统的原理,本书不仅介绍了文件系统的原理和关键技术,还结合开源项目介绍了文件系统的实现细节。最后,本书介绍了在互联网领域广泛使用的对象存储、承载海量访问请求的原理及可存储海量数据的架构。希望读者通过阅读本书对文件系统有全面、深入的认识。本书既可以作为文件系统及其他存储系统开发人员的指导用书,也可以作为软件架构师、程序员和Linux运维人员的参考用书。
作者简介
内容简介
推荐序
前言
第1章 从文件系统是什么说起
1.1 什么是文件系统
1.2 常见文件系统及分类
第2章 知其然——如何使用文件系统
2.1 巧妇之炊——准备开发环境
2.2 文件内容的访问——读/写文件
2.3 如何遍历目录中的文件
2.4 格式化文件系统与挂载
2.5 文件系统与权限管理
2.6 文件系统的锁机制
2.7 文件系统的扩展属性
2.8 文件的零拷贝
第3章 知其所以然——本地文件系统原理及核心技术
3.1 Linux文件系统整体架构简介
3.2 本地文件系统的关键技术与特性
3.3 常见本地文件系统简介
第4章 从理论到实战——Ext2文件系统代码详解
4.1 本地文件系统的分析方法与工具
4.2 从Ext2文件系统磁盘布局说起
4.3 Ext2文件系统的根目录与目录数据布局
4.4 Ext2文件系统的挂载
4.5 如何创建一个文件
4.6 Ext2文件系统删除文件的流程
4.7 Ext2文件系统中文件的数据管理与写数据流程
4.8 读数据的流程分析
4.9 如何分配磁盘空间
4.10 Ext2文件系统的扩展属性
4.11 权限管理代码解析
4.12 文件锁代码解析
第5章 基于网络共享的网络文件系统
5.1 什么是网络文件系统
5.2 网络文件系统与本地文件系统的异同
5.3 常见的网络文件系统简析
5.4 网络文件系统关键技术
5.5 准备学习环境与工具
5.6 网络文件系统实例
5.7 NFS服务端及实例解析
第6章 提供横向扩展的分布式文件系统
6.1 什么是分布式文件系统
6.2 分布式文件系统与网络文件系统的异同
6.3 常见分布式文件系统
6.4 分布式文件系统的横向扩展架构
6.5 分布式文件系统的关键技术
6.6 分布式文件系统实例之CephFS
6.7 分布式系统实例之GlusterFS
第7章 百花争艳——文件系统的其他形态
7.1 用户态文件系统框架
7.2 对象存储与常见实现简析
参考文献

