SPDK软件环境搭建

下载获取源码

git clone https://github.com/spdk/spdk
cd spdk
git submodule update --init

git submodule update --init 失败和网速有关,多试几次。

安装相关依赖

sudo scripts/pkgdep.sh

编译源文件

sudo ./configure
sudo make

运行单元测试

./test/unit/unittest.sh

在这里插入图片描述

运行示例

sudo scripts/setup.sh //绑定NVMe设备
cd build/examples
./hello_world

问题总结

Initializing NVMe Controllers
no NVMe controllers found

执行示例demo只出现上述信息,系虚拟机系统未添加NVMe硬盘。添加步骤如下:
1.右键单击清单中的虚拟机,然后选择编辑设置。
2.在虚拟硬件选项卡上,单击添加新设备按钮。
3.从下拉菜单中选择 NVMe 控制器。
4.控制器会显示在“虚拟硬件”设备列表中。
5.单击确定。
注意:添加NVMe硬盘后不需要挂载。

0000:03:00.0 (15ad 07f0): Active devices: mount@nvme0n1:nvme0n1, so not binding PCI dev

绑定NVMe设备时,出现上述信息,系NVMe设备已经在使用,无法解除内核驱动,此时需要将该设备初始化或者其他的方法。

[root@node1 scripts]#lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 931.5G  0 disk 
├─sda1            8:1    0   200M  0 part /boot/efi
├─sda2            8:2    0     1G  0 part /boot
└─sda3            8:3    0 930.3G  0 part 
  ├─centos-root 253:0    0   150G  0 lvm  /
  ├─centos-swap 253:1    0  15.7G  0 lvm  [SWAP]
  └─centos-home 253:2    0 764.6G  0 lvm  /home
nvme0n1         259:0    0 349.3G  0 disk /home/wangrui/data
 
[root@node1 scripts]#umount /dev/nvme0n1 
[root@node1 scripts]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0 931.5G  0 disk 
├─sda1            8:1    0   200M  0 part /boot/efi
├─sda2            8:2    0     1G  0 part /boot
└─sda3            8:3    0 930.3G  0 part 
  ├─centos-root 253:0    0   150G  0 lvm  /
  ├─centos-swap 253:1    0  15.7G  0 lvm  [SWAP]
  └─centos-home 253:2    0 764.6G  0 lvm  /home
nvme0n1         259:0    0 349.3G  0 disk 
 
[root@node1 scripts]# ./setup.sh 
0000:80:04.2 (8086 6f22): ioatdma -> uio_pci_generic
0000:80:04.3 (8086 6f23): ioatdma -> uio_pci_generic
0000:80:04.0 (8086 6f20): ioatdma -> uio_pci_generic
0000:80:04.1 (8086 6f21): ioatdma -> uio_pci_generic
0000:80:04.6 (8086 6f26): ioatdma -> uio_pci_generic
0000:80:04.7 (8086 6f27): ioatdma -> uio_pci_generic
0000:80:04.4 (8086 6f24): ioatdma -> uio_pci_generic
0000:80:04.5 (8086 6f25): ioatdma -> uio_pci_generic
0000:00:04.2 (8086 6f22): ioatdma -> uio_pci_generic
0000:00:04.3 (8086 6f23): ioatdma -> uio_pci_generic
0000:00:04.0 (8086 6f20): ioatdma -> uio_pci_generic
0000:00:04.1 (8086 6f21): ioatdma -> uio_pci_generic
0000:00:04.6 (8086 6f26): ioatdma -> uio_pci_generic
0000:00:04.7 (8086 6f27): ioatdma -> uio_pci_generic
0000:00:04.4 (8086 6f24): ioatdma -> uio_pci_generic
0000:00:04.5 (8086 6f25): ioatdma -> uio_pci_generic
0000:03:00.0 (8086 2701): nvme -> uio_pci_generic
nvme -> uio_pci_generic

绑定NVMe设备时,出现上述信息,即绑定成功

df@df-virtual-machine:~/spdk$ sudo ./build/examples/hello_world 
TELEMETRY: No legacy callbacks, legacy socket not created
Initializing NVMe Controllers
Attaching to 0000:03:00.0 
Attached to 0000:03:00.0   
 Namespace ID: 1 size: 10GB 
Initialization complete. 
INFO: using host memory buffer for IO 
Hello world!

参考

https://spdk.io/doc/getting_started.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值