spdk环境搭建

SPDK环境搭建

  • 运行环境
  • 源码拉取
  • 编译
  • 增加虚拟盘,运行样例

本来21年就写了这篇博客,但因为在博客中放了vmware的密钥,违规了,最近正好又要用到spdk,就重新搭建一下spdk,简单改一下博客再发一遍

运行环境

VMware16+Ubuntu21.04
Ubuntu下载地址:https://repo.huaweicloud.com/ubuntu-releases/
安装后记得换源

源码拉取

官网给出的命令如下
git clone https://github.com/spdk/spdk
cd spdk
git submodule update --init

这一次我没有遇到下载速度慢的问题,,直接就成功了

下载速度慢的可能解决方案
可以将https改成git,或者在com后加入.cnpmjs.org后缀。

git clone git://github.com/spdk/spdk
git clone https://github.com.cnpmjs.org/spdk/spdk

git clone命令完成后,修改spdk文件夹中的.gitmodules文件

[submodule "dpdk"]
	path = dpdk
	url = https://github.com.cnpmjs.org/spdk/dpdk.git
[submodule "intel-ipsec-mb"]
	path = intel-ipsec-mb
	url = https://github.com.cnpmjs.org/spdk/intel-ipsec-mb.git
[submodule "isa-l"]
	path = isa-l
	url = https://github.com.cnpmjs.org/spdk/isa-l.git
[submodule "ocf"]
	path = ocf
	url = https://github.com.cnpmjs.org/Open-CAS/ocf.git
[submodule "libvfio-user"]
	path = libvfio-user
	url = https://github.com.cnpmjs.org/nutanix/libvfio-user.git

最后再执行

cd spdk
git submodule update --init

彻底解决git clone以及 recursive慢的问题

git相关策略

  1. 关闭电脑代理,重置git代理
git config --global --unset http.proxy 
git config --global --unset https.proxy
  1. 修改hosts文件,添加github与ip地址映射 https://github.com/521xueweihan/GitHub520
  2. 重启网络或主机

不过最后还是重启比较有效,git主打一个运气

编译

sudo ./scripts/pkgdep.sh  #安装依赖
sudo ./configure
make
./test/unit/unittest.sh   # 中途报错无所谓,脚本末尾的最后一条消息表示成功或失败。

spdk环境搭建_第1张图片

增加虚拟盘,运行样例

在运行SPDK应用程序之前,必须分配一些大页面,并且必须从本机内核驱动程序中取消绑定任何NVMe和I / OAT设备。SPDK包含一个脚本,可以在Linux和FreeBSD上自动执行此过程。该脚本应该以root身份运行。它只需要在系统上运行一次。
在VMware上增加一个未格式化NVMe硬盘
spdk环境搭建_第2张图片
注意要是新的硬盘设备(x:0)
不需要任何分区,挂载,格式化操作,裸盘即可
添加完之后用lsblk命令查看是否添加成功(nvme1n1)
spdk环境搭建_第3张图片
而后运行

sudo scripts/setup.sh  #绑定空白盘
sudo build/example/hello_world #运行测试用例

问题: No valid drivers found [vfio-pci, uio_pci_generic, igb_uio]. Please enable one of the kernel modules.

由于虚拟机切换过内核,有些模块没装,故装一下extra-module
spdk环境搭建_第4张图片
docker ubuntu镜像中 缺少uio驱动和uio_pci_generic驱动的问题

绑定与解绑操作,HUGEMEM默认是2G
spdk环境搭建_第5张图片
spdk环境搭建_第6张图片

spdk github地址:
https://github.com/spdk/spdk
spdk官方文档中文版
英文官网地址:
https://spdk.io/doc/

你可能感兴趣的:(zns,spdk)