位置: 编程技术 - 正文

KVM虚拟网络优化方案整理(kvm虚拟化网络配置)

编辑:rootadmin

推荐整理分享KVM虚拟网络优化方案整理(kvm虚拟化网络配置),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:kvm虚拟化性能,kvm虚拟化网络配置,kvm虚拟化网络配置,kvm虚拟化技术,kvm 虚拟网卡,kvm虚拟化性能,kvm 虚拟网卡,kvm虚拟化性能,内容如对您有帮助,希望把文章链接给更多的朋友!

一个完整的数据包从虚拟机到物理机的路径是:

虚拟机--QEMU虚拟网卡--虚拟化层--内核网桥--物理网卡

KVM的网络优化方案,总的来说,就是让虚拟机访问物理网卡的层数更少,直至对物理网卡的单独占领,和物理机一样的使用物理网卡,达到和物理机一样的网络性能。

方案一 全虚拟化网卡和virtio

Virtio与全虚拟化网卡区别 全虚拟化网卡是虚拟化层完全模拟出来的网卡,半虚拟化网卡通过驱动对操作系统做了改造; viritio简单的说,就是告诉虚拟机,hi 你就是在一个虚拟化平台上跑,咱们一起做一些改动,让你在虚拟化平台上获得更好的性能;

关于virtio的使用场景 因 为windows虚拟机使用viritio有网络闪断的情况发生,windows 虚拟机如果网络压力不高,建议使用e这样的全虚拟化网卡,如果网络压力比较高,建议使用SRIVO或者PCI Device Assignment这样的技术;viritio也在不断的演进,希望windows的闪断的问题越来越少。

KVM天生就是为linux系统设计的,linux系统请放心大胆的使用viritio驱动;

方案二 vhost_net macvtap技术

vhost_net使虚拟机的网络通讯直接绕过用户空间的虚拟化层,直接可以和内核通讯,从而提供虚拟机的网络性能;

macvtap则是跳过内核的网桥;

使用vhost_net,必须使用virtio半虚拟化网卡;

vhost_net虚拟机xml文件配置,

XML/HTML Code复制内容到剪贴板 <interface type='bridge'> <mac address=''/> <source bridge='br0'/> <model type='virtio'/> <driver name="vhost"/> <address type='pci' domain='0x' bus='0x' slot='0x' function='0x0'/> </interface>

如果不使用vhost_net,则为 <driver name="qemu"/>

macvtap 虚拟机xml配置

XML/HTML Code复制内容到剪贴板 <interface type='direct'> <mac address='::3e:d5:d6:'/> <source dev='lo' mode='bridge'/> <model type='e'/> <address type='pci' domain='0x' bus='0x' slot='0x' function='0x0'/> </interface>

注意:macvtap在windows虚拟机上性能很差,不建议使用

vhost_net macvtap比较

macvlan的功能是给同一个物理网卡配置多个MAC地址,这样可以在软件商配置多个以太网口,属于物理层的功能。 macvtap是用来替代TUN/TAP和Bridge内核模块,macvtap是基于macvlan这个模块,提供TUN/TAP中tap设备使用的接口, 使用macvtap以太网口的虚拟机能够通过tap设备接口,直接将数据传递到内核中对应的macvtap以太网口。 vhost-net是对于virtio的优化,virtio本来是设计用于进行客户系统的前端与VMM的后端通信,减少硬件虚拟化方式下根模式个非根模式的切换。 而是用vhost-net后,可以进一步进入CPU的根模式后,需要进入用户态将数据发送到tap设备后再次切入内核态的开销,而是进入内核态后不需要在进行内核态用户态的切换,进一步减少这种特权级的切换,说vhost-net属于哪个层不准确,而是属于进行二层网络数据传递的优化。

KVM虚拟网络优化方案整理(kvm虚拟化网络配置)

方案三 虚拟机网卡独占

网卡passthrough在虚拟机的配置方法

1 使用lcpci 设备查看pci设备信息 复制代码代码如下::.0 Ethernet controller: Intel Corporation EB Gigabit Ethernet Controller (rev ):.1 Ethernet controller: Intel Corporation EB Gigabit Ethernet Controller (rev )

也可以使用virsh nodedev-list –tree得到信息 复制代码代码如下:+- pci____0| || +- pci____0| | || | +- net_p1p1__1b____dc| | | +- pci____1| || +- net_p1p2__1b____dd

2 使用virsh nodedev-dumxml pci____0得到xml配置信息 复制代码代码如下:[root@]# virsh nodedev-dumpxml pci____0 <device><name>pci____0</name><parent>pci____0</parent><driver> <name>ee</name></driver><capability type='pci'> <domain>0</domain> <bus>4</bus> <slot>0</slot> <function>0</function> <product id='0xe'>EB Gigabit Ethernet Controller</product> <vendor id='0x'>Intel Corporation</vendor></capability></device>

