内容简介


本书致力于帮助读者形成有关Linux开源存储世界的细致的拓扑,从存储硬件、Linux存储堆栈、存储加速、存储安全、存储管理、分布式存储、云存储等各个角度与层次展开讨论,同时对处于主导地位的、较为流行的开源存储项目进行阐述,包括SPDK、ISA-L、OpenSDS、Ceph、OpenStack Swift与Cinder、容器存储等。本书内容基本不涉及具体源码,主要围绕各个项目的起源与发展、实现原理与框架、要解决的网络问题等方面展开讨论,致力于帮助读者对Linux开源存储技术的实现与发展形成整体清晰的认识。本书语言通俗易懂,能够带领读者快速走入Linux开源存储的世界并作出自己的贡献。

作者简介


本书由不少英特尔工程师参与编撰。您可以在这里找到我们维护和贡献的项目,从Linux内核到SPDK用户态,到ClearLinux,KATA容器,Ceph和ISA-L等重点项目。每个项目都有自己的部分,在那里可以很容易地了解项目并参与到我们的全球社区中。

关联推荐


本书适合希望能够参与Linux开源存储项目开发的读者,也适合互联网应用的开发者、架构师和创业者参考,尤其可作为互联网架构师们的开源技术典籍。

图书目录


1章 Linux开源存储 1
1.1 Linux和开源存储 1
1.1.1 为什么需要开源存储 3
1.1.2 Linux开源存储技术原理和解决方案 6
1.2 Linux开源存储系统方案介绍 8
1.2.1 Linux单节点存储方案 8
1.2.2 存储服务的分类 11
1.2.3 数据压缩 13
1.2.4 重复数据删除 16
1.2.5 开源云计算数据存储平台 27
1.2.6 存储管理和软件定义存储 29
1.2.7 开源分布式存储和大数据解决方案 33
1.2.8 开源文档管理系统 37
1.2.9 网络功能虚拟化存储 39
1.2.10 虚拟机/容器存储 40
1.2.11 数据保护 43
1.3 三大基金会 44
2章 存储硬件与协议 47
2.1 存储设备的历史轨迹 47
2.2 存储介质的进化 53
2.2.1 3D NAND 53
2.2.2 3D XPoint 55
2.2.3 Intel Optane 58
2.3 存储接口协议的演变 59
2.4 网络存储技术 62
3章 Linux存储栈 67
3.1 Linux存储系统概述 67
3.2 系统调用 69
3.3 文件系统 72
3.3.1 文件系统概述 73
3.3.2 Btrfs 75
3.4 Page Cache 80
3.5 Direct I/O 82
3.6 块层(Block Layer) 83
3.6.1 bio与request 84
3.6.2 I/O调度 86
3.6.3 I/O合并 88
3.7 LVM 90
3.8 bcache 93
3.9 DRBD 96
4章 存储加速 99
4.1 基于CPU处理器的加速和优化方案 100
4.2 基于协处理器或其他硬件的加速方案 103
4.2.1 FPGA加速 103
4.2.2 智能网卡加速 105
4.2.3 Intel QAT 107
4.2.4 NVDIMM为存储加速 110
4.3 智能存储加速库(ISA-L) 111
4.3.1 数据保护:纠删码与磁盘阵列 112
4.3.2 数据安全:哈希 113
4.3.3 数据完整性:循环冗余校验码 115
4.3.4 数据压缩:IGZIP 116
4.3.5 数据加密 117
4.4 存储性能软件加速库(SPDK) 117
4.4.1 SPDK NVMe驱动 119
4.4.2 SPDK应用框架 133
4.4.3 SPDK用户态块设备层 136
4.4.4 SPDK vhost target 150
4.4.5 SPDK iSCSI Target 156
4.4.6 SPDK NVMe-oF Target 163
4.4.7 SPDK RPC 165
4.4.8 SPDK生态工具介绍 172
5章 存储安全 181
5.1 可用性 181
5.1.1 SLA 181
5.1.2 MTTR、MTTF和MTBF 182
5.1.3 高可用方案 183
5.2 可靠性 185
5.2.1 磁盘阵列 186
5.2.2 纠删码 187
5.3 数据完整性 188
5.4 访问控制 189
5.5 加密与解密 191
6章 存储管理与软件定义存储 194
6.1 OpenSDS 194
6.1.1 OpenSDS社区 195
6.1.2 OpenSDS架构 195
6.1.3 OpenSDS应用场景 198
6.1.4 与Kubernetes集成 200
6.1.5 与OpenStack集成 200
6.2 Libvirt存储管理 201
6.2.1 Libvirt介绍 201
6.2.2 Libvirt存储池和存储卷 205
7章 分布式存储与Ceph 206
7.1 Ceph体系结构 209
7.1.1 对象存储 211
7.1.2 RADOS 212
7.1.3 OSD 212
7.1.4 数据寻址 214
7.1.5 存储池 219
7.1.6 Monitor 220
7.1.7 数据操作流程 227
7.1.8 Cache Tiering 228
7.1.9 块存储 230
7.1.10 Ceph FS 232
7.2 后端存储ObjectStore 235
7.2.1 FileStore 236
7.2.2 BlueStore 240
7.2.3 SeaStore 243
7.3 CRUSH算法 244
7.3.1 CRUSH算法的基本特性 244
7.3.2 CRUSH算法中的设备位置及状态 246
7.3.3 CRUSH中的规则与算法细节 249
7.3.4 CRUSH算法实践 254
7.3.5 CRUSH算法在Ceph中的应用 261
7.4 Ceph可靠性 262
7.4.1 OSD多副本 263
7.4.2 OSD纠删码 264
7.4.3 RBD mirror 265
7.4.4 RBD Snapshot 267
7.4.5 Ceph数据恢复 271
7.4.6 Ceph一致性 274
7.4.7 Ceph Scrub机制 278
7.5 Ceph中的缓存 279
7.5.1 RBDCache具体实现 285
7.5.2 固态硬盘用作缓存 287
7.6 Ceph加密和压缩 289
7.6.1 加密 289
7.6.2 压缩 291
7.6.3 加密和压缩的加速 294
7.7 QoS 294
7.7.1 前端QoS 294
7.7.2 后端QoS 295
7.7.3 dmClock客户端 297
7.8 Ceph性能测试与分析 298
7.8.1 集群性能测试 299
7.8.2 集群性能数据 304
7.8.3 综合测试分析工具 307
7.8.4 高级话题 311
7.9 Ceph与OpenStack 315
8章 OpenStack存储 318
8.1 Swift 321
8.1.1 Swift体系结构 321
8.1.2 环 327
8.1.3 Swift API 330
8.1.4 认证 331
8.1.5 对象管理与操作 333
8.1.6 数据一致性 337
8.2 Cinder 338
8.2.1 Cinder体系结构 338
8.2.2 Cinder API 341
8.2.3 cinder-scheduler 342
8.2.4 cinder-volume 343
8.2.5 cinder-backup 347
9章 容器存储 348
9.1 容器 348
9.1.1 容器技术框架 350
9.1.2 Docker 353
9.1.3 容器与镜像 355
9.2 Docker存储 356
9.2.1 临时存储 357
9.2.2 持久化存储 366
9.3 Kubernetes存储 369
9.3.1 Kubernetes核心概念 370
9.3.2 Kubernetes数据卷管理 376
9.3.3 Kubernetes CSI 380

