没有合适的资源?快使用搜索试试~ 我知道了~
SPDK的基石是用户空间,轮询模式,异步,无锁NVMe驱动程序。这提供了从用户空间应用程序直接到SSD的零拷贝,高度并行访问。
需积分: 9 2 下载量 118 浏览量
2022-07-26
00:56:18
上传
评论
收藏 506KB DOCX 举报
温馨提示
试读
105页
SPDK的基石是用户空间,轮询模式,异步,无锁NVMe驱动程序。这提供了从用户空间应用程序直接到SSD的零拷贝,高度并行访问。
资源详情
资源评论
资源推荐
SPDK(存储性能开发套件)官方文档中文版
(2019 年 8 月版,译:王海亮)
目录
第一章 简介 .................................................................................................................................................1
1.1.什么是 SPDK?...................................................................................................................................1
1.2.入门....................................................................................................................................................1
1.3. Vagrant 开发环境 .............................................................................................................................3
1.4.更新日志(略) ................................................................................................................................6
第二章 概念 .................................................................................................................................................6
2.1. 用户空间驱动程序** .......................................................................................................................6
2.2. 来自用户空间的 DMA** ..................................................................................................................7
2.3. 消息传递和并发** ...........................................................................................................................9
2.4. NAND Flash SSD 内部 ......................................................................................................................13
2.5. 将 I / O 提交到 NVMe 设备** ........................................................................................................15
2.5.1 NVMe 规范................................................................................................................................15
2.5.2 SPDK NVMe 驱动程序 I / O 路径..............................................................................................15
2.6. 使用 Vhost-user 进行虚拟化 I / O..................................................................................................16
2.6.1 介绍 ...........................................................................................................................................16
2.6.2 QEMU ........................................................................................................................................17
2.6.3 设备初始化 ...............................................................................................................................18
2.6.4 I / O 路径 ...................................................................................................................................19
2.6.5 SPDK 优化..................................................................................................................................20
2.7. SPDK 目录结构概述........................................................................................................................20
2.8. SPDK 移植指南................................................................................................................................22
第三章 用户指南 .......................................................................................................................................22
3.1. 系统配置用户指南 .........................................................................................................................22
3.1.1 IOMMU 配置 .............................................................................................................................22
3.2. SPDK 应用程序概述........................................................................................................................23
3.2.1 配置 SPDK 应用程序................................................................................................................23
3.3. iSCSI Target ......................................................................................................................................26
3.3.1. iSCSI Target 入门指南 ..............................................................................................................26
3.3.2. 通过配置文件配置 iSCSI Target ..............................................................................................27
3.3.3. 通过 RPC 方法配置 iSCSI Target ..............................................................................................28
3.3.4. 配置 iSCSI 启动器.....................................................................................................................29
3.3.5. rpc 配置示例*** ......................................................................................................................30
3.3.6. iSCSI 热插拔..............................................................................................................................32
3.4. NVMe over Fabrics Target ...............................................................................................................32
3.5. Vhost Target(略).........................................................................................................................37
3.6 块设备用户指南 ..............................................................................................................................38
3.6.1 bdev 介绍 ..................................................................................................................................38
3.6.2 通用 RPC 命令...........................................................................................................................38
3.6.3 Ceph RBD ...................................................................................................................................39
3.6.4 压缩虚拟 Bdev 模块 .................................................................................................................40
3.6.5 加密虚拟 Bdev 模块 .................................................................................................................41
3.6.6 延迟 vbdev 模块 .......................................................................................................................41
3.6.7 GPT(GUID 分区表) ...............................................................................................................42
3.6.8 iSCSI bdev...................................................................................................................................43
3.6.9 Linux AIO bdev...........................................................................................................................43
3.6.10 OCF 虚拟 bdev.........................................................................................................................43
3.6.11 Malloc bdev .............................................................................................................................44
3.6.12 NULL bdev................................................................................................................................44
3.6.13 NVMe bdev ..............................................................................................................................44
3.6.14 逻辑卷 Lvol..............................................................................................................................45
3.6.15 RAID .........................................................................................................................................46
3.6.16 Passthru ...................................................................................................................................46
3.6.17 Pmem.......................................................................................................................................46
3.6.18 Virtio Block...............................................................................................................................47
3.6.19 Virtio SCSI ................................................................................................................................47
3.7 BlobFS(Blobstore 文件系统).......................................................................................................48
3.7.1 RocksDB 集成 ............................................................................................................................48
3.7.2 FUSE 插件..................................................................................................................................49
3.8 JSON-RPC 方法(略) .....................................................................................................................49
第四章 程序员指南 ...................................................................................................................................49
4.1. Blobstore 程序员指南.....................................................................................................................49
4.1.1 介绍 ...........................................................................................................................................50
4.1.2 运作理论 ...................................................................................................................................50
4.1.3 设计注意事项 ...........................................................................................................................52
4.1.4 例子 ...........................................................................................................................................54
4.1.5 配置...........................................................................................................................................54
4.1.6 组件细节 ...................................................................................................................................54
4.2. 块设备层编程指南 .........................................................................................................................56
4.3 编写自定义块设备模块 ..................................................................................................................58
4.3.1 介绍 ...........................................................................................................................................58
4.3.2 创建一个新模块 .......................................................................................................................59
4.3.3 创建虚拟 Bdev ..........................................................................................................................60
4.4 NVMe over Fabrics 目标编程指南...................................................................................................61
4.4.1 介绍 ...........................................................................................................................................61
4.4.2 原语结构体 ...............................................................................................................................61
4.4.3 基础函数 ...................................................................................................................................62
4.4.4 访问控制 ...................................................................................................................................62
4.4.5 发现子系统 ...............................................................................................................................62
4.4.6 传输 ...........................................................................................................................................63
4.4.7 选择线程模型 ...........................................................................................................................63
4.4.8 跨 CPU 核心扩展 ......................................................................................................................63
4.4.9 零拷贝支持 ...............................................................................................................................63
4.4.10 RDMA.......................................................................................................................................63
4.5 Flash 传输层.....................................................................................................................................64
4.5.1 术语 ...........................................................................................................................................64
4.5.2 使用方法 ...................................................................................................................................67
4.6 GDB 宏用户指南 ..............................................................................................................................69
4.6.1 介绍 ...........................................................................................................................................69
4.6.2 加载 gdb 宏 ...............................................................................................................................71
4.6.3 使用 gdb 数据目录 ...................................................................................................................72
4.6.4 使用.gdbinit 加载宏..................................................................................................................72
4.6.5 为什么我们需要显式调用 spdk_load_macros ........................................................................72
4.6.6 以上可用的宏总结 ...................................................................................................................73
4.6.7 添加新宏 ...................................................................................................................................73
4.7 SPDK “Reduce”块压缩算法..............................................................................................................73
4.7.1 介绍 ...........................................................................................................................................73
4.7.2 例子 ...........................................................................................................................................74
4.8 通知库 ..............................................................................................................................................78
第五章 基本信息 .......................................................................................................................................79
5.1 事件框架 ..........................................................................................................................................79
5.1.1 事件框架设计注意事项 ...........................................................................................................80
5.1.2 SPDK 事件框架组件..................................................................................................................80
5.1.3 应用框架 ...................................................................................................................................80
5.2 逻辑卷 ..............................................................................................................................................81
5.2.1 术语 ...........................................................................................................................................81
5.2.2 配置逻辑卷 ...............................................................................................................................84
5.3 矢量数据包处理(略) ..................................................................................................................86
第六章 杂项 ...............................................................................................................................................86
6.1 介绍 ..................................................................................................................................................86
6.2 NVMe 的 P2P API .............................................................................................................................86
6.3 确定设备支持 ..................................................................................................................................87
6.4 P2P 问题...........................................................................................................................................87
第七章 驱动程序 .......................................................................................................................................88
7.1 NVMe 驱动程序*** .........................................................................................................................88
7.1.1 介绍 ...........................................................................................................................................88
7.1.2 例子 ...........................................................................................................................................88
7.1.3 公共接口 ...................................................................................................................................89
7.1.4 NVMe 驱动程序设计 ................................................................................................................89
7.1.5 NVMe over Fabrics 主机支持....................................................................................................91
7.1.6 NVMe 多进程............................................................................................................................91
7.1.7 NVMe Hotplug ...........................................................................................................................92
7.2 I/OAT 驱动程序................................................................................................................................93
7.2.1 公共接口 ...................................................................................................................................93
7.2.2 关键功能 ...................................................................................................................................93
7.3 Virtio 驱动程序 ................................................................................................................................93
7.3.1 介绍 ...........................................................................................................................................93
7.3.2 2MB 大页面...............................................................................................................................93
第八章 工具 ...............................................................................................................................................94
8.1 SPDK CLI............................................................................................................................................94
8.1.1 安装所需的依赖项 ...................................................................................................................94
8.1.2 运行 SPDK 应用程序实例.........................................................................................................94
8.1.3 运行 SPDK CLI ............................................................................................................................94
8.1.4 可选 - 创建 Python 虚拟环境...................................................................................................94
8.2 nvme-CLI ...........................................................................................................................................95
8.2.1 nvme-cli with SPDK 入门指南 ...................................................................................................95
8.2.2 使用场景 ...................................................................................................................................95
第九章 性能测试报告(略) ...................................................................................................................96
第十章 NVMe-oF Target 跟踪点***..........................................................................................................96
10.1 介绍 ................................................................................................................................................96
10.2 启用跟踪点 ....................................................................................................................................97
10.3 捕获事件的快照 ............................................................................................................................97
10.4 捕获足够的跟踪事件 ....................................................................................................................98
10.5 添加新的跟踪点 ............................................................................................................................99
剩余104页未读,继续阅读
自动驾驶小哥
- 粉丝: 16
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0