我正在尝试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。