三星SR 1733/1735 NVMe SSD宣布支持SR。我希望建立一个NVMe SR环境,使用PM1735 SSD.我的SSD的dev描述是/dev/nvme1 1。
然而,我尝试使用像echo 4 > /sys/class/nvme/nvme1/device/sriov_numvfs这样的命令。
dmesg信息包含
[ 1239.732278] nvme nvme2: pci function 0000:86:00.1
[ 1239.732359] nvme 0000:86:00.1: enabling device (0000 -> 0002)
[ 1239.732365] pci 0000:86:00.2: [144d:a824] type 00 class 0x010802
[ 1239.733053] iommu: Adding device 0000:86:00.2 to group 164
[ 1239.733402] nvme nvme3: pci function 0000:86:00.2
[ 1239.733473] pci 0000:86:00.3: [144d:a824] type 00 class 0x010802
[ 1239.733477] nvme 0000:86:00.2: enabling device (0000 -> 0002)
[ 1239.734117] iommu: Adding device 0000:86:00.3 to group 165
[ 1239.734485] nvme nvme4: pci function 0000:86:00.3
[ 1239.734557] pci 0000:86:00.4: [144d:a824] type 00 class 0x010802
[ 1239.734782] nvme 0000:86:00.3: enabling device (0000 -> 0002)
[ 1239.735066] iommu: Adding device 0000:86:00.4 to group 166
[ 1239.735352] nvme nvme5: pci function 0000:86:00.4
[ 1239.735631] nvme 0000:86:00.4: enabling device (0000 -> 0002)
[ 1270.289730] nvme nvme2: Device not ready; aborting initialisation
[ 1270.289794] nvme nvme2: Removing after probe failure status: -19
[ 1270.293724] nvme nvme4: Device not ready; aborting initialisation
[ 1270.293727] nvme nvme5: Device not ready; aborting initialisation
[ 1270.293732] nvme nvme5: Removing after probe failure status: -19
[ 1270.293783] nvme nvme4: Removing after probe failure status: -19
[ 1270.297647] nvme nvme3: Device not ready; aborting initialisation
[ 1270.297703] nvme nvme3: Removing after probe failure status: -19lspci | grep Non可以发现
86:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824
86:00.1 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824
86:00.2 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824
86:00.3 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824
86:00.4 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a824VFs是否正确创建?
另一个问题是如何将名称空间与VFs绑定。我使用nvme-cli从/dev/nvme创建名称空间,但是如何将这些名称空间绑定到/dev/nvme?
发布于 2021-03-22 10:37:10
使用nvme cli命令分配VQ和VI,并启用该控制器并将该vf导出到vm。
示例命令nvme list -备用/dev/nvme1n1 ->所有辅助控制器列表的输出
nvme virt /dev/nvme1n1 -c 1 -r 0 -n 2->为辅助控制器1分配2个VQs
nvme virt /dev/nvme1n1 -c 1 -r 1 -n 2->为辅助控制器1分配2 VIs
nvme virt /dev/nvme1n1 -c -a 9->启用辅助控制器1
nvme列表-备用/dev/nvme1n1 ->检查第一个条目被更新,现在显示为联机。
现在将此vf导出到vm。
发布于 2021-02-23 03:16:07
您可能需要检查nvme规范1.4 (第320页,8.5节虚拟化增强)。我想你还需要配置VQ和VI)。
发布于 2021-04-15 06:09:35
首先使用nvme create命令创建nvme名称空间,然后使用nvme附加-ns附加到控制器,创建单个或多名称空间,然后创建VF并尝试导出。
将VF导出到VM。
安装并安装Guest (centos或unbuntu等)我用的是Ubuntu。您也可以参考- https://help.ubuntu.com/community/KVM/VirtManager
现在,您有VFs和VM。
要导出,请选择任意Guest选择open,并在新窗口中选择选项,并选择PCI并添加VF 0000:86:00.1/2/3/4设备运行客户操作系统。在lsblk中,您将找到一个char设备/dev/nvme0 0和块设备/dev/nvme0n1,现在可以在块设备上运行fio了。
https://stackoverflow.com/questions/65350988
复制相似问题