如果根文件系统安装在 NVMe 设备上,如何将 spdk 驱动程序绑定到 NVMe 设备?

如果根文件系统安装在 NVMe 设备上,如何将 spdk 驱动程序绑定到 NVMe 设备?

我正在尝试SPDK在 Ubuntu 20.04(Linux 内核 5.4.0)中使用它来运行存储应用程序。我的 NVMe SSD 分配如下:

$ lsblk
...
nvme0n1                   259:1    0   1.5T  0 disk
├─nvme0n1p1               259:2    0   512M  0 part /boot/efi
├─nvme0n1p2               259:3    0     1G  0 part /boot
└─nvme0n1p3               259:4    0   1.5T  0 part
  └─ubuntu--vg-ubuntu--lv 253:0    0   200G  0 lvm  /

我关注了入门来自 SPDK 文档的指南。它是建议在绑定 SPDK 驱动程序之前,应卸载设备上的任何文件系统。由于我的根 ( /) 文件系统已安装在设备中,因此我umount /在运行之前运行了scripts/setup.sh。SPDK 驱动程序可能未正确绑定到 NVMe 设备,因为示例应用程序identify无法运行。我不确定文件系统是否已正确卸载,因为/bin/sh此后我仍然使用 shell ()。

当我尝试使用 恢复 Linux 原生内核驱动程序时scripts/setup.sh reset,nvme 设备会获得一个新名称nvme0n2,并且整个文件系统仍为只读。然后我必须再次物理重启机器。

SPDK在这种情况下我该如何使用?

答案1

你不能这么做。获取第二个 NVMe 仅用于测试和开发。

答案2

从 SPDK Slack 频道得到答复,我无法将 SPDK 驱动程序绑定到已安装根文件系统的设备。我要么需要一个单独的设备来包含根文件系统,要么使用 VM 来运行 SPDK。

相关内容