KVM Pass-through 上部署 MiniSMB HurricaneII

KVM Pass-through 上部署 MiniSMB HurricaneII,第1张

免费网络测试,是一款专门用于测试无线控制器, 智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具。可以通过此工具在以太网上测试网络发包、网络压力测试任何ip网络设备的端口吞吐率,带宽等网络性能测试,并发连接数和最大连接数等诸多参数指标。

与软件Iperf,netperf, dpdk trafficgen相比较,MiniSMB属于专业硬件网络发包测试仪, 具备精准测试速率,高吞吐率,可模拟千万级连接数等特点。

本文主要介绍MiniSMB HurricaneII如何部署在KVM Pass-through

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 网卡

命令:cat /proc/cpuinfo | egrep 'vmx|svm'

效果:

一般情况下,出现关键词vmx表示支持;

方法:开启按 delete 键进入 BIOS 中--用键盘方向键选中“Advanced”菜单--选中“Intel Virtual Technology”—切换“Enabled”开启

(因每台机器BIOS界面差异,开启虚拟化功能的具体位置会不同)

命令:vi /etc/sysconfig/selinux

效果:

将SELINUX=disabled 即可, 然后务必重启机器

命令:sudo dnf -y install bridge-utils libvirt virt-install qemu-kvm

命令:sudo dnf -y install virt-top libguestfs-tools

命令:sudo dnf -y install virt-manager

说明:

libvirt:必须要装的核心工具

bridge-utils:虚拟机与外界通信的命令管理工具

virt-install:虚拟机安装工具

virt-manager:虚拟机图形管理工具(宿主机有桌面环境时可以考虑安装,命令 *** 作或者远

程控制则不需要)

命令:reboot

命令:lsmod | grep kvm

出现以下信息则表示正确加载。

命令:systemctl start libvirtd.service(开启)

命令:systemctl enable libvirtd.service(开机启动)

第 7 页第 8 页

命令:systemctl status libvirtd(启动状态)

命令:systemctl is-enabled libvirtd(是否开机自动启动)

效果:

运行以下脚本创建网桥Br0, 注意 “BR_INTERFACE=enp5s0”要修改成管理网口的接口名字.在本例中使用 enp5s0

编辑文件/etc/default/grub 添加 intel_iommu=on 参数

效果:

命令:grub2-mkconfig -o /etc/grub2.cfg

重启: reboot

命令:lspci -nn | grep -i ethernet

效果:

注:上图 06:00.0 中 06 是 PCI bus number;00 是 PCI device number;0 是 Function number

命令:virsh nodedev-detach pci_0000_06_00_0 virsh nodedev-detach pci_0000_06_00_1

效果:

命令:virt-manager 打开虚拟系统管理器图形化界面

选中QEMU/KVM 在Edit下 打开 Connection Details

找到我们提前准备好的镜像文件 minismb-rel-v2.0.img 点击右上角open;

把从宿主机上分离出来的 PCI 网卡添加到虚拟机上来

MiniSMB成功运行

下篇预告: KVM工具简介二: virt-install

l virt-manager介绍:

在第一篇已经提到过virt-manager, 使用了virt-manager来创建虚拟机。

virt-manager是一套虚拟机的桌面管理器,像VMware的vCenter和xenCenter差不多,工具提供了虚拟机管理的基本功能,如开机,挂起,重启,关机,强制关机/重启,迁移等,并且可以进入虚拟机图形界面进行 *** 作。该工具还可以管理各种存储以及网络方面。

Ø 命令用法:

l virt-viewer介绍:

virt-viewer是一个最小化的虚拟机图形界面展示工具,支持VNC 和SPICE两种远程协议。virt-viewer使用十分简单。

Ø 命令用法:

l virt-convert 介绍:

virt-convert可以OVF或VMX文件转换为KVM的支持格式。默认转换是”raw”。这个工具主要是实现v2v,将现用的VM打包并导入新的KVM环境。

Ø 选项:

Ø 举例:

l qemu-img介绍:

关于转换还有一个常用的工具: qemu-img 。qemu-img是QEMU的磁盘管理工具,在KVM环境中该工具必不可少。与上面的 virt-convert 不同,qemu-img是使用在磁盘类型的转换。

Ø 命令用法:

Ø 命令及选项:

用于创建一个格式为fmt大小为size文件名为filename的镜像文件。根据文件格式fmt的不同,还可以添加一个或多个选项(options)来附加对该文件的各种功能设置,可以使用“-o ?”来查询某种格式文件支持那些选项,在“-o”选项中各个选项用逗号来分隔。

