滴滴云 DC2 搭建 VPP 环境
Cisco 开源了自己的数据包处理框架,并将其纳入 Linux 基金会的 FD.io,开源的内容就是 VPP。
这个 VPP 实现了 VSwitch、VRouter 等功能,对于当前的云网络有很大的用处,很多公司也开始使用 VPP 来搭建自己的数据转发面,本文将基于 滴滴云 的 DC2 云服务器来 搭建 VPP 基本环境。
创建 DC2
相关购买和创建流程可以查看滴滴云官网 帮助文档 ,这里就不再介绍,直接入主题。
获取 VPP
本文以 VPP 18.04 版本为例。
获取 VPP 源码:
git clone https://gerrit.fd.io/r/vpp
获取指定版本源码:
git checkout -b stable/1804 origin/stable/1804
编译 VPP
-
进入 VPP 目录
安装依赖,需要该机器可以上外网。执行:make install-dep
-
编译 VPP
执行:make distclean
- 编译错误1
报错:cmake3 和 ninja 找不到
处理:安装相关组件
执行:yum -y install epel-release
执行:yum install cmake3
执行:yum install ninja-build
执行:make bootstrap
执行:./build-root/bootstrap.sh
执行:make build
执行:make plugins
安装 VPP
-
配置大页内存
执行以下命令,分配 64 页 2M 的大叶页:echo 64 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages mkdir /mnt/huge mount -t hugetlbfs nodev /mnt/huge
查看配置结果:
cat /proc/meminfo
会显示对应的大页分配了64页。 -
安装 igb_uio 驱动
执行以下命令:modprobe uio insmod igb_uio.ko
-
修改配置文件
配置文件:/etc/vpp/startup.conf
修改对应的 CPU、UNIX、DPDK 的 Section
详细参看: https://wiki.fd.io/view/VPP/Using_VPP_In_A_Multi-thread_Model -
down 掉网卡
因为只有一个网卡,所以需要登录到 DC2 的控制后台来进行操作。DPDK 在 bond 网卡前,必须将该网卡 down 了。
运行 VPP
- 运行 VPP
执行:vpp -c /etc/vpp/startup.conf
显示:(执行成功)打印出 FD.io VPP 的图片
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559758/viewspace-2563346/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31559758/viewspace-2563346/