环境
Centos 7.6.1810
dpdk 17.11.6
ovs 2.9.0
pktgen 3.4.4
lua 5.3.4
docker 1.13.1
提示:以上版本都是测试过的,属于稳定版本,不推荐使用最新版本,容易出现问题
安装教程
所有事情需要在root权限下进行
1.安装lua
https://blog.youkuaiyun.com/wh_computers/article/details/99404893
2.安装dpdk
下载地址http://fast.dpdk.org/rel/dpdk-17.11.6.tar.gz
解压,如果解压出现错误一般是文件有问题,注意下载完整
tar -xvf dpdk-17.11.6.tar.gz
进入dpdk目录
cd dpdk-stable-17.11.6/
首先设置环境变量
echo export RTE_SDK=$(pwd) >>~/.bashrc
echo export RTE_TARGET=x86_64-native-linuxapp-gcc >> ~/.bashrc
source ~/.bashrc
修改配置文件
vim config/common_base
设置CONFIG_RTE_LIBRTE_VHOST=y
安装相关依赖
yum install libpcap-devel kernel*
yum install numactl-devel
执行命令下面命令安装
make config T=$RTE_TARGET
make install T=$RTE_TARGET -j8
一般就能成功,如果有其他错误请搜索相关错误及解决方案
安装完成后要分配大页
vim /etc/default/grub #打开grub文件
修改这一行
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet default_hugepagesz=1G hugepagesz=1G hugepages=1"
加上default_hugepagesz hugepagesz hugepages,分别是默认大页大小,每个大页大小,大页个数
修改完成后
输入 grub2-mkconfig -o /boot/grub2/grub.cfg 使配置生效
最后reboot重启
分配完需要对大页进行挂载
mkdir -p /dev/hugepages
mount -t hugetlbfs none /dev/hugepages
mkdir -p /mnt/huge
mount -t hugetlbfs -o pagesize=1G none /mnt/huge
查看大页
grep Huge /proc/meminfo
AnonHugePages: 212992 kB
HugePages_Total: 1
HugePages_Free: 1
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 1048576 kB
3.安装pktgen
下载地址http://git.dpdk.org/apps/pktgen-dpdk/snapshot/pktgen-3.4.4.tar.gz
解压
tar -xvf pktgen-3.4.4.tar.gz
进入目录
cd pktgen-3.4.4/
输入make执行
make
ln -s $(pwd)/app/$RTE_TARGET/pktgen /usr/bin/pktgen
如果机子没联网就会失败,因为需要下载lua-5.3.4.tar.gz,需要手动下载下来同时把文件放在pktgen-3.4.4/lib/lua目录下就可以了 ,重新make
4.安装ovs
下载地址https://www.openvswitch.org/releases/openvswitch-2.9.0.tar.gz
解压
tar -xvf openvswitch-2.9.0.tar.gz
进入目录
cd openvswitch-2.9.0/
依次执行下列命令
./boot.sh
CFLAGS='-march=native' ./configure --with-dpdk=$RTE_SDK/$RTE_TARGET
make
make install
安装完成后需要设置一下,执行下列命令,如果环境没有写进环境变量文件的话,每次重启都要执行一遍
export PATH=$PATH:/usr/local/share/openvswitch/scripts
export DB_SOCK=/usr/local/var/run/openvswitch/db.sock
ovs-ctl start
5.安装docker
yum install docker