3 编辑虚拟机xml文件,加入pci设备信息 复制代码代码如下:<hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x' bus='0x' slot='0x' function='0x0'/> </source></hostdev>

Domain bus slot function信息从dumpxml出的xml文件获取,define虚拟机,然后开启虚拟机就可以,注意以为附件上去的是物理设备,需要在系统里面安装相应的驱动。

方案四 SR-IVO技术

SRIOV的原理 SR-IVO 是the single root I/O virtualization 的简写,是一个将PCIe共享给虚拟机使用的标准,目前用在网络设备上比较多,理论上也可以支持其他的PCI设备,SRIOV需要硬件的支持。

以下内容来自oracle网站,链接为 (Physical Function, PF) 用 于支持 SR-IOV 功能的 PCI 功能,如 SR-IOV 规范中定义。PF 包含 SR-IOV 功能结构,用于管理 SR-IOV 功能。PF 是全功能的 PCIe 功能,可以像其他任何 PCIe 设备一样进行发现、管理和处理。PF 拥有完全配置资源,可以用于配置或控制 PCIe 设备。 虚拟功能 (Virtual Function, VF) 与物理功能关联的一种功能。VF 是一种轻量级 PCIe 功能,可以与物理功能以及与同一物理功能关联的其他 VF 共享一个或多个物理资源。VF 仅允许拥有用于其自身行为的配置资源。 每 个 SR-IOV 设备都可有一个物理功能 (Physical Function, PF),并且每个 PF 最多可有 , 个与其关联的虚拟功能 (Virtual Function, VF)。PF 可以通过寄存器创建 VF,这些寄存器设计有专用于此目的的属性。 一 旦在 PF 中启用了 SR-IOV,就可以通过 PF 的总线、设备和功能编号(路由 ID)访问各个 VF 的 PCI 配置空间。每个 VF 都具有一个 PCI 内存空间,用于映射其寄存器集。VF 设备驱动程序对寄存器集进行操作以启用其功能,并且显示为实际存在的 PCI 设备。创建 VF 后,可以直接将其指定给 IO 来宾域或各个应用程序(如裸机平台上的 Oracle Solaris Zones)。此功能使得虚拟功能可以共享物理设备,并在没有 CPU 和虚拟机管理程序软件开销的情况下执行 I/O。 SR-IOV 的优点 SR-IOV 标准允许在 IO 来宾域之间高效共享 PCIe 设备。SR-IOV 设备可以具有数百个与某个物理功能 (Physical Function, PF) 关联的虚拟功能 (Virtual Function, VF)。VF 的创建可由 PF 通过设计用来开启 SR-IOV 功能的寄存器以动态方式进行控制。缺省情况下,SR-IOV 功能处于禁用状态,PF 充当传统 PCIe 设备。 具有 SR-IOV 功能的设备可以利用以下优点: 性能-从虚拟机环境直接访问硬件。 成本降低-节省的资本和运营开销包括: 节能 减少了适配器数量 简化了布线 减少了交换机端口 SRIOV的使用 启动SRIVO内核模块 modprobe igb 激活虚拟功能VF modprobe igb max_vfs=7 千兆网卡最多支持8个vf0-7,千兆网卡目前支持比较好的是INTEL I, S虽然也支持SRIOV但是只支持虚拟机是linux的情况,windows系统不支持; 万兆网卡最多支持个vg0-,intel的新新一代万兆网卡都支持SRIOV x x等; 如果需要重新设置vf 可以删除模块在重新加载 modprobe -r igb 将配置永久写入配置文件 echo "options igb max_vfs=7" >>/etc/modprobe.d/igb.conf 通过lspci命令可以看多主网卡和子网卡 复制代码代码如下:# lspci | grep 0b:.0 Ethernet controller: Intel Corporation Gigabit Network Connection (rev ) 0b:.1 Ethernet controller: Intel Corporation Gigabit Network Connection (rev ) 0b:.0 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.1 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.2 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.3 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.4 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.5 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.6 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.7 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.0 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.1 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.2 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.3 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.4 Ethernet controller: Intel Corporation Virtual Function (rev ) 0b:.5 Ethernet controller: Intel Corporation Virtual Function (rev )

虚拟机可以听过pci网卡独占的方式使用子网卡; 复制代码代码如下: # virsh nodedev-list | grep 0b pci__0b__0 pci__0b__1 pci__0b__0 pci__0b__1 pci__0b__2 pci__0b__3 pci__0b__4 pci__0b__5 pci__0b__6 pci__0b__7 pci__0b__1 pci__0b__2 pci__0b__3 pci__0b__4 pci__0b__5

虚拟机网卡xml文件

XML/HTML Code复制内容到剪贴板 <interface type='hostdev' managed='yes'> <source> <address type='pci' domain='0' bus='' slot='' function='0'/> </source> </interface>

