博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VPP 安装配置工具vpp-config
阅读量:2029 次
发布时间:2019-04-28

本文共 10339 字,大约阅读时间需要 34 分钟。

目录


摘要

VPP配置实用程序的目的是允许用户以简单安全的方式配置VPP。该实用程序从用户那里获取输入,然后修改密钥配置文件。然后,用户可以检查这些文件以确保它们是正确的,然后实际应用配置。该实用程序还包括安装实用程序和一些基本测试。该实用程序当前随版本17.10一起发布。

VPP配置实用程序的安装和执行非常简单。首先安装python pip模块。然后使用pip安装vpp-config。安装vpp-config后,只需键入vpp-config并回答问题。如果不确定要回答什么,请选择默认值。对于是或否的问题,大写字母表示默认值。例如,对于显示[Y / n]的问题,默认值为Y。对于数字,默认值在方括号内,例如显示[1024]的问题。默认值为1024。

Ubuntu安装并运行:

$ sudo -H bash#apt-get安装python-pip正在阅读包装清单...完成建立依赖树       正在读取状态信息...完成python-pip已经是最新版本(8.1.1-2ubuntu0.4)。
#pip安装vpp-config收集vpp-config  正在下载vpp_config-17.10.5-py2.py3-none-any.whl(52kB)已满足要求:/usr/local/lib/python2.7/dist-packages中的pyyaml(来自vpp-config)已满足要求:/usr/local/lib/python2.7/dist-packages中的netaddr(来自vpp-config)安装收集的软件包:vpp-config成功安装vpp-config-17.10.5
#vpp-config欢迎使用VPP系统配置实用程序这些是我们将修改的文件:    /etc/vpp/startup.conf    /etc/sysctl.d/80-vpp.conf    / etc / default / grub在更改它们之前,我们将在/ usr / local / vpp / vpp-config / dryrun中创建工作副本在应用实际配置(选项3)之前,请仔细检查它们!你想干什么?1)显示基本系统信息2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)       和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中3)完整配置(警告:这将更改系统配置)4)列出/安装/卸载VPP。5)执行一些基本测试。9或q)退出命令:

注意事项

该实用程序已经过验证,并支持Ubuntu16.04,centos7,RHEL7。

对于开发人员

修改代码非常简单。从根目录编辑和调试代码。为此,我们需要一个脚本,该脚本将文件或数据文件复制到正确的位置。这就是他们最终安装pip的地方。对于Ubuntu,这是/ usr / local / vpp / vpp-config。对于Centos / usr / vpp / vpp-config。我提供了一个脚本(./scripts/cp-data.sh),可以正确复制相关文件。我还提供了一个可以清理环境的脚本。这使开发人员可以从头开始。这些是在此环境中运行实用程序的步骤。这些脚本应从根目录运行。

./scripts/clean.sh ./scripts/cp-data.sh  ./vpp_config.py

当使用pip安装该实用程序时,包装脚本/ vpp-config将写入/ usr / local / bin。但是,在本地调试此脚本的起点是./vpp_config.py。通过从根目录执行./vpp_config.py来运行该实用程序。

代码的起点在vpp_config.py中。大多数工作在./vpplib中的文件中完成

上载到PyPi

要将这个实用程序上传到PyPi只需执行以下操作。目前,我有自己的帐户。当我们希望每个人都做出贡献时,我们将需要改变这一点。

$ sudo -H bash #cd vpp_config #python setup.py sdist bdist_wheel #麻线上载dist / *

例子:

显示系统

实用程序首次启动时,我们可以显示基本系统信息。