原文链接:https://mp.weixin.qq.com/s/RUVXIXVEhZHsoXunPscrJg

学习更多dpdk视频
DPDK 学习资料、教学视频和学习路线图 :https://space.bilibili.com/1600631218
Dpdk/网络协议栈/ vpp /OvS/DDos/NFV/虚拟化/高性能专家 上课地址: https://ke.qq.com/course/5066203?flowToken=1043799
DPDK开发学习资料、教学视频和学习路线图分享有需要的可以自行添加学习交流q 君羊909332607备注(XMG) 获取

Linux开源存储全栈详解:从Ceph到容器存储相关推荐

  1. ceph存储原理_赠书 | Linux 开源存储全栈详解——从Ceph到容器存储

    // 留言点赞赠书我有书,你有故事么?留言说出你的存储故事留言点赞前两名,免费送此书截止日期12.27号12.30号公布名单 // 内容简介 本书致力于帮助读者形成有关Linux开源存储世界的细致的拓 ...

  2. openstack架构详解图_英特尔顶级技术专家合力缔造精品:Linux开源网络全栈详解...

    日常水开篇 自1991年诞生起,Linux已经走过了接近三十年.Linux早已没有了问世时的稚气,正在各个领域展示自己成熟的魅力. 以Linux为基础,也衍生出了各种开源生态,例如网络和存储.而生态离 ...

  3. Linux开源存储全栈详解

    最近和同事一起整了本书<Linux开源存储全栈详解:从Ceph到容器存储>,把Linux开源存储相关的项目做了个梳理,对于想了解或参与存储相关项目开发的人来说,应该会是个不错的参考.这里把 ...

  4. Linux内核IO技术栈详解

    这是<Linux系统调用那些事>高级部分的第一章<聊聊Linux IO>.高级部分的文章均假设读者完整的学习过Linux系统基础以及Linux系统编程相关的内容,并已有一定的工 ...

  5. UnitTest测试框架全栈详解

    金字塔模型 从软件架构的⻆度来说,测试最重要的步骤是在软件开发的时候界入比较好,所以在早期测试的界入,从软件经济学的⻆度上来说,发现的问题解决成本低,投入的资源比较少.因此,对一个测试的系统,开始最佳 ...

  6. Linux网络-UDP/TCP协议详解

    Linux网络-UDP/TCP协议详解 零.前言 一.UDP协议 二.TCP协议 1.应答机制 2.序号机制 3.超时重传机制 4.连接管理机制 三次握手 四次挥手 5.理解CLOSE_WAIT状态 ...

  7. 《 Python List列表全实例详解系列(四)》__列表删除元素(4种方法)删除重复元素(去重)(8种方法)

    <  Python List列表全实例详解系列(四)> __列表删除元素(4种方法)删除重复元素(去重)(8种方法) 我的技术成长&学习资料整理分享之路 我遇到问题查找资料时,经常 ...

  8. LINUX经常使用的命令详解

    LINUX经常使用的命令详解 源地址:http://blog.itpub.net/29065182/viewspace-1189162/ 1.man 对你熟悉或不熟悉的命令提供帮助解释  eg:man ...

  9. 【linux】Valgrind工具集详解(八):Memcheck命令行参数详解

    [linux]Valgrind工具集详解(五):命令行详解中不够全,在此专门针对Memcheck工具中的命令行参数做一次详细的解释. Memcheck命令行选项 –leak-check=<no| ...

