如何在 Linux 下将 SPDK 管理的 NVMe 设备公开为常规块设备?

问题描述 投票:0回答:1

我正在构建一个项目,需要重写一个新的 I/O 堆栈,向 NVMe SSD 发出 I/O 请求,目前我正在使用 SPDK 编写一个原型来测试初步性能。我需要使用许多基准测试,例如 MySQL 工作负载和 YCSB,来测试性能。但是,由于 SPDK 实现了一个不由操作系统处理的独特 I/O 堆栈,因此我无法在 Linux 下将 NVMe SSD 作为常规块设备进行访问。而且SPDK仅支持使用RocksDB和FIO进行测试,因此我无法像往常一样使用基准测试来进行测试。

因此,我的问题是,如何将 SPDK 管理的 NVMe SSD 暴露为 Linux 下的常规块设备,同时仍然使用我的 I/O 堆栈处理对 SSD 的 I/O 请求?我听说这个功能是由SPDK开发人员启用的,但我找不到如何做到这一点。谢谢。

linux storage solid-state-drive
1个回答
0
投票
如果您想使用 spdk 驱动程序访问 nvme 驱动器,

ublk Target (https://spdk.io/doc/ublk.html) 将在这里提供帮助。

另一种方法是通过 nvmeof 创建远程目标。 Linux 内核 nvme 将能够通过 nvmeof 连接到远程目标 (https://spdk.io/doc/nvmf.html)。

© www.soinside.com 2019 - 2024. All rights reserved.