KVM Pass-through 上部署 MiniSMB HurricaneII
KVM Pass-through 上部署 MiniSMB HurricaneII
免费网络测试,是一款专门用于测试无线控制器, 智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具。可以通过此工具在以太网上测试网络发包、网络压力测试任何ip网络设备的端口吞吐率,带宽等网络性能测试,并发连接数和最大连接数等诸多参数指标。
与软件Iperf,netperf, dpdk trafficgen相比较,MiniSMB属于专业硬件网络发包测试仪, 具备精准测试速率,高吞吐率,可模拟千万级连接数等特点。
本文主要介绍MiniSMB HurricaneII如何部署在KVM Pass-through
KVM 介绍
KVM 是 Kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自 Linux
2.6.20 之后集成在 Linux 的各个主要发行版本中。它使用 Linux 自身的调度器进行管理。
KVM 目前已成为学术界的主流 VMM 之一。
KVM 的虚拟化需要硬件支持(如 Intel VT 技术或 AMD V 技术)。是基于硬件的完全虚拟
化。
所谓 Pass-through 技术是指可以将 PCI/PCIe 设备绕过虚拟机平台直接分配给虚拟机使用
下文是将 minismb HurricaneII 部署到 Pass-through 模式 KVM 的部署方法
宿主机:
CPU :Intel(R) Core(TM) i7-6800K CPU @ 3.40GHz 6核
系统: Fedora-Workstation-Live-x86_64-33-1.2
网卡:一对 Intel 82576 网卡
主要内容
- 安装 KVM 前准备
11.验证 cpu 是否支持 KVM
命令:cat /proc/cpuinfo | egrep 'vmx|svm'
效果:
一般情况下,出现关键词vmx表示支持;
12.在 BIOS 中开机虚拟化功能
方法:开启按 delete 键进入 BIOS 中--用键盘方向键选中“Advanced”菜单--选中“Intel Virtual Technology”—切换“Enabled”开启
(因每台机器BIOS界面差异,开启虚拟化功能的具体位置会不同)
13.关闭 SELinux
命令:vi /etc/sysconfig/selinux
效果:
将SELINUX=disabled 即可, 然后务必重启机器
- 安装 KVM
2.1 安装 KVM 包
命令:sudo dnf -y install bridge-utils libvirt virt-install qemu-kvm
2.2 安装 KVM 虚拟机工具
命令:sudo dnf -y install virt-top libguestfs-tools
命令:sudo dnf -y install virt-manager
说明:
libvirt:必须要装的核心工具
bridge-utils:虚拟机与外界通信的命令管理工具
virt-install:虚拟机安装工具
virt-manager:虚拟机图形管理工具(宿主机有桌面环境时可以考虑安装,命令操作或者远
程控制则不需要)
2.3 重启宿主机,加载 KVM 相关模块
命令:reboot
2.4 查看 KVM 模块是否被正确加载
命令:lsmod | grep kvm
出现以下信息则表示正确加载。
2.5 开启 KVM 服务,并设置开机启动
命令:systemctl start libvirtd.service(开启)
命令:systemctl enable libvirtd.service(开机启动)
第 7 页第 8 页
2.6 查看操作结果,出现 Active:active(running)字样则说明运行情况良好
命令:systemctl status libvirtd(启动状态)
命令:systemctl is-enabled libvirtd(是否开机自动启动)
效果:
- 网桥搭建
运行以下脚本创建网桥Br0, 注意 “BR_INTERFACE=enp5s0”要修改成管理网口的接口名字.在本例中使用 enp5s0
# make up a bridge name, I like br0
export BR_NAME=br0
# this will vary depending on the mobo/eth card. see `ip addr` to find device name
export BR_INTERFACE=enp5s0
# Get our device UUID
BR_INT_OG_UUID=$(nmcli -g GENERAL.CON-UUID device show "${BR_INTERFACE}")
# Create bridge
nmcli connection add type bridge autoconnect yes con-name "${BR_NAME}" ifname "${BR_NAME}"
# Disable STP
nmcli connection modify "${BR_NAME}" bridge.stp no
# Add our interface to our bridge
nmcli connection add type bridge-slave autoconnect yes con-name ${BR_INTERFACE} ifname ${BR_INTERFACE} master ${BR_NAME}
# Turn off our old interface
nmcli con down "${BR_INTERFACE}"
# Turn on our new bridge
nmcli con up "${BR_NAME}"
# delete our old interface config
nmcli con delete "${BR_INT_OG_UUID}"
- 启用 PCI Pass-through
4.1 开启intel_iommu
编辑文件/etc/default/grub 添加 intel_iommu=on 参数
效果:
4.2 更新 GRUB
命令:grub2-mkconfig -o /etc/grub2.cfg
重启: reboot
5. PCI 网卡分离
5.1 查找PCI设备ID
命令:lspci -nn | grep -i ethernet
效果:
注:上图 06:00.0 中 06 是 PCI bus number;00 是 PCI device number;0 是 Function number
5.2 分离PCI 网卡
命令:virsh nodedev-detach pci_0000_06_00_0 virsh nodedev-detach pci_0000_06_00_1
效果:
6.配置 KVM
命令:virt-manager 打开虚拟系统管理器图形化界面
6.1 添加存储池
选中QEMU/KVM 在Edit下 打开 Connection Details
找到我们提前准备好的镜像文件 minismb-rel-v2.0.img 点击右上角open;
6.2 创建虚拟机
6.3 添加PassThrough网卡
把从宿主机上分离出来的 PCI 网卡添加到虚拟机上来
MiniSMB成功运行
KVM Pass-through 上部署 MiniSMB HurricaneII的更多相关文章
- 在 CentOS7 上部署 zookeeper 服务
在 CentOS7 上部署 zookeeper 服务 1 用 SecureCRT 或 XShell 等 Linux 客户端工具连接至 CentOS7 服务器: 2 进入到 /usr/local/too ...
- 在阿里云ECS CentOS7上部署基于MongoDB+Node.js的博客
前言:这是一篇教你如何在阿里云的ECS CentOS 7服务器上搭建一个个人博客的教程,教程比较基础,笔者尽可能比较详细的把每一步都罗列下来,包括所需软件的下载安装和域名的绑定,笔者在此之前对Linu ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 5.在控制节点上部署计算服务Nova
计算服务Nova使用OpenStack Compute来托管和管理云计算系统. OpenStack Compute是基础架构即服务(IaaS)系统的主要部分. 主要模块用Python实现.OpenSt ...
- Nginx + FastCGI + Django在windows上部署及nginx常用命令
一般应用都是部署在linux系统上,不会在windows上部署,emmm..所以有兴趣的就瞧瞧吧哈哈 nginx工作原理: nginx用于处理静态文件,动态部分经由fastcgi .scgi或uWSG ...
- 在CentOS上部署kubernetes1.9.0集群
原文链接: https://jimmysong.io/kubernetes-handbook/cloud-native/play-with-kubernetes.html (在CentOS上部署kub ...
- fedora上部署ASP.NET——(卡带式电脑跑.NET WEB服务器)
andrew,20130601,guilin 本文记录在树莓派(fedora)上部署ASP.NET MVC2 的过程. 本文共分为六部分,分别是前置条件,Apache的安装,Mysql的安装,安装mo ...
- CentOS 7 上部署Mono 4 和Jexus 5.6
概述 在这篇文章中我们将讨论如何在CentOS 7操作系统,安装 jexus. mono 和 配置 jexus,因此它将能够在这种环境中运行一个asp.net mvc 4 应用.这篇文章是描述如何在 ...
- deepsooncms在Ubuntu 14.04上部署教程
deepsooncms在Ubuntu 14.04上部署教程 一.安装mono1.在命令行运行sudo apt-key adv --keyserver keyserver.ubuntu.com --re ...
- 基于Kubernetes在AWS上部署Kafka时遇到的一些问题
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 交代一下背景:我们的后台系统是一套使用Kafka消息队列的数据处理管线 ...
随机推荐
- 【Linux】ssh远程连接到指定ip的指定用户上
通过ssh可以远程连接到其他的机器上,但是如果只想连接到指定的用户的话 需要这样做: -l 选项 (是L不是I,小写) ssh IP -l 用户名 这里的ip如果在hosts下就可以直接输入域名或者主 ...
- Inlook - 你的私人工作助理 V1.0.0.2
Inlook - Your personal assistant 中文版|English version Introduction Inlook是为在桌面上直观地提醒用户收到未读邮件和日程安排而开发的 ...
- JVM 判断对象已死,实践验证GC回收
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 提升自身价值有多重要? 经过了风风雨雨,看过了男男女女.时间经过的岁月就没有永恒不变 ...
- 鸿蒙的多媒体及Menu组件及小程序的多媒体组件
目录: js业务逻辑层 视图渲染层 css属性设置 效果图 微信小程序展示 内网穿透工具下载 我们在搭建一个小程序或者网站的时候,往往要加载很多的图片,音频和视频文件.如果都从服务器获取静态资源,这样 ...
- 转 Fiddler3 使用技巧
Fiddler3 使用技巧 文章转自:https://www.cnblogs.com/zhengna/category/1466001.html 1.Fiddler抓不到包怎么解决 (1)先确定是H ...
- java实现Excel定制导出(基于POI的工具类)
我的需求: 项目中有一些工程表格需要导出,设计到行列合并,定制样式,原有工具类冗余,内聚性强.所以想写一个可以随意定制excel的工具类,工具类满足需求: 对于常用的工程表格有模板格式,可以任意插拔. ...
- pycharm安装完成后的一些基本设置
1.设置背景色 file-->Setting-->Appearance&Behavior-->Appearance 2.设置主题 settings --> editor ...
- 找不到:DarchetypeCatalog=local
设置IDEA Maven->Runner 界面的VM Options参数值为-DarchetypeCatalog=local 刷新项目Maven配置,在项目右边界面,重新引入Maven
- aio 系列函数是由 POSIX 定义的异步操作接口,可惜的是,Linux 下的 aio 操作,不是真正的操作系统级别支持的,它只是由 GNU libc 库函数在用户空间借由 pthread 方式实现的,而且仅仅针对磁盘类 I/O,套接字 I/O 不支持。
30 | 真正的大杀器:异步I/O探索 https://time.geekbang.org/column/article/150780
- Hive语法小释
阅读本文你可以获取: 1.数据库的查询 2.hive表的基本操作(建表三种常用方式.删除表.修改表.加载数据.内外表转换.添加分区.复制数据) 3.SQL到HiveQL的的一些不同点 1. 基本操 ...