Ø 举例:

创建一个raw格式,10G的文件。

以test.raw为后端镜像,创建一个qcow2文件。

//有没发现test.qcow2的文件大小并没有10G?

因为指定了后端镜像,新建的镜像只会记录与后端镜像差异,除非你使用了qemu-img commit提交。

b. convert

[-c] [-f fmt] [-O output_fmt] [-o options] filename [filename2 […]] output_filename

支持的格式完全能满足你的需求:vvfat vpc vmdk vdi sheepdog rbd raw host_cdrom host_floppy host_device file qed qcow2 qcow parallels nbd dmg tftp ftps ftp https http cow cloop bochs blkverify blkdebug

-c:采用压缩,只有qcow和qcow2才支持

-f:源镜像的格式,它会自动检测,所以省略之

-O 目标镜像的格式

-o 其他选先

fname:源文件

out_fname:转化后的文件

Ø 举例:

c. check [-f fmt] filename

对磁盘镜像文件进行一致性检查,查找镜像文件中的错误,目前仅支持对“qcow2”、“qed”、“vdi”格式文件的检查。

Ø 举例:

d. Resize filename [+ | -]size

改变镜像文件的大小,使其不同于创建之时的大小。“+”和“-”分别表示增加和减少镜像文件的大小,而size也是支持K、M、G、T等单位的使用。缩小镜像的大小之前,需要在客户机中保证里面的文件系统有空余空间,否则会数据丢失,另外,qcow2格式文件不支持缩小镜像的 *** 作。在增加了镜像文件大小后,也需启动客户机到里面去应用“fdisk”、“parted”等分区工具进行相应的 *** 作才能真正让客户机使用到增加后的镜像空间。不过使用resize命令时需要小心(最好做好备份),如果失败的话,可能会导致镜像文件无法正常使用而造成数据丢失。注意:只有raw格式的镜像才可以改变大小。

Ø 举例:

e. Snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename

-l: 选项是查询并列出镜像文件中的所有快照,

-a snapshot: 是让镜像文件使用某个快照,

-c snapshot: 是创建一个快照,

-d: 是删除一个快照。

Ø 举例:

查看快照:

注意:只有qcow2才支持快照

做快照:

记得以前就有人问过“能不能在一个虚拟机上运行虚拟机”,答案当然是可以的,Xen HVM, KVM, VMware, Qemu 等Hypervisor 都可以这样嵌套虚拟,不过由于性能低下实际用处不大。在VMware ESXi 虚拟机上运行虚拟机,被称为多层虚拟或者嵌套虚拟机(Nested VMs)。如果只有一台电脑想测试多节点OpenStack 环境的话,使用VMware ESXi 虚拟几个运行KVM Hypervisor 的OpenStack 计算节点是个不错的办法。VMware ESXi 5.0 默认情况下不支持嵌套虚拟,所以在VMware ESXi 虚拟机里安装完KVM 以后会发现KVM 虽然能装但不可用:

# kvm-ok

INFO: Your CPU does not support KVM extensions

KVM acceleration can NOT be used

解决办法很简单:1、修改VMware ESXi 的设置;2、修改对应虚拟机的设置。

登陆VMware ESXi 控制台打开VMware ESXi 5.0 的SSH 服务(默认SSH 服务是关闭的),然后用ssh 登陆VMware ESXi 后在config 文件中最后加入vhv.allow = “TRUE”一行:

# vi /etc/vmware/config

libdir = "/usr/lib/vmware"

authd.proxy.vim = "vmware-hostd:hostd-vmdb"

authd.proxy.nfc = "vmware-hostd:ha-nfc"

authd.proxy.nfcssl = "vmware-hostd:ha-nfcssl"

authd.proxy.vpxa-nfcssl = "vmware-vpxa:vpxa-nfcssl"

authd.proxy.vpxa-nfc = "vmware-vpxa:vpxa-nfc"

authd.fullpath = "/sbin/authd"

authd.soapServer = "TRUE"

vmauthd.server.alwaysProxy = "TRUE"

vhv.allow = "TRUE"

重启VMware ESXi 后编辑虚拟机选项(需要先关闭虚拟机),打开Edit virtual machine settings 对话框,在options 页面的General Options 选项里把Guest Operating System 的类型换成Other 里面的VMware ESxi 5.x,如图:

最后启动虚拟机后再kvm-ok 一下就可以看到KVM 可以用了:

# kvm-ok

INFO: /dev/kvm exists

KVM acceleration can be used


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11698599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存