#vpp-config欢迎使用VPP系统配置实用程序这些是我们将修改的文件:    /etc/vpp/startup.conf    /etc/sysctl.d/80-vpp.conf    / etc / default / grub在更改它们之前,我们将在/ usr / local / vpp / vpp-config / dryrun中创建工作副本在应用实际配置(选项3)之前,请仔细检查它们!
你想干什么?1)显示基本系统信息2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)       和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中3)完整配置(警告:这将更改系统配置)4)列出/安装/卸载VPP。5)执行一些基本测试。9或q)退出命令:1=============================节点:DUT1中央处理器:          型号名称:Intel(R)Xeon(R)CPU E5-2667 v3 @ 3.20GHz              处理器:32  每个核心线程数:2  每个插槽的核心数:8           插座:2   NUMA node0 CPU:0-7,16-23   NUMA node1 CPU:8-15,24-31         CPU最大MHz:3600.0000         CPU最低MHz:1200.0000                 SMT:已启用VPP线程:(名称:CPU编号)Grub命令行:  当前:BOOT_IMAGE = / boot / vmlinuz-4.4.0-97-generic root = UUID = d760b82f-f37b-47e2-9815-db8d479a3557 ro  已配置:GRUB_CMDLINE_LINUX_DEFAULT =“”大量页面:  系统总内存:65863484 kB  总可用内存:56862700 kB  实际巨大页面总数:1024  已配置的大页面总数:1024  大量免费页面:1024  大页面大小:2048 kB设备:具有链接功能的设备(不能与VPP一起使用):0000:08:00.0 enp8s0f0 I350千兆网络连接                   绑定到内核驱动程序的设备:0000:90:00.0 enp144s0 VIC以太网NIC                                  0000:8f:00.0 enp143s0 VIC以太网NIC                                  0000:84:00.0 enp132s0f0,enp132s0f0d1以太网控制器XL710,用于40GbE QSFP +         0000:84:00.1 enp132s0f1,enp132s0f1d1以太网控制器XL710,用于40GbE QSFP +         0000:08:00.1 enp8s0f1 I350千兆网络连接                   0000:02:00.0 enp2s0f0 82599ES 10千兆位SFI / SFP +网络连接    0000:02:00.1 enp2s0f1 82599ES 10千兆位SFI / SFP +网络连接    没有设备绑定到DPDK驱动程序VPP服务状态:  未安装=============================

安装VPP

注意,在显示基本系统信息时,未安装VPP。

VPP服务状态:  未安装=============================

我们现在可以使用选项4安装VPP

你想干什么?1)显示基本系统信息2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)       和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中3)完整配置(警告:这将更改系统配置)4)列出/安装/卸载VPP。5)执行一些基本测试。9或q)退出命令:4节点localhost上没有VPP软件包。您是否要安装VPP [Y / n]?ÿINFO:root:本地命令:ls /etc/apt/sources.list.d/99fd.io.list.orig信息:根:/etc/apt/sources.list.d/99fd.io.list.origINFO:root:本地命令:rm /etc/apt/sources.list.d/99fd.io.listINFO:root:本地命令:echo“ deb [trusted = yes] https://nexus.fd.io/content/repositories/fd.io.ubuntu.xenial.main/ ./“ | sudo tee /etc/apt/sources.list.d/99fd.io.listINFO:root:deb [trusted = yes] https://nexus.fd.io/content/repositories/fd.io.ubuntu.xenial.main/ ./.......

空跑

安装了VPP之后,我们现在可以执行配置空运行。此选项将创建配置文件,并将它们放在dryrun目录中。此目录位于/ usr / local / vpp / vpp-config / dryrun中的Ubuntu位置,和/ usr / vpp / vpp-config / dryrun中的Centos位置。在实际应用带有选项3的配置之前,应检查这些文件以确保它们有效。

你想干什么?1)显示基本系统信息2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)       和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中3)完整配置(警告:这将更改系统配置)4)列出/安装/卸载VPP。5)执行一些基本测试。9或q)退出命令:2VPP或OS当前未使用这些设备。PCI ID说明                                       -------------------------------------------------- --------------0000:86:00.0 82599ES 10千兆位SFI / SFP +网络连接    0000:86:00.1 82599ES 10 Gb SFI / SFP +网络连接    您是否要将这些设备中的任何一个还给操作系统[Y / n]?ÿ您是否要为操作系统[y / N]使用设备0000:86:00.0?ÿ您要在操作系统[y / N]中使用设备0000:86:00.1吗?ÿ这些设备具有内核接口,但似乎可以安全地与VPP一起使用。PCI ID内核接口说明                                       -------------------------------------------------- ----------------------------------------0000:90:00.0 enp144s0 VIC以太网NIC                                  0000:8f:00.0 enp143s0 VIC以太网NIC                                  0000:84:00.0 enp132s0f0,enp132s0f0d1以太网控制器XL710,用于40GbE QSFP +         0000:84:00.1 enp132s0f1,enp132s0f1d1以太网控制器XL710,用于40GbE QSFP +         0000:08:00.1 enp8s0f1 I350千兆网络连接                   0000:02:00.0 enp2s0f0 82599ES 10千兆位SFI / SFP +网络连接    0000:02:00.1 enp2s0f1 82599ES 10千兆位SFI / SFP +网络连接    0000:86:00.0 enp134s0f0 82599ES 10千兆位SFI / SFP +网络连接    0000:86:00.1 enp134s0f1 82599ES 10 Gb SFI / SFP +网络连接    您要为VPP [y / N]使用这些设备中的任何一个吗?ÿ您要为VPP [y / N]使用设备0000:90:00.0吗? 您要为VPP [y / N]使用设备0000:8f:00.0吗? 您要为VPP [y / N]使用设备0000:84:00.0吗? 您想将设备0000:84:00.1用于VPP [y / N]吗? 您想将设备0000:08:00.1用于VPP [y / N]吗? 您想将设备0000:02:00.0用于VPP [y / N]吗? 您要为VPP [y / N]使用设备0000:02:00.1吗? 您要为VPP [y / N]使用设备0000:86:00.0吗?ÿ您想将设备0000:86:00.1用于VPP [y / N]吗?ÿVPP将使用这些设备。PCI ID说明                                       -------------------------------------------------- --------------0000:86:00.0 82599ES 10千兆位SFI / SFP +网络连接    0000:86:00.1 82599ES 10 Gb SFI / SFP +网络连接    您是否要删除其中的任何设备[y / N]? VPP将使用这些设备,如果不正确,请重新运行此选项。PCI ID说明                                       -------------------------------------------------- --------------0000:86:00.0 82599ES 10千兆位SFI / SFP +网络连接    0000:86:00.1 82599ES 10 Gb SFI / SFP +网络连接    您的系统具有32个核心和2个Numa节点。首先,我们建议不要为VPP或其他进程保留任何内核。然后,为了提高性能,请尝试根据需要保留内核。 您要为VPP以外的进程保留多少个核心?[0-16] [0]?我们应为VPP工人保留多少个核心[0-4] [0]?2我们应该为VPP主线程保留1个内核吗?[是/否]?ÿ预期有多少个活动打开/ tcp客户端会话[0-10000000] [0]? 预期有多少个被动打开/ tcp服务器会话[0-10000000] [0]? 当前有1024 2048 kB个巨大的页面可用。您是否要重新配置大页面的数量[y / N]?ÿ当前总共有1024个大页面。您想要多少个大页面[1024-19414] [1024]?8192

