作者简介
舒继武
清华大学长聘教授,闽江学院院长国家杰出青年科学基金获得者,教育部“长江学者”特聘教授,IEEE Fellow,中国计算机学会会士。兼任中国计算机学会理事、信息存储专委会主任,北京信息灾备技术产业联盟副理事长。主要研究信息存储系统、数据存储可靠性与安全。担任“十五”国家863计划重大专项招标课题“新型网络服务器系统”的负责人、十一五”国家863计划信息领域“海量存储系统关键技术”重大项目总体专家组副组长、“十二五”国家863计划信息领域“面向大数据的先进存储结构及关键技术”主题项目首席专家、“十三五”国家重点研发计划项目“TB级持久性内存存储技术与系统”的项目负责人。在FAST、SOSP、OSDI、USENIX ATC、EuroSys、ASPLOS、MICRO、SC、SIGMOD、VLDB等重委会议和ACMIEEE Transaction系列期刊发表学术论文百余篇。获国家科学技术进步奖二等奖和国家技术发明奖二等奖各1次、省部级一等奖5次,获华为2020年奥林帕斯奖。
目录
第 1 章 数据存储的背景
1.1 数据存储的重要性 001
1.2 数据存储的目标 002
1.2.1 高性能 002
1.2.2 高易用性 004
1.2.3 高可靠性 005
1.2.4 其他目标 006
参考文献 007
第 2 章 存储盘与存储介质 008
2.1 磁盘 009
2.1.1 磁盘的组成与结构 009
2.1.2 磁盘性能 011
2.1.3 磁盘固件 013
2.2 SSD 017
2.2.1 闪存单元与结构 018
2.2.2 FTL 022
2.3 主存 025
2.3.1 DRAM 组成与结构 025
2.3.2 DRAM 刷新 029
2.3.3 内存控制器 030
2.3.4 非易失存储器 031
2.4 其他存储介质 034
2.4.1 光存储 034
2.4.2 磁带 035
2.5 本章小结 036
参考文献 037
第 3 章 存储阵列 038
3.1 硬件架构 039
3.1.1 整机架构 039
3.1.2 控制器模块 040
3.1.3 接口模块 041
3.1.4 硬盘框和硬盘单元 042
3.1.5 散热模块 043
3.2 软件架构 043
3.2.1 RAID 子系统 044
3.2.2 缓存镜像子系统 050
3.3 高性能与高可靠设计 053
3.3.1 应用场景 053
3.3.2 高可靠冗余切换子系统 055
3.3.3 高性能集群子系统 058
3.3.4 重定向写与垃圾回收技术 060
3.4 本章小结 062
参考文献 063
第 4 章 存储协议 064
4.1 SCSI 协议 064
4.1.1 SCSI 协议概述 064
4.1.2 SCSI 服务模型 065
4.1.3 SCSI 指令集 068
4.1.4 SCSI 读写流程解析 068
4.2 SCSI 链路承载协议 069
4.2.1 SAS 协议 069
4.2.2 FC 协议 071
4.2.3 iSCSI 协议 073
4.3 NVMe 协议 075
4.3.1 NVMe 设备模型 076
4.3.2 NVMe 队列模型 078
4.3.3 NVMe 指令集 079
4.3.4 NVMe over PCI-e 080
4.4 NVMe over Fabrics 082
4.4.1 NVMe over RDMA 083
4.4.2 NVMe over TCP 086
4.4.3 NVMe over FC 088
4.5 内存互连协议 089
4.5.1 CXL 概述 091
4.5.2 CXL 类型 1 092
4.5.3 CXL 类型 2 093
4.5.4 CXL 类型 3 094
4.6 本章小结 095
参考文献 095
第 5 章 键值存储 097
5.1 基本操作 097
5.2 键值索引 098
5.2.1 散列索引 098
5.2.2 B+树索引 101
5.2.3 LSM 树索引 102
5.3 数据布局 107
5.3.1 原地更新的数据组织 107
5.3.2 日志结构的数据组织 108
5.4 崩溃一致性 109
5.4.1 WAL 109
5.4.2 影子页 110
5.5 本章小结 110
参考文献 111
第 6 章 文件系统 112
6.1 文件系统基本操作 112
6.2 文件系统实现 114
6.2.1 一个简单的文件系统 114
6.2.2 命名空间管理 119
6.2.3 存储管理 120
6.3 文件系统实例:ext2 124
6.4 本章小结 126
参考文献 127
第 7 章 网络存储体系结构 128
7.1 DAS 128
7.2 NAS 129
7.2.1 架构特点 130
7.2.2 网络文件协议 130
7.2.3 应用场景 131
7.3 SAN 132
7.3.1 架构特点 132
7.3.2 核心组件 133
7.3.3 应用场景 134
7.3.4 NAS 与 SAN 对比 134
7.4 对象存储 134
7.4.1 架构特点 135
7.4.2 核心组件 135
7.5 并行存储 136
7.5.1 架构特点 137
7.5.2 关键技术 138
7.6 P2P 存储 139
7.6.1 架构特点 139
7.6.2 关键技术 140
7.6.3 应用场景 142
7.7 云存储 142
7.7.1 架构特点 143
7.7.2 应用场景 144
7.8 存储虚拟化 146
7.8.1 基本概念 146
7.8.2 关键技术 148
7.9 软件定义存储 149
7.9.1 基本概念 149
7.9.2 代表性系统 151
7.9.3 关键挑战 152
7.10 超融合架构 152
7.10.1 基本概念 153
7.10.2 关键技术 154
7.10.3 代表性系统 155
7.10.4 概念对比 156
7.11 本章小结 156
参考文献 157
第 8 章 分布式存储系统 159
8.1 分布式存储系统的典型架构 159
8.2 分布式存储系统的关键衡量指标 160
8.2.1 性能 160
8.2.2 可扩展性 161
8.2.3 一致性 161
8.2.4 可用性 162
8.3 分布式键值存储系统 163
8.3.1 典型分布式键值存储系统 164
8.3.2 分布式键值存储系统关键技术 169
8.4 分布式对象存储系统 171
8.4.1 典型分布式对象存储系统 171
8.4.2 分布式对象存储系统关键技术 177
8.5 分布式块存储系统 178
8.5.1 典型分布式块存储系统 178
8.5.2 分布式块存储系统关键技术 181
8.6 分布式文件系统 182
8.6.1 典型分布式文件系统 182
8.6.2 分布式文件系统关键技术 191
8.7 本章小结 193
参考文献 193
第 9 章 存储可靠性 196
9.1 存储可靠性概述 196
9.1.1 可靠性指标及其计算方法 196
9.1.2 可靠性分层设计 197
9.1.3 可靠性与可用性的区别 198
9.2 硬盘可靠性 199
9.2.1 硬盘出错特征分析 199
9.2.2 硬盘故障预警和监测 201
9.2.3 面向环境因素的硬盘可靠性设计 205
9.3 闪存介质可靠性 206
9.3.1 闪存介质错误源 207
9.3.2 闪存可靠性优化关键技术 209
9.4 纠删码技术 212
9.4.1 多副本原理 212
9.4.2 纠删码原理 212
9.4.3 典型的纠删码介绍及分析 216
9.4.4 纠删码技术发展趋势 225
9.5 分布式存储系统可靠性 229
9.5.1 数据冗余技术 230
9.5.2 故障恢复技术 231
9.5.3 数据一致性协议 232
9.5.4 负载均衡技术 232
9.6 本章小结 233
参考文献 233
第 10 章 存储安全 242
10.1 理念和安全体系 243
10.2 系统安全 244
10.2.1 硬件安全 244
10.2.2 容器安全 246
10.2.3 系统韧性 248
10.3 数据安全 248
10.3.1 数据加密 248
10.3.2 数据完整 251
10.3.3 权限管理 255
10.3.4 数据安全销毁 256
10.3.5 数据安全计算 258
10.4 安全管理 260
10.4.1 系统访问控制(认证管理) 260
10.4.2 用户身份和访问管理 264
10.4.3 证书管理和密钥管理 265
10.4.4 网络安全管理 271
10.5 本章小结 272
参考文献 273
第 11 章 数据保护 277
11.1 数据保护背景 277
11.1.1 数据保护标准 278
11.1.2 数据保护技术特点 280
11.2 数据保护技术 281
11.2.1 镜像 281
11.2.2 快照 284
11.2.3 克隆 285
11.3 数据保护场景 286
11.3.1 备份 287
11.3.2 归档 292
11.3.3 容灾 296
11.4 本章小结 307
参考文献 307
第 12 章 存储维护 309
12.1 概述 309
12.2 预防性维护 309
12.2.1 硬盘健康预测 310
12.2.2 容量趋势预测 312
12.2.3 性能异常检测 313
12.2.4 性能潮汐分析 313
12.3 纠正性维护 314
12.3.1 主动问题处理 314
12.3.2 升级 315
12.3.3 扩容 318
第 13 章 存储解决方案 321
13.1 运营商行业解决方案 321
13.1.1 运营商大数据解决方案 322
13.1.2 运营商 BOM 域生产业务备份 324
13.2 政务融合存储资源池解决方案 326
13.2.1 场景需求 327
13.2.2 融合资源池解决方案 327
13.3 金融行业容灾解决方案 328
13.3.1 场景需求 328
13.3.2 容灾建设需求 330
13.3.3 两地三中心容灾解决方案 330
13.4 医疗行业解决方案 331
13.4.1 场景需求 332
13.4.2 PACS 影像系统存储解决方案 332
13.5 教育行业解决方案 333
13.5.1 场景需求 334
13.5.2 教育科研高性能计算和数据分析 334
第 14 章 存储技术趋势与发展 336
14.1 闪存存储系统 336
14.1.1 OC SSD 337
14.1.2 ZNS SSD 338
14.2 存内计算 342
14.2.1 近存计算 342
14.2.2 存算一体化 343
14.3 持久性内存 345
14.3.1 文件系统 345
14.3.2 键值存储系统 347
14.3.3 分布式存储系统 349
14.4 在网存储 350
14.4.1 在网数据协调 351
14.4.2 在网数据调度 352
14.4.3 在网数据缓存 353
14.5 智能存储 353
14.5.1 AI for Storage 354
14.5.2 Storage for AI 356
14.6 边缘存储 359
14.6.1 边缘存储设备 359
14.6.2 边缘存储 I/O 栈 360
14.6.3 边缘数据组织与检索 361
14.7 区块链存储 363
14.7.1 区块链存储系统简介 363
14.7.2 区块链存储系统优化 364
14.8 分离式数据中心架构 365
14.8.1 背景 365
14.8.2 架构特点及关键技术 366
14.8.3 未来趋势 370
14.9 高密度新型存储 371
14.9.1 叠瓦式磁性存储 371
14.9.2 高密光存储 372
14.9.3 DNA 存储 373
14.10 本章小结 374
参考文献 374