内容
本书通过对Linux 2.6内核源代码的分析,详细讨论存储技术的内在实现原理。分为三条主线:解释PCI设备、SCSI设备以及块设备的发现过程;跟踪存储I/O路径,即用户对文件的读/写请求怎么通过中间各个层次,最终到达磁盘介质;此外,还简要介绍主机适配器、块设备驱动以及文件系统等编程框架。书中将设计一些主要的场景,跟踪实现的各个层次,对其中的主要函数进行代码级的讲解。在分析每个模块时,会给出整体框架、主要数据结构之间的关系,并列出各个域的详细含义。
作者
敖青云,博士,2001年毕业于上海交通大学计算机科学及工程系。毕业后一直从事存储及相关产品的研发工作,主要研究方向为开源技术、操作系统、存储及虚拟机技术等。现居上海。
目录
第一部分 存储技术第1章 存储技术概论1.1 存储系统元素1.1.1 磁盘驱动器1.1.2 存储设备1.1.3 服务器部件1.1.4 存储软件1.2 存储相关技术1.2.1 备份技术1.2.2 快照技术1.2.3 连续数据保护技术1.2.4 RAID技术1.2.5 “多路径”技术1.2.6 虚拟化技术1.3 网络存储结构1.3.1 直接连接存储1.3.2 网络连接存储1.3.3 存储区域网络1.4 存储I/O通道1.4.1 存储I/O物理通道1.4.2 存储I/O逻辑通道1.4.3 虚拟机I/O逻辑通道1.5 存储应用举例1.5.1 同时提供文件服务和块服务1.5.2 按需扩容、随需取用延缓企业投资1.5.3 计算与存储分离便于故障恢复和系统升级1.5.4 为高可用性集群提供共享存储1.5.5 利用快照技术恢复被病毒破坏的数据1.5.6 基于文件的数据备份和远程镜像方案1.5.7 利用PXE和iSCSI实现远程引导和映像恢复1.5.8 虚拟机故障的检测及迁移第二部分 设备第2章 Linux驱动模型第3章 PCI子系统第4章 SCSI子系统第三部分 存储I/O第5章 块I/O子系统第6章 Multi-Disk(MD)模块第7章 Device Mapper模块第8章 文件系统主要参考文献