应用配置

检查完配置文件后,我们可以使用选项3来应用配置。请注意,默认设置是不更改grub命令行。如果选择了更改grub命令行的选项,则将需要重新启动。

你想干什么?1)显示基本系统信息2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)       和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中3)完整配置(警告:这将更改系统配置)4)列出/安装/卸载VPP。5)执行一些基本测试。9或q)退出命令:3现在,我们将配置您的系统。您确定要执行此操作[是/否]?ÿ这些是我们将要应用的更改巨大的页面文件(/etc/sysctl.d/80-vpp.conf)。1,2d0
vm.nr_hugepages = 8192> vm.max_map_count = 174088a5> kernel.shmmax = 1717986918410,15d6
>核心8>核心工作者9-10> >调度程序策略FIFO>调度程序优先级50> 67,68c56,66<#dpdk {---> dpdk {> >开发0000:86:00.0 { > num-rx队列2>}> dev 0000:86:00.1 { > num-rx队列2>}> num-mbufs 25600> 124c122<#}--->}您确定要[Y / n]应用这些更改吗? 配置的grub cmdline如下所示:GRUB_CMDLINE_LINUX_DEFAULT =“ isolcpus = 8,9-10 nohz_full = 8,9-10 rcu_nocbs = 8,9-10”当前的启动cmdline如下所示:BOOT_IMAGE = / boot / vmlinuz-4.4.0-97-generic root = UUID = d760b82f-f37b-47e2-9815-db8d479a3557 ro是否要保留当前的启动cmdline [Y / n]?

显示系统(配置后)

在配置系统后显示系统信息时,请注意VPP工作器和VPP主核位于正确的Numa节点上。还要注意,VPP正在运行,并且显示了接口。

