0

我在 Linux 服务器上运行 nvmet-tcp。我正在尝试将 nvme 设备从服务器传递到客户端。它实际上工作正常。首先,我会在服务器上加载 nvmet 和 nvmet-tcp

modprobe nvmet
modprobe nvmet-tcp

然后我会创建一个子系统

cd /sys/kernel/config/nvmet/subsystems
mkdir test

并设置所有参数。之后,我会转到 /sys/kernel/config/nvmet/subsystems/test/nvmet 中的命名空间文件夹

cd test/namespaces
mkdir 1
mkdir 2
mkdir 3

随后,标准配置

echo -n /dev/sda1 > 1/device_path
echo -n /dev/sda2 > 2/device_path
echo -n /dev/sda3 > 3/device_path

并启用所有这些:

echo -n 1 > 1/enabled
echo -n 1 > 2/enabled
echo -n 1 > 3/enabled

After—激活端口(正确配置后)

cd /sys/kernel/config/nvmet/ports/1/subsystems/
ln -s  ../../../subsystems/test .

那会启动端口,它会工作得很好。在主机上,我将连接:

nvme connect -t tcp -n test -a 10.10.1.42 -s 4420

唯一的问题是,当我列出命名空间时,我得到了一个额外的“-1”命名空间。

nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev  
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     76b9b4aeef600ece     Linux                                    -1          0.00   B /   0.00   B      1   B +  0 B   5.13.0-2
/dev/nvme0n2     76b9b4aeef600ece     Linux                                    1           2.00  GB /   2.00  GB    512   B +  0 B   5.13.0-2
/dev/nvme0n3     76b9b4aeef600ece     Linux                                    2           2.00  GB /   2.00  GB    512   B +  0 B   5.13.0-2
/dev/nvme0n4     76b9b4aeef600ece     Linux                                    3           2.00  GB /   2.00  GB    512   B +  0 B   5.13.0-2

事实上,一切都很好,以至于我能够即时创建一个新的命名空间,主机会看到它并自动将它安装为一个单独的磁盘。但我不知道如何调试/处理首先安装在那里的 -1 磁盘。

有人可以建议吗?

4

0 回答 0