1. 安装SPDK 1.1 安装
1 2 $ cat /proc/version Linux version 5.4.0-66-generic (buildd@lgw01-amd64-039) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04))
1 2 3 4 5 6 7 $ git clone git@github.com:spdk/spdk.git $ cd spdk $ git checkout branch v21.01.x $ git submodule update --init
注意:由于网络原因,获取子模块时可能会失败,可通过手动修改github的dns映射解决。
参考https://www.cnblogs.com/melodyjerry/p/13031571.html
1 $ sudo ./scripts/pkgdep.sh
1.2 检测是否安装成功
1 2 3 4 5 6 7 8 $ ./test /unit/unittest.sh ... ... ===================== All unit tests passed ===================== WARN: lcov not installed or SPDK built without coverage! WARN: neither valgrind nor ASAN is enabled!
2. 运行示例程序 2.1 分配大页面 在运行SPDK应用程序之前,必须分配一些大页面,并且必须从本机内核驱动程序中取消绑定任何NVMe和I / OAT设备。SPDK包含一个脚本,可以在Linux和FreeBSD上自动执行此过程。该脚本应该以root身份运行。它只需要在系统上运行一次。
要将设备重新绑定回内核,您可以运行
1 2 3 4 $ sudo scripts/setup.sh reset $ sudo scripts/setup.sh help
2.2 查看系统中所有NVMe设备的示例程序 1 2 3 4 $ pwd /home/pancras/spdk $ sudo ./build/examples/identify ...some info...
Referencehttps://spdk.io/doc/getting_started.html