CentOS DPDK安装

作者: 景山道人 | 来源:发表于2019-01-12 02:37 被阅读0次

DPDK

安装与踩雷

更新:新的一篇出来啦《DPDK简单介绍》,建议直接看这个。距离这篇隔了挺久了,更新了点别的内容,比这篇可能更与时俱进一点吧?关于DPDK,我个人研究其实根本没多少……以后再写相关内容可能就不知道猴年马月去了

下面是好几个月之前的内容了,dpdk都出到19了,回头新写一篇CentOS + Ubuntu两边的贴在这,不过可能得五月底了,因为我到时候如果交个论文上去查重查到自己写的博客,那估计想死的心都有了……总之敬请期待

下面是原文:


最近由于在学校有相关课题,所以花时间下载安装了一下dpdk

万万没想到dpdk这技术出来也挺久了,但是各种相关内容在网上实在不算很多,尤其是由于每个人配置不同,可能会碰到各种各样诡异的问题

我在这里大概记录一下我安装使用dpdk的过程以及过程中踩的坑,希望能帮到后面安装的人吧。

安装

这里注一下转载链接,我安装过程大致是参考这这个博客来的,虽然这个人写的看上去也很像转的,我也懒的去找他转的谁的了,好歹是解决了我的很多问题。

CentOS安装DPDK

那么正式开始:


1. 介绍安装步骤之前自然要先给出一下配置:

属性 内容
平台 Linux
环境 vmware
系统 CentOS 7
CPU 4核(2个 * 2核)
内存 4G
网卡配置 2个以上的虚拟网卡

内存牵扯到大页内存分配的问题,所以最好是大一些,4G应该足够用了

CPU核数也会影响转发效率等因素,所以最好有2核及以上

网络接口由于要绑定IGB UIO,所以至少要有两个


2. 下载解压dpdk

有图形化交互界面自然可以开浏览器上官网下,没有的话就用wget命令吧

注:个人推荐下18.11,因为以前用16.07时遭遇了谜之bug……

上面是以前写的,现在建议直接

git clone https://github.com/DPDK/dpdk.git

官网下载地址

wget http://fast.dpdk.org/rel/dpdk-18.11.tar.xz

下完了之后同样,有桌面就点extract选个地方解压,没有的话

tar xf dpdk-18.11.tar.xz


3. 安装支持dpdk所需的软件等

来自我之前丢出来的博客:

配置 ifconfig:yum install net-tools.x86_64

安装 gcc:yum –y install

安装 gccc++:yum –y install gcc-c++
上面这玩意用不着,下面那个kernel-header实际上应该也不需要

numactl-devel这个是需要的,视情况python也是需要的

安装内核文件: yum install –y kernel-devel kernel-headers

然后:yum install kernel.x86_64 -y

内核文件不更新会出现挺麻烦的问题,如图:

麻烦的问题

这个主要就是build文件里面指向的内核路径和目前的内核头文件不匹配(说实在的我也不是很懂),按理说更新过内核头文件就不会有问题,出了问题的话解决起来主要就是修改build文件的指向路径,删除链接之类的,自行Google吧。


4. 安装dpdk

初学者的话个人推荐脚本安装,反正我是初学者,所以就用脚本安装了。

cd Downloads/dpdk-18.11/usertools

这路径根据自己的安装路径自己改

./dpdk-setup.sh

跑之前记得开启root权限,不然可能编译不了

还有跑之前记得把ifconfig里面随便关两个接口,不关绑不上IGB UIO的

假设我的两个虚拟网卡是ens33, ens37,那么

ifconfig ens 33 down

自己虚拟机里面要关哪个用 ifconfig 查看就是了

不down的后果

不down掉的话,绑定会告诉你ok,然而实际上真相是上面那个not modifying,也就是失败了。

前面长这样 后面长这样

按照我给的这个图,操作顺序大概是15,18,22,24,即

build,插入IGB UIO模块,分配大页内存以及把网络接口绑到IGB UIO上

每次跑脚本都要全部跑一遍,最好按顺序来。

不按顺序的话

输入15编译时遭遇no numa.h

yum install numactl-devel即可

分配大页内存时可以先看看自己的系统是否是numa结构

我查到的方法是可以# grep -i numa /var/log/dmesg看看结果就知道是不是了

不是的话,那就是No NUMA configuration found

分配大页内存时存在虚拟机大页内存为1G或者2MB的差别

这个google一下就有辨别方法了,讲道理一般都是2MB

所以分配大页内存时最好至少输入512,即512 * 2MB

不然……

不然死给你看咯

这个会在跑例程时跳出来搞你,解决办法要么是大页内存开大点,要么是虚拟机内存开大点。


5. 如果到这里都还顺利的话,可以跑28里面的历程测试一下效果

注意事项和可能遭遇的问题都写上面了,要是遇到我没提到的,那爱莫能助了,google吧。

贴个testpmd运行的结果:

结果

行啦,到这如果还没出问题,那么dpdk安装就算是圆满完成了。

相关文章

  • CentOS DPDK安装

    DPDK 安装与踩雷 更新:新的一篇出来啦《DPDK简单介绍》,建议直接看这个。距离这篇隔了挺久了,更新了点别的内...

  • DPDK使用入门(补充)

    DPDK安装 从官网下载DPDK安装包,常用的版本是:dpdk-16.07 1.解压: tarzxvfdpdk-1...

  • 内核升级方法

    工作需要,编译DPDK时需要依赖内核源文件,安装的CENTOS release版本默认没有相关文件,所以就需要升级...

  • centos7 安装DPDK

    1.DPDK下载 下载dpdk18.05: wget http://fast.dpdk.org/rel/dpdk...

  • DPDK-Suricata应用部署

    DPDK安装部署 1、 DPDK下载 下载dpdk-stable-18.02.2.tar.gz并解压,进入解压后d...

  • 安装使用DPDK

    mTCP中使用DPDK将网卡上的数据提取到用户态,然后经过用户态的TCP/IP协议进行处理。DPDK全称Data ...

  • dpdk的安装

    下载稳定的dpdk库wget https://fast.dpdk.org/rel/dpdk-17.11.4.tar...

  • pkt-gen的dpdk版本安装

    一 安装 1.1 安装依赖 1.2 安装dpdk 1.3 报错处理 二 make 三 运行帮助 四 运行 运行转发...

  • Centos7.5下DPDK+Hyperscan环境的搭建

    DPDK的安装 安装环境查看 先给出本人机器的Linux版本、Linux kernel以及kernel-devel...

  • yum安装nginx,mysql,php

    centos7 一、安装nginx 安装mysql(centos7) 安装php centos8 安装php74 ...

网友评论

    本文标题:CentOS DPDK安装

    本文链接:https://www.haomeiwen.com/subject/gflqdqtx.html