在滴滴云DC2服务器上搭建DPDK应用实例

随着人们对高性能网络的要求,DPDK的应用也越来越广,很多同学希望通过运行简单的DPDK实例来进行学习实践。但购买一台物理机价格不菲,同时也不能在不用时释放,而滴滴云DC2服务器实例可以根据实际使用需求来满足要求。本文介绍了如何基于滴滴云的DC2实例,来搭建DPDK的应用实例。

创建DC2

相关购买和创建流程可以查看滴滴云官网帮助文档,这里不再做过多介绍,直接进入主题。

下载DPDK

本文以dpdk17.11.4版本为例

下载dpdk:wget https://fast.dpdk.org/rel/dpdk-17.11.4.tar.xz

解压:tar xvJf dpdk-17.11.4.tar.xz

编译DPDK

进入DPDK目录

执行:cd dpdk-stable-17.11.4

导入环境变量

执行:export RTE_SDK=`pwd`

执行:export RTE_TARGET=x86_64-native-linuxapp-gcc

编译安装DPDK

执行:make install T=x86_64-native-linuxapp-gcc

  • 编译错误1

报错:

make: *** /lib/modules/3.10.0-693.21.1.el7.x86_64/build: No such file or directory. Stop.

处理:需要修改内核编译目录

执行:cd /lib/modules/3.10.0-693.21.1.el7.x86_64/

执行:rm build

执行:ln -s /usr/src/kernels/3.10.0-693.21.1.el7.x86_64.debug build

  • 编译错误2

报错:

/home/dc2-user/dpdk-stable-17.11.4/lib/librte_eal/linuxapp/eal/eal_memory.c:56:18: fatal error: numa.h: No such file or directory #include <numa.h>

处理:需要安装numactl-devel

执行:yum install numactl-devel

安装DPDK

配置大叶内存

执行:

echo 64 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages 分配64页2M的大叶

mkdir /mnt/huge

mount -t hugetlbfs nodev /mnt/huge

查看配置结果: cat /proc/meminfo 会显示对应的大叶分配了64页

安装igb_uio驱动

执行:

modprobe uio

insmod x86_64-native-linuxapp-gcc/kmod/igb_uio.ko

错误

insmod: ERROR: could not insert module x86_64-native-linuxapp-gcc/kmod/igb_uio.ko: Invalid module format

处理

执行:yum install kernel-devel 更新对应内核版本

执行:cd /lib/modules/3.10.0-693.21.1.el7.x86_64/ 进入到目录

执行:rm build 删除原有软连接

执行:ln -s /usr/src/kernels/3.10.0-693.21.1.el7.x86_64 build 创建新的软连接

再次重新编译安装DPDK即可

绑定网卡

因为只有一块网卡,需要先Down掉网卡,导致SSH连接失败,所以需要先从控制平台远程连接过去(该步骤详情可查看滴滴云帮助文档)。然后执行如下步骤 :

执行:ifconfig eth0 down Down掉接口

执行:./usertools/dpdk-devbind.py --status 查看对应的PCI信息

执行:./usertools/dpdk-devbind.py -b igb_uio 0000:00:03.0 绑定网卡

运行hello world实例

  • 编译hello world实例

执行:export RTE_SDK=`pwd`

执行:export RTE_TARGET=x86_64-native-linuxapp-gcc

执行:cd example/helloworld

执行:make

  • 运行hello world实例

执行:./build/helloword

显示:(执行成功)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2218410/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31559758/viewspace-2218410/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值