基于滴滴云 DC2 搭建 VPP 应用实例

滴滴云 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 的图片

猜你喜欢

转载自blog.csdn.net/java060515/article/details/86510514
DC2