- 下載dpdk包並解壓
- 配置環境變量
- 編譯dpdk
- 測試dpdk
- 參考文章
1. 下載dpdk安裝包
http://core.dpdk.org/download/
下載 dpdk-19.02.tar.xz
解壓到本地目錄/home下: tar -xf dpdk-19.02.tar.xz
2. 環境變量配置:
在dpdk-19.08下,創建一個dpdkenv的文件,在裏面填充如下內容:
export RTE_SDK=’/home/dpdk-19.02’ (pwd爲你dkdk的解壓目錄),
export RTE_TARGET=x86_64-native-linuxapp-gcc (對於64位機用這個命令,對於32位機用i686-native-linuxapp-gcc)
執行一下 source dpdkenv.
查看環境變量是否設置好:env |grep RTE
3. 通過dpdk提供的腳本安裝dpdk
到 /home/dpdk-19.02/usertools目錄下,執行./dpdk-setup.sh,依次選擇執行以下操作:
- 配置編譯的環境:
- 加載igb uio模塊:
- 配置大頁:
- 綁定網卡:
執行腳本過程中,可能出現以下各種問題:
-
沒有安裝gcc命令:
解決辦法:yum -y install gcc 安裝gcc環境 -
沒有安裝依賴庫 numa.h
解決辦法:yum install numactl-devel*x86_64,安裝numa.h相關庫即可解決. -
uio模塊沒有加載
解決辦法:modprobe uio,手動向內核中加載uio模塊。 -
內核版本和dpdk的模塊版本不一致導致的問題
解決辦法:1 #cat /etc/redhat-release
2 CentOS Linux release 7.6.1810 (Core)
4 #uname -r 查看一下系統版本
5 3.10.0-957.el7.x86_64
6 #rpm -qa kernel 通過rpm命令查看我所安裝的內核版本
7 kernel-3.10.0-957.el7.x86_64
8 #ls /usr/src/kernels/ 查看有沒有相應的內核開發包
9 空 如果該目錄下沒有系統內核源碼,執行以下操作
10 #yum install kernel-devel 安裝內核頭文件後
11 #ls /usr/src/kernels/
12 3.10.0-1062.12.1.el7.x86_64
13 兩個版本號不一致,進行升級並重啓
18 #yum -y update kernel kernel-devel
19 #reboot
20 再此查看,版本號一致,問題解決
21 #ls /usr/src/kernels/
22 3.10.0-1062.12.1.el7.x86_64
23 #uname -r
24 10.0-1062.12.1.el7.x86_64 -
無法綁定網卡:不down掉的話,綁定會告訴你ok,然而實際上真相是下面那個not modifying,也就是失敗了。
解決辦法:ifconfig ens33 down,關掉一個網卡,才能綁定dpdk。
ens33down掉之後,出現了無法連接xshell的情況。一般reboot之後,ens33會重新啓動,問題消失。
4.測試dpdk
完成以上內容環境就配置完成了,下面我們來測試一下,測試程序在/home/dpdk-19.02/example/helloworld目錄下:
-
在dpdk-19.0/目錄下 配置環境變量:source dpdkenv
-
在dpdk-19.02/example/helloworld/目錄下 編譯:make,之後生成一個build目錄
-
執行可執行文件:./build/helloworld
我遇到了以下問題:
從上面的輸出中發現是 hugepage 相關的問題,執行了下面的操作:sudo su -c ‘echo 128 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages’
再執行./build/helloworld,成功輸出:
到此爲止dpdk安裝正確!!!
5.參考:
2篇很好的文章:
https://blog.csdn.net/u010411205/article/details/100895584
https://blog.csdn.net/weixin_28712713/article/details/100804163
uname -r和/usr/src下的版本號不一致問題: https://www.cnblogs.com/pureyes/p/4127499.html
cannot get hugepage information問題: https://blog.csdn.net/Longyu_wlz/article/details/102994876