你想干什么?1)显示基本系统信息2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)       和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中3)完整配置(警告:这将更改系统配置)4)列出/安装/卸载VPP。5)执行一些基本测试。9或q)退出命令:1=============================节点:DUT1中央处理器:          型号名称:Intel(R)Xeon(R)CPU E5-2667 v3 @ 3.20GHz              处理器:32  每个核心线程数:2  每个插槽的核心数:8           插座:2   NUMA node0 CPU:0-7,16-23   NUMA node1 CPU:8-15,24-31         CPU最大MHz:3600.0000         CPU最低MHz:1200.0000                 SMT:已启用VPP线程:(名称:CPU编号)  vpp_main:8     vpp_wk_1:10    vpp_wk_0:9     vpp_stats:0   Grub命令行:  当前:BOOT_IMAGE = / boot / vmlinuz-4.4.0-97-generic root = UUID = d760b82f-f37b-47e2-9815-db8d479a3557 ro  已配置:GRUB_CMDLINE_LINUX_DEFAULT =“ isolcpus = 8,9-10 nohz_full = 8,9-10 rcu_nocbs = 8,9-10”大量页面:  系统总内存:65863484 kB  总可用内存:42048632 kB  实际巨大页面总数:8192  已配置的大页面总数:8192  免费免费大型网页:7936  大页面大小:2048 kB设备:缓冲区总数:25600具有链接功能的设备(不能与VPP一起使用):0000:08:00.0 enp8s0f0 I350千兆网络连接                   绑定到内核驱动程序的设备:0000:90:00.0 enp144s0 VIC以太网NIC                                  0000:8f:00.0 enp143s0 VIC以太网NIC                                  0000:84:00.0 enp132s0f0,enp132s0f0d1以太网控制器XL710,用于40GbE QSFP +         0000:84:00.1 enp132s0f1,enp132s0f1d1以太网控制器XL710,用于40GbE QSFP +         0000:08:00.1 enp8s0f1 I350千兆网络连接                   0000:02:00.0 enp2s0f0 82599ES 10千兆位SFI / SFP +网络连接    0000:02:00.1 enp2s0f1 82599ES 10千兆位SFI / SFP +网络连接    绑定到DPDK驱动程序的设备:0000:86:00.0 82599ES 10千兆位SFI / SFP +网络连接    0000:86:00.1 82599ES 10 Gb SFI / SFP +网络连接    VPP使用的设备:名称套接字RXQs RXDescs TXQs TXDescsTenGigabitEthernet86 / 0/0 1 2 1024 3 1024TenGigabitEthernet86 / 0/1 1 2 1024 3 1024VPP服务状态:  活动(运行)=============================

设定IP位址

一旦配置了VPP,我们就可以向配置的接口添加一些IP地址。完成此操作后,您应该能够ping通配置的地址,并且VPP可以使用了。此选项运行后,对于Ubuntu,在/ usr / local / vpp / vpp-config / scripts / set_int_ipv4_and_up中创建脚本,对于Centos,在/ usr / vpp / vpp-config / scripts / set_int_ipv4_and_up中创建脚本。该脚本可用于将来配置IP地址。

你想干什么?1)显示基本系统信息2)空运行(将配置文件保存在/ usr / local / vpp / vpp-config / dryrun中以进行检查)       和用户输入在/usr/local/vpp/vpp-config/configs/auto-config.yaml中3)完整配置(警告:这将更改系统配置)4)列出/安装/卸载VPP。5)执行一些基本测试。9或q)退出命令:5你想干什么?1)列出/创建简单的IPv4设置9或q)返回主菜单。命令:1这些是当前具有IP地址的接口:TenGigabitEthernet86 / 0/0未设置dn        TenGigabitEthernet86 / 0/1未设置dn        您是否要保留此配置[Y / n]?ñ您是否要在接口TenGigabitEthernet86 / 0/0 [Y / n]中添加地址? 请输入IPv4地址[nnnn / n]:30.0.0.2/24您是否要为接口TenGigabitEthernet86 / 0/1 [Y / n]添加地址?ÿ请输入IPv4地址[nnnn / n]:40.0.0.2/24在/ usr / local / vpp / vpp-config / scripts / set_int_ipv4_and_up创建的脚本可以使用以下命令运行此脚本:vppctl exec / usr / local / vpp / vpp-config / scripts / set_int_ipv4_and_up你想干什么?1)列出/创建简单的IPv4设置9或q)返回主菜单。命令:1这些是当前具有IP地址的接口:TenGigabitEthernet86 / 0/0 30.0.0.2/24以上        TenGigabitEthernet86 / 0/1 40.0.0.2/24以上        您是否要保留此配置[Y / n]?

转载地址:http://jppaf.baihongyu.com/

你可能感兴趣的文章
nginx中间件
查看>>
nginx优化
查看>>
Docker简介和安装(一)
查看>>
Docker 命令(二)
查看>>
docker网络访问(三)
查看>>
Docker数据管理(四)
查看>>
Docker镜像构建(五)
查看>>
Docker生产实践(六)
查看>>
Docker registry私有仓库(七)
查看>>
持续集成、持续交付、持续部署简介
查看>>
Jenkins使用(二)
查看>>
Jenkins安装部署(一)
查看>>
持续代码质量管理-Sonar部署
查看>>
java中String类常用方法的使用与实例
查看>>
MyBatis mapping.xml中的flushCache和useCache的使用
查看>>
关于 Mybatis mapping.xml中的 StatementType 知识点
查看>>
浅谈JVM-图解类加载机制
查看>>
docker面试你要知道
查看>>
Spring Boot 面试题
查看>>
Java 程序员涨薪必备技能(1-5 年必看!)
查看>>