DPDK+OpenvSwitch-centos7.4安装
系统版本
[root@controller ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
DPDK版本:
dpdk-18.02
硬件支持检查:
$grep hpet/proc/timer_list //需支持hpet
如无显示,需设置BIOS:Advanced -> PCH-IO Configuration -> High Precision Timer ->(Change from Disabled to Enabled if necessary)
[root@controller ~]# grep hpet /proc/timer_list
Clock Event Device: hpet
set_next_event: hpet_legacy_next_event
set_mode: hpet_legacy_set_mode
安装必要软件:
yum install -y lrzsz gcc make numactl-devel pciutils
安装kernel-devel和kernel-headers 需要跟自己的内核版本对应上,我的是3.10.0-693.el7.x86_64(centos7.4),那就需要安装对应的的kernel-devel-3.10.0-693.el7.centos.x86_64.rpm,kernel-headers-3.10.0-693.el7.centos.x86_64.rpm
用yum info kernel-headers检查当前yum源中的kernel信息,如果对不上大家可以自行下载src包进行编译

我也是编译好的这里就直接安装了
yum localinstall kernel-devel-3.10.0-693.el7.centos.x86_64.rpm
yum localinstall kernel-headers-3.10.0-693.el7.centos.x86_64.rpm
编译DPDK的时候需要用到这个目录
ln -sf /usr/src/kernels/3.10.0-693.el7.centos.x86_64/ /lib/modules/3.10.0-693.el7.x86_64/build
配置hugepages页
mkdir -p /dev/hugepages
mount -t hugetlbfs none /dev/hugepages -o pagesize=2MB
echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
echo 1024 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
查看hugepages页
[root@controller ~]# cat /proc/meminfo |grep Huge
AnonHugePages: 1781760 kB
HugePages_Total: 2048
HugePages_Free: 2048
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
开机挂载hugepages页目录
[root@controller ~]# egrep -v "^#|^$" /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
UUID=f3da6cd0-9c70-4683-be74-265a8ffe3e92 /boot xfs defaults 0 0
nodev /dev/hugepages hugetlbfs pagesize=1GB 0 0
赋予权限(正常下载dpdk的这个过程可以不用看,我是从别的机器上cp安装文件的有些文件没有执行权限)
chmod +x /root/dpdk-18.02/x86_64-native-linuxapp-gcc/app/dpdk-pmdinfogen
chmod +x /root/dpdk-18.02/buildtools/*
开始安装DPDK,cd到dpdk目录执行:
make install T=x86_64-native-linuxapp-gcc DESTDIR=/usr/src/dpdk
T就是你的机器架构,dpdk官方上有解释。
DESTDIR 就是dpdk安装目录
正常情况不会有报错的按照上面的方法。
根据需要导入对应的模块,当然也可以全部导入
1、UIO
一个用于设置设备的小内核模块,将设备内存映射到用户空间并注册中断。在许多情况下,Linux内核中包含的标准uio_pci_generic模块可以提供uio功能。
该模块可以使用以下命令加载:
modprobe uio_pci_generic
2、对于一些不支持传统中断的设备,例如虚拟功能(VF)设备,可能需要使用igb_uio模块来代替uio_pci_generic。
modprobe uio
insmod kmod/igb_uio.ko #kmod路径在/root/dpdk-18.02/x86_64-native-linuxapp-gcc/kmod,在dpdk源码文件的地方
3、VFIO
依靠IOMMU保护,与UIO相比,它是更强大,更安全的驱动程序。要使用VFIO,必须加载vfio-pci模块:
注意:内核必须版本必须>=v3.6.0,必须支持硬件IO虚拟化(如 Intel® VT-d)
绑定网卡测试:
cd /root/dpdk-18.02/usertools
查看网卡绑定状态:
[root@controller usertools]# ./dpdk-devbind.py --status

Network devices using DPDK-compatible driver这栏中为<none>就是还没有绑定的网卡, 紫色框中就是可以绑定的网卡的名称
绑定网卡:
[root@controller usertools]# ./dpdk-devbind.py --bind=uio_pci_generic 02:00.1
--bind=可以改成上面说到的三种模块
02:00.1 网卡的设备号,这里也可以时候网卡的名字
查看下绑定情况

取消绑定:
./dpdk-devbind.py --bind=igb 02:00.1 #igb就是普通的网卡或者ixgbe都行
DPDK+OpenvSwitch-centos7.4安装的更多相关文章
- 在centos7上安装Jenkins
在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...
- CentOS7 Jenkins安装
CentOS7 Jenkins安装 CentOS7 Jenkins安装 Download 从Jenkins下载apache-tomcat-8.0.18.tar.gz Install 安装 上传RPM文 ...
- 在 CentOS7 上安装 zookeeper-3.4.9 服务
在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...
- 在 CentOS7 上安装 MongoDB
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...
- 在 CentOS7 上安装 MySQL5.7
在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...
- 在 CentOS7 上安装 Tomcat9
在 CentOS7 上安装 Tomcat9 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目 ...
- 在CentOS7上安装JDK1.8
在CentOS7上安装JDK1.8 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目录 to ...
- centos7.0 安装字体库
最近在centos7.0下用itextpdf将word文档转成pdf时出现字体丢失的情况.网上找了很多资料,各式各样的原因和解决方法.后来经过一番测试发现是centos7.0 minimal没有安装相 ...
- 在centos7中安装Robot Framework
安装前景介绍: 最初,我们是在Windows环境下搭建Robot Framework来对我们的服务进行接口测试的(想知道如何在Windows下安装Robot Framework,可以参考我同事的博客h ...
- CentOS7 yum 安装git
1.查看系统是否已经安装git git --version 2.CentOS7 yum 安装git yum install -y git 3.安装成功 4.卸载git yum remove git
随机推荐
- Spark记录-本地Spark读取Hive数据简单例子
注意:将mysql的驱动包拷贝到spark/lib下,将hive-site.xml拷贝到项目resources下,远程调试不要使用主机名 import org.apache.spark._ impor ...
- CS53 C 单调栈
给出一个目标序列,初始序列为0,你有一种操作方式可以将某段值相同的区间全部加上一定的值,问得到目标序列的最小次数. 开始没注意要求值相同,想都不想就暴力了,后来发现对于每个峰,只要找每个相对峰顶的阶数 ...
- Angular 下的 directive (part 2)
ngCloak ngCloak指令被使用在,阻止angular模板从浏览器加载的时候出现闪烁的时候.使用它可以避免闪烁问题的出现. 该指令可以应用于<body>元素,但首选使用多个ng ...
- HDU 4472 Count DP题
解题报告:题目大意,给你n个球,要将这n个球从下到上按层次排列,要求同一个层次的的每一个分支的数量都必须相等,问有多少种排列的方法. 此题的一个DP题,假设现在有n个球,要将这n个球排列好,我们就必须 ...
- 用U盘安装 win7 ”找不到任何设备驱动程序“ 和 系统出现 windows boot manager 解决方案
用U盘安装win7系统时,系统交替的出现了如下的2个错误,捣鼓了半天,记录下来: 问题1描述: 安装win7时 ”找不到任何设备驱动程序“ 问题2描述: 安装win7时,用U盘启动后, 系统出现 ...
- 记关于vue-cli3 本地代理模拟数据的实践
网上说的基本都是使用express或http-server作为服务器或其它什么东西自己把玩php也有些年头,就用php好了 服务环境 apache,php先配置好隐藏php后缀扩展名: 在httpd. ...
- Vue 使用 prerender-spa-plugin 添加loading
主要配置代码: new PrerenderSPAPlugin({ staticDir: path.join(__dirname, 'dist'), routes: ['/', '/introducti ...
- source insigh安装使用
下载和安装: 最好去官网下载(http://www.sourceinsight.com/),最新版本是3.5. 第一次去六维下载了sourceinsight,免安装,但是打开后发现界面没有任何窗口,全 ...
- TCP/UDP区别&&心跳包机制【转】
转自:https://www.jianshu.com/p/6d93a3c21c34 UDP:用户数据报协议:主要用在实时性要求比较高的以及对质量相对较弱的地方.但是面对现在高质量的线路不会容易丢包,除 ...
- Linux中断(interrupt)子系统之四:驱动程序接口层 & 中断通用逻辑层【转】
转自:http://blog.csdn.net/droidphone/article/details/7497787 在本系列文章的第一篇:Linux中断(interrupt)子系统之一:中断系统基本 ...