动态DNS与DPDK高性能DNS -DPDK环境搭建

工具准备: vmware + Ubuntu 16.04 Server 版本

1.vmware 添加两块网卡

桥接网卡作为 DPDK 运行的网卡

NAT 网卡作为 ssh 连接的网卡

2.修改网卡配置信息

将 ethernet0.virtualDev 由 e1000 修改 vmxnet3,因为 vmware 的 vmxnet3 支持多队

列网卡

3.修改 ubuntu 系统的启动参数

物理机:default_hugepages=1G hugepagesz=1G hugepages=20 isolcpus=0-7

虚拟机:default_hugepages=1G hugepagesz=2M hugepages=1024 isolcpus=0-2

4.查看系统是否支持多队列网卡

执行:cat /proc/interrupts

5.编译 DPDK

下载 dpdk : 

https://core.dpdk.org/download/

可以通过 usertools/dpdk-setup.sh

64 位系统选择 39.

编译完会多出 x86_64-native-linux-gcc 的文件夹

6.设置 DPDK 的环境变量

# export RTE_SDK=/home/dpdk

# export RTE_TARGET=x86_64-native-linux-gcc

7.执行 testpmd

执行

# /usertools/dpdk-setup.sh

选择 43 插入 IGB_UIO 模块, 选择网卡为 vmxnet3 会加载此模块

选择 44 插入 VFIO 模块,选择网卡为 e1000 会加载此模块

选择 49 绑定 igb_uio 模块, 也可以退出,通过命令来执行。

# ifconfig eth0 down

# /usertools/dpdk-devbind.py --bind=igb_uio eth0

选择 53 运行 testpmd

> show port info 0

8.编译 DPDK 程序

进入 example/helloworld ,

可以直接 make,

也可以通过 gcc 命令编译

# gcc -o helloword main.c -I /usr/local/include/dpdk/ -ldpdk -lpthread -

lnuma -ldl

附:dpdk学习体系,关注 私信回复:1,领取对应学习视频

专注于C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等等多个知识点高级技术分享

你可能感兴趣的:(动态DNS与DPDK高性能DNS -DPDK环境搭建)