【安装文档】TRex流量分析仪保姆级安装指南--基于VMware虚拟机(ubantu18.04@Intel 82545EM

前言

DPDK-网络数据开发中文网开发中文网致力于整理收录dpdk,spdk,ovs,vpp,dpvs,virtiohost,sdn/ovn,qemu等方向 的github开源项目,资料文档,书籍,讲解视频,各大企业招聘信息。

23.1.12补充更新了安装部分的内容(基于ESXi+trex v2.87)

既然你已经知道TRex并尝试搜索它的安装教程,这意味着你有一定的基础知识(至少知道自己需要什么)。因此本文对于TRex的介绍部分会偏少

本次主要为TRex安装过程的一次记录(版本为v3.0.0),我会整理一些遇到的问题与解决思路,希望对各位有所帮助。

简介

Cisco开源的一个使用DPDK发包的高性能测试仪。

主要的工作原理概括如下:

  1. 使用scapy来构建数据包模板;或者从pcap文件中读取数据包模板;
  2. 利用dpdk发送数据包;(重写指定变化的部分)

其兼具了python构建流的效率和dpdk发包的高性能。

TRex安装

TRex是一个Linux环境下的软件,安装环境无非两种:物理机虚拟机

本文主要基于虚拟机介绍TRex的安装

而使用虚拟机又可以分为两种安装环境:

  • 本地虚拟机
    基于本地VMware构建的虚拟机环境
  • 远程服务器虚拟机
    基于VMware EXCI构建的远程虚拟机环境

两种方式最大的不同在网卡添加时,VMware EXCI需要使用ifcofig让系统识别出网卡,详见[7]
其余的流程差不多,本文着重介绍本地VMware基于ubantu18.04安装TRex的流程
如果你在VMware EXCI安装遇到了问题,也欢迎留言讨论

基于本地虚拟机的安装过程

如何获得一个本地VMware虚拟机(包括换源等操作)请自行Google或参考[1]
我使用的VMware版本是VMwareWorkStation PRO16,虚拟机镜像为Ubantu18.04桌面版

虚拟机配置

先列一下我使用的虚拟机配置(图挂了看表)

设备                    摘要
内存                    8 GB
处理器                   4
硬盘(SCSI)              35 GB
CD/DVD 2 (SATA)       自动检测
CD/DVD (SATA)         自动检测
软盘                   自动检测
网络适配器                NAT
网络适配器2               NAT
网络适配器3               NAT
USB控制器                存在
声卡                   自动检测
打印机                   存在
显示器                 自动检测

注:因为安装之后的测试需要用到多块网卡,故此处添加了3块网卡,一块作为Linux内核的主网卡,其余两块用于绑定uio驱动进行测试。

虚拟机的网卡可以随时添加或删除,只要保证其模式始终为NAT即可

虚拟机配置完成后,推荐使用VScode连接并操作,因为之后涉及对配置文件的修改,会比较方便。具体请看:https://www.cnblogs.com/DAYceng/p/16867325.html
当然也可以直接在VMware提供的界面中操作

安装gcc环境

安装gcc环境

root@ubuntu:#
	sudo apt install build-essential
	sudo apt install make 
	sudo apt-get install libnuma-dev

ps:这步报错的请先换源

获取TRex

在你喜欢的目录下创建一个文件夹存放安装文件

mkdir trex
cd trex

下载TRex最新分支并解压

root@ubuntu:/root/trex# wget --no-check-certificate https://trex-tgn.cisco.com/trex/release/latest

root@ubuntu:/root/trex# tar -zxvf latest

注:

得到以下目录

root@ubuntu:/root/trex# ls
latest  v3.00

进入解压后的文件夹,使用脚本查看当前可用的网卡

root@ubuntu:/root/trex# cd v3.00
root@ubuntu:/root/trex/v3.00#
root@ubuntu:/root/trex/v3.00#sudo ./dpdk_setup_ports.py -s
Network devices using DPDK-compatible driver
============================================
<none>

Network devices using kernel driver
===================================
0000:02:01.0 '82545EM Gigabit Ethernet Controller (Copper)' if=ens33 drv=e1000 unused=igb_uio,vfio-pci,uio_pci_generic *Active*
0000:02:06.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=e1000 unused=igb_uio,vfio-pci,uio_pci_generic
0000:02:07.0 '82545EM Gigabit Ethernet Controller (Copper)' drv=e1000 unused=igb_uio,vfio-pci,uio_pci_generic

Other network devices
=====================
<none>

root@ubuntu:/root/trex/v3.00#  

如果之前添加了网卡,这里就可以看见有3个网卡(没添加的现在再加也行),* Active *为Linux内核正在使用的网卡,另外两张是未启用的网卡(先不要启用),如果有需要请查看[7]

TRex自带脚本自动安装

解压TRex发行版压缩包之后得到的文件夹中包含有以下部分:

  • TRex自身运行所需文件(包括支持库、测试脚本等)
  • 与当前TRex版本匹配的完整DPDK
  • TRex PythonApi

因此,如果没有特殊需求,只需运行TRex提供的自动化脚本就可以方便的绑定已有的端口

查看当前NIC端口

需要先明确当前网卡有哪些端口可用(这里trex版本是v2.87,没有影响不用在意)

root@xxx:~/trex/v2.87# ./dpdk_setup_ports.py -s

Network devices using DPDK-compatible driver
============================================
<none>

Network devices using kernel driver
===================================
0000:03:00.0 'VMXNET3 Ethernet Controller' if=ens160 drv=vmxnet3 unused=igb_uio,vfio-pci,uio_pci_generic *Active*
0000:0b:00.0 'VMXNET3 Ethernet Controller' if=ens192 drv=vmxnet3 unused=igb_uio,vfio-pci,uio_pci_generic 
0000:13:00.0 'VMXNET3 Ethernet Controller' if=ens224 drv=vmxnet3 unused=igb_uio,vfio-pci,uio_pci_generic 

Other network devices
==========
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值