VPP-20.09版本安装教程(联网版)
一、环境
操作系统: Centos7.4
VPP版本: 20.09
设置阿里云镜像源
注:由于centos官方源下载rpm太慢,vpp依赖的rpm包有几百个,所以选择阿里云镜像源
更新centos-base源参考
centos镜像-centos下载地址-centos安装教程-阿里巴巴开源镜像站
更新epel源参考
epel镜像-epel下载地址-epel安装教程-阿里巴巴开源镜像站
都选择RHEL 7版本
二、安装vpp
1.下载vpp-20.09版本
git clone -b stable/2009 https://github.com/FDio/vpp.git
如果速度太慢可以先把vpp从github上导入到码云,然后从码云下载
2.安装vpp依赖包
cd vpp-20.09
make install-dep
全部选y,安装完成后重启机器,这里重启是因为vpp会更新kernel到最新版本,可以通过 uname -a命令查看,不更新会影响dpdk编译安装
3.编译igb_uio驱动
注: 现在内核基本都自带vfio-pci或者uio_pci_generic驱动,基本不需要igb_uio,而且从2101版本开始igb_uio被移除了
这里是可选项,vpp利用dpdk收包,需要编译igb_uio这个网卡驱动,但是不做vpp也可以运行
有两种方式编译igb_uio驱动
方式一是手动编译安装dpdk的时候编译igb_uio驱动
方式二是修改配置文件,让vpp编译安装dpdk时编译igb_uio驱动,这里采用方式二,方式一可以自行百度,网上有很多教程
cd /home/vpp-20.09/build/external/packages
vi dpdk.mk
# 找到 $(call set,RTE_EAL_IGB_UIO,n)
# 把 n 改成 y 并保存退出
4.安装vpp相关依赖
make install-ext-deps
这里vpp会下载几个依赖的程序,例如dpdk
下载目录是 vpp-20.09/build/external/downloads 可以查看
vpp会把下载的程序压缩包解压编译安装并且制作成一个rpm包,安装包名称是 vpp-ext-deps-20.09-13.x86_64, 这里20.09-13会根据版本有变化
5.编译安装vpp
make build #编译debug版本
make build-release #编译发布版本
三、配置大页内存
大页内存不配置也可以运行,但是配置可以提高程序性能
这里只是举例,如果服务器内存很多那么配置越多越好,例如32G内存可以配置16个
vim /etc/default/grub
# 修改 GRUB_CMDLINE_LINUX 这一行并保存退出
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(大页个数)
# 这里是设置了1个大页内存 大页内存大小是1G linux还支持2M的大页
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
# 通过/proc/meminfo 查看大页内存情况
cat /proc/meminfo
情况如图所示
总大页个数是1 剩余大页个数是1
四、运行VPP
运行vpp前需要了解vpp的可执行程序和配置文件,其次还有vpp运行时会遇到的错误和警告,这里以make build方式举例说明
1.vpp相关文件
编译过后会生成一些可执行程序和依赖的动态库
可执行程序在目录vpp-20.09/build-root/build-vpp_debug-native/vpp/bin
动态库在目录vpp-20.09/build-root/build-vpp_debug-native/vpp/lib
默认配置文件在目录vpp-20.09/build-root/install-vpp_debug-native/vpp/etc/vpp,名称为startup.conf
2.运行vpp
这里举例运行vpp并且指出运行vpp会遇到的问题和解决方法
2.1修改环境变量
vi /etc/profile
在尾部添加
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include:/usr/local/include
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/local/lib:/usr/local/lib64
export CC=/opt/rh/devtoolset-9/root/bin/gcc
export CXX=/opt/rh/devtoolset-9/root/bin/g++
保存退出后执行 source /etc/profile
这里主要是主要是C_INCLUDE_PATH和LD_LIBRARY_PATH,指定程序默认搜索头文件和动态库的路径
CC和CXX是指定gcc和g++版本,这里是因为Centos7安装的gcc是4.8.5,通过更改环境变量CC和CXX可以更换gcc版本
2.2运行vpp
cd vpp-20.09/build-root/build-vpp_debug-native/vpp/bin #切换到vpp可执行程序目录
./vpp -c /home/vpp-20.09/build-root/install-vpp_debug-native/vpp/etc/vpp/startup.conf
这里是默认配置文件运行vpp
2.3动态库找不到错误解决
找不到是因为vpp生成的动态库不在程序搜索的目录下
cd vpp-20.09/build-root/build-vpp_debug-native/vpp/lib
cp -r * /usr/local/lib # 拷贝所有动态库到系统默认目录下
2.4vpp用户组不存在错误
添加vpp用户组即可
groupadd vpp
2.5vpp日志文件创建失败
原因是因为/var/log/vpp目录不存在
mkdir -p /var/log/vpp
2.6vpp证书警告
这个只是警告,不影响运行,但是还是消除掉比较好
cd /etc/ssl/certs/
./make-dummy-cert ca-certificates.crt
2.7运行vpp命令行界面
vpp通过命令行界面与vpp进行交互,可以查看和设置各种内容,留着以后讲解
前提是vpp已经运行了,新开一个终端
cd vpp-20.09/build-root/build-vpp_debug-native/vpp/bin
./vppctl -s /run/vpp/cli.sock
出现这个界面就算成功了
至此vpp已经算是安装好了,并且可以运行,后期将会讲解vpp配置文件
VPP-20.09版本安装教程(联网版)相关推荐
- mysql8.0.20 64位安装教程_MySQL8.0.20压缩版本安装教程图文详解
1.mysql下载地址: http://ftp.ntu.edu.tw/mysql/downloads/mysql-cluster-8.0/ 2.解压以后放在一个文件夹里面,创建my.ini配置文件: ...
- FD.io VPP 20.09版本正式发布:往期VPP文章回顾+下载地址+相关链接
目录 下载RPM/DEB包 往期文章回顾与推荐 FD.io是一些项目和库的集合,基于DPDK并逐渐演化,支持在通用硬件平台上部署灵活可变的业务.FD.io为软件定义基础设施的开发者提供了一个通用平台, ...
- mysql数据库压缩图片_MySQL8.0.20压缩版本安装教程图片加文字详解
1.MySQL下载地址: http://ftp.ntu.edu.tw/MySQL/Downloads/MySQL-Cluster-8.0/ 2.解压以后放在一个文件夹里面,创建my.ini配置文件: ...
- Fortify白盒神器20.1.1安装教程
Fortify白盒神器20.1.1安装教程 本文首发:https://mp.weixin.qq.com/s/ytUEQiEjvB_GvY-Z-SM-Cg Fortify SCA ,是HP的产品 ,是一 ...
- oracle11g r2 64 补丁,win10系统下oracle11g R2的64位版本安装教程
win10下oracle11g r2的64位版本安装教程. 下载 win 64位操作系统 下载地址: https://download.oracle.com/otn/nt/oracle11g/1120 ...
- vim Windows版本安装教程
vim Windows版本安装教程 1.下载 2.安装 3.进入vim 官网地址 github官方地址:https://github.com/vim/vim-win32-installer/relea ...
- Xilinx ISE 14.7 官方Win10版本安装教程(解决Win10闪退问题)
Xilinx ISE 14.7 官方Win10版本安装教程(解决Win10闪退问题) 说在前面 第一步 官网下载 ISE 14.7 Win10 第二步 安装 第三步 运行程序 第四步 Oracle V ...
- mysql官网下载最新版升级版本多版本安装教程
mysql官网下载最新版升级版本多版本安装教程 有好多人经常问我有没有mysql的安装包,很是无语,因为问的很多 ,所以今天就写一个教程. 1.下载安装包 点击打开下载地址:mysql官网下载地址,打 ...
- Vivado2021.2版本安装教程
Vivado2021.2版本安装教程 2021.2版本提取链接:https://pan.baidu.com/s/12P7twkEVErKmqTmkhTnvMg 提取码:2hyr. 第一步:首先打开解压 ...
- python中文版下载安装教程,python最新版本安装教程
python下载安装教程 python下载安装教程:自定义安装目录,点击install进行安装,打开cmd窗口,输入python,显示python的版本,安装成功. Python语言更适合初学者,Py ...
最新文章
- News | 经有限数据研究显示瑞德西韦有望治疗冠状病毒患者
- HBase 参考指南 3.0 翻译活动期待大家的参与 | ApacheCN
- java线程池拒绝策略_Java核心知识 多线程并发 线程池原理(二十三)
- pureMVC介绍及学习
- 只用半小时,只用半小时,只用半小时,给自己一个机会,看完保你web开发一期末不挂科,老师看了都说好
- linux shell判断文件、目录是否存在并移动到指定位置
- 一些杂感杂想(一)谈谈加班、团队
- oracle服务器环境建立,oracle 透明网关环境的建立
- 【MAVEN】如何在Eclipse中创建MAVEN项目
- MyBatis 缓存详解-什么时候开启二级缓存?
- Relaltek声卡在UBUNTU下没有声音的解决方法。
- aix内核是linux,查看Linux及AIX硬件信息方法总结
- 【Java】Socket多客户端Client-Server聊天程序
- Oreo易支付程序开源源码分享发行版V1.3
- Oracle11gR2下搭建DataGuard主备同步详解
- android 崩溃原因,Android SurfaceView常见崩溃的原因以及解决办法
- 城市不透水面空间分析——以宁波为例
- 利用python操作mrjob实例---wordcount
- 行内元素之间产生的间隙
- Oracle 12c升级指南