第1章 绪论 1
1.1 应用需求 1
1.1.1 云计算 1
1.1.2 云计算发展 3
1.1.3 云计算模型 4
1.1.4 大数据 4
1.2 计算机存储系统 5
1.2.1 计算机存储系统概述 5
1.2.2 计算机存储系统发展 6
1.3 功能需求与评价指标 9
1.3.1 功能需求 9
1.3.2 评价指标 10
1.4 分布式存储系统典型架构 11
1.5 存储系统发展 14
1.5.1 存储虚拟化 15
1.5.2 软件定义存储 16
1.6 本章小结 16
参考文献 17
第2章 分布式存储系统可靠性和可用性 18
2.1 可靠性概述 18
2.1.1 背景 18
2.1.2 可靠性和可用性 19
2.2 容错技术 20
2.2.1 容错机制的分类 20
2.2.2 容错机制的层次分析 20
2.3 可靠性分析 22
2.3.1 磁盘失效数据 22
2.3.2 分布式存储系统的可靠性结构和模型 24
2.3.3 集群存储系统的可靠性结构和模型 25
2.3.4 马尔可夫模型模拟系统运行 25
2.4 典型容错技术 28
2.4.1 副本 28
2.4.2 纠删码 29
2.4.3 可靠性评估 31
2.5 本章小结 33
参考文献 33
第3章 传统纠删码 35
3.1 基本原理 35
3.1.1 群 35
3.1.2 环和域 35
3.1.3 多项式剩余类环 37
3.1.4 有限域的结构和构造 37
3.1.5 线性编码 38
3.1.6 纠删码 39
3.1.7 MDS码 44
3.1.8 RS编码 46
3.2 BRS码 48
3.2.1 编码原理 48
3.2.2 BRS编码示例 49
3.2.3 BRS解码原理 50
3.3 RS典型实现方案 51
3.3.1 CRS编码 51
3.3.2 计算过程优化 54
3.4 性能评估 57
3.4.1 编码速率的测试 57
3.4.2 解码速率的测试 57
3.5 修复放大问题 59
3.5.1 修复放大问题表现 59
3.5.2 修复放大问题研究现状 60
3.6 本章小结 63
参考文献 63
第4章 分布式存储编码 67
4.1 引言 67
4.1.1 分布式存储编码概述 67
4.1.2 分布式存储编码优化指标体系 68
4.2 再生码 69
4.2.1 功能修复再生码 72
4.2.2 精确修复再生码 76
4.2.3 协同修复再生码(系统部分精确修复) 79
4.2.4 二进制最小存储再生码 79
4.2.5 二进制最小带宽再生码 97
4.3 二进制循环码 113
4.4 部分重复码 120
4.5 本章小结 123
参考文献 124
第5章 大规模分布式存储系统 125
5.1 概述 125
5.1.1 分布式存储系统 125
5.1.2 系统架构和功能需求 127
5.1.3 分布式文件系统 128
5.1.4 分布式对象存储系统 129
5.2 典型分布式文件系统 132
5.2.1 PVFS 132
5.2.2 GoogleFS 133
5.2.3 HDFS 134
5.3 典型分布式对象存储系统 136
5.3.1 Ceph 136
5.3.2 OpenStack Swift 137
5.4 本章小结 139
第6章 存储编码与存储系统 140
6.1 引言 140
6.2 应用存储编码的一般性原理 142
6.2.1 怎样应用存储编码 142
6.2.2 存储编码的特征 142
6.2.3 存储编码应用模型 143
6.3 存储编码在存储系统中的应用 144
6.4 典型编码存储系统 149
6.4.1 HDFS-RAID 149
6.4.2 QFS 154
6.4.3 Swift 155
6.5 本章小结 157
第7章 PKUSZ——CodedDFS原型设计与实现 158
7.1 CodedDFS基本需求 158
7.2 CodedDFS系统架构 158
7.2.1 设计思想 158
7.2.2 系统架构 159
7.2.3 模块划分 161
7.2.4 编解码算法库 163
7.2.5 统计工具 164
7.2.6 外部接口 164
7.2.7 内部接口 164
7.3 CodedDFS详细设计 164
7.3.1 编解码算法库 164
7.3.2 客户端 169
7.4 实验分析 169
7.4.1 BRS编码的编解码速率的测试与对比 169
7.4.2 测试结果与分析 171
7.4.3 大数据块条件下BRS编码的编码速率 176
7.5 应用案例 181
7.6 本章小结 182
参考文献 182
第8章 编码存储系统应用 183
8.1 归档系统 183
8.2 备份系统 184
8.3 冷数据存储系统 187
8.4 本章小结 190
附录 191