方案五 网卡多队列

centos 7开始支持virtio网卡多队列,可以大大提高虚拟机网络性能,配置方法如下:

虚拟机的xml网卡配置

XML/HTML Code复制内容到剪贴板 <interface type='network'> <source network='default'/> <model type='virtio'/> <driver name='vhost' queues='N'/> </interface>

N 1 - 8 最多支持8个队列

在虚拟机上执行以下命令开启多队列网卡 复制代码代码如下: #ethtool -L eth0 combined M

M 1 - N M小于等于N

KVM网络优化方案个人认为以硬件为主,硬件上万兆+SRIOV的方案会越来越普及,但是在线迁移的问题有待解决。

在Linux系统中将SSD当块设备缓存的方法 原理写操作先缓存到ssd硬盘上,然后通过一定策略写到普通硬盘上;读操作热点数据可以缓存到ssd硬盘上,提高读取数据的速度。软件ssd缓存开源软件

为何数据中心要使用配置管理系统? 由于结合了额外的自动化功能,配置管理节约了IT团队的时间。那为什么有些数据中心对它视若不见呢?配置管理已经从服务器农场中的暗黑艺术解放出

vmware虚拟机怎么隐藏菜单工具栏? Vmware虚拟机软件可以用于模拟安装测试环境,??┓⑾?mware升级之后大概从6.0版本开始。菜单栏和工具栏等右击就没有隐藏的功能了,那么怎么才能隐藏菜

标签: kvm虚拟化网络配置

本文链接地址:https://www.jiuchutong.com/biancheng/354087.html 转载请保留说明!

上一篇:使用guestfish来管理KVM容器的详细教程(guest怎么用)

下一篇:在Linux系统中将SSD当块设备缓存的方法(在linux操作系统中)

  • 小规模纳税人所得税优惠政策2023
  • 进项票和销项票是什么意思
  • 固定资产一次性折旧政策2023
  • 专票手工认证
  • 建安企业核定征收税率多少
  • 房地产企业预缴土地增值税
  • 应付职工薪酬如何具体到个人
  • 建筑预缴税款后如何进行账务处理?
  • 个人挂靠公司承接工程如何做会计处理?
  • 分项结转分步法例题及分录
  • 财务报表层次重大错报风险增大了认定层次
  • 装修计入固定资产
  • 自然人股权转让涉税信息怎么填
  • 做企业所得税汇算清缴前需要准备什么资料
  • 零报税企业怎么做汇算清缴
  • 应征增值税销售额和应税销售额
  • 出口退税综合服务平台电话
  • 中央非税收入统一票据怎么做账
  • 财务费用中的利息收入指什么
  • 制造业增值税加计抵减
  • win11预览版怎么变回正式版
  • 生产成本包括哪三类
  • 台式机显示器推荐
  • 预提收入的会计处理方法
  • 2021最好的固态
  • 前端打印语句
  • thinkphp框架作用
  • 学生个人网页制作html5
  • 选项式api和组合式api哪个好
  • 最新的目标检测算法2020
  • js匿名函数和命名函数
  • aida理论包括哪些内容?
  • 小微企业的增值税税收优惠政策
  • 集团公司对子公司的内部审计
  • 购建或者生产符合资本化条件的资产
  • php headers
  • 灵动cfe
  • 无偿赠送怎么做账
  • 金税四期对企业影响
  • 累计折旧的账务处理
  • 固定资产办理竣工结算之后的处理方式
  • 工会经费的开支包括哪些
  • 什么是营业净利率计算公式
  • 总账和明细账有那些
  • 去年少交的增值税可以和今年的合并吗
  • 其他综合收益的二级科目有哪些
  • 利息返还是什么意思
  • 电力安装工程合同税率能开13%
  • 季度现金流量表本期数和上期数
  • 应收账款是哪个会计科目
  • 待处理财产损益的账务处理
  • 事业单位收到钱怎么记账
  • 费用设置的明细科目
  • 税收分类编码怎么选
  • mysql深入解析
  • mysql order by desc
  • mysql理论知识
  • 怎么卸载xp系统安装win7系统
  • win2008下的HPC群集是什么有什么作用
  • linux命令大全chm版
  • linux系统中文件权限分为哪三种
  • 无光驱无u盘重装系统
  • windows使用cmd运行程序
  • xp操作系统入门
  • win7自带的软件
  • ubuntu20.04.1安装
  • VMware Workstation虚拟机网络连接不可用
  • css透明属性详解怎么写
  • jquery校验数字
  • Android Padding Margn记录
  • unity获取物体位置代码
  • unity灯光闪烁效果
  • JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
  • javascript简单吗
  • jquery mobile grid
  • jquery获取url地址
  • 小规模纳税人季报网上申报流程
  • 怎样纳税申报和缴纳
  • 房地产开发企业资质管理规定
  • 建筑企业所交的税项有多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设