三好先森|SPDK BlobFs简单体验
SPDK的整体架构如下图 , 在存储服务层提供了BlobStore和BlobFS , 其中BlobStore是一种持久的电源故障安全块分配器 , 用于与用户态文件系统BlobFS集成 , 旨在通过 代替 传统的 文件系统 , 支持更高级别存储服务 , 如MyAQL、RocksDB等 。
SPDK官方提供的BlobFS的应用场景是为Rocksdb提供存储后端 , Rocksdb的 I/ O经由BlobFS与BlobStore下发到bdev , 随后由SPDK提供的用户态驱动写入NVMe盘 。整个I/O流程从发起到落盘均在用户态操作 , 且充分利用了SPDK所提供的异步、无锁化、Zero Copy、轮询等机制 , 大幅度减少额外的系统开销 。
再详细研究BlobStore和BlobFS实现细节前 , 让我们先操作感受一下 , 本文接受一种BlobFS的简单实用方式 。
与vhost实践和SPDK vhost实践(二)中的流程一样 , 我们先获取SPDK的代码并编译它 , 注意需要加上--with-fuse选项:
make -j8
此外 , 需要创建一个配置文件 , 在此假设为/tmp/blobfs.conf , 其具体内容如下:
TransportID "trtype:PCIe traddr:0000:db:00.0" Nvme0
上述配置是以本地NVMe盘为例的其它方式可参考 。
有了配置文件后 , 创建BlobFS:
通过上述指令会将0000:db:00.0设备创建名为 Nvme0 n1的bdev , 并在该bdev上创建BlobFS 。
通过fuse挂载BlobFS到/mnt:
上面命令会启动一个SPDK app进程 , 并将位于 Nvme0 n1上的BlobFS挂载至/mnt 。
【三好先森|SPDK BlobFs简单体验】 接下来我们可以在/mnt目录试用BlobFS系统了 。
- 三好先森|技术与人类的关系到底是什么?
- 三好先森|「精选」20个黑科技软件下载网站,让你再无找不到的软件
- 阿狸先森|被联想198亿元收购的巨头摩托罗拉,现今如何了?
- 三好先森|基于JeecgBoot快速开发简历库系统,开源项目,实操分享
- 三好先森|「智能家居」小米碰碰贴2使用体验,米家有了新的玩法
- 三好先森|腾讯也扶不起的“阿斗”,十年败光1亿用户,刚刚正式叫停了
- 阿狸先森|小尾巴音质终结者:BEAM 2S解码耳放体验
- 三好先森|苹果公司投资建设两台世界上最大的风电机组,可为2万个家庭供电
- 三好先森|有哪些比较好的视频字幕生成软件?
- 阿狸先森|说好的抵制小米呢?销量前五都是Redmi,多少有点打脸