最新文章

  1. vsftp匿名访问目录_vsftp 匿名访问设置设置
  2. 注意力机制并不是关注输入的位置
  3. Redis中7种集合类型应用场景
  4. Gradle常用配置-版本号自增
  5. shortcut switch in terminal start pos end pos
  6. 海思3159A运行yolov3(二)——yolov3模型转caffemodel模型
  7. python文本情感分析代码_6行代码的超简单语言情感分析:由Python的Vader情感库实现,超级,使用,vaderSentiment...
  8. Unity 手动下载汉化包并安装
  9. java学生管理系统报告_java学生管理系统总结报告.doc
  10. Linux下C语言开发环境的搭建
  11. 银行爱“IOE”爱得有多深
  12. windows安装idea2019.3.3
  13. EOS测试插件:txn_test_gen_plugin.cpp
  14. 路由器重温——串行链路链路层协议积累-帧中继FR协议
  15. 模型推理时显存不足问题
  16. 海门工业机器人_6轴机械手海门工业机器人定制生产
  17. dev stg prd 开发 测试 生产环境
  18. 服务器维护稀有宝宝,完美国际的中的稀有宝宝
  19. 解读日本国民心理的密码——《菊与刀》读后感
  20. 用classwizard生成某个基类的继承类

热门文章

  1. C语言入门(前期准备工作)——超级详细的建议和教学,带你顺利跨越编程门槛
  2. 匿名突破网络限制 (Tor工作原理分析)
  3. C++ 关于日期时间(四)asctime/ctime/gmtime/time_t/tm
  4. 使用管程法解决生产者消费者问题
  5. 系统分析师学习笔记(十五)
  6. Springboot毕设项目基于WEB的延边旅游网 5jjp2java+VUE+Mybatis+Maven+Mysql+sprnig)
  7. 照片变成二次元动漫(2)
  8. HDU4417 主席树入门2
  9. PHP DES加密解密类
  10. 谷歌地图实现车辆位置实时跟踪