SR-IOV——在私有云环境中的应用与实践

本文详细介绍了SR-IOV技术在私有云环境中的应用,包括KVM网络接口的性能对比、openvswitch的L2和L3层协议分析,以及自建私有云网络的演进过程。通过SR-IOV,可以提升虚拟机的网络性能,减少中间层的数据转发损耗,适用于对网络性能要求较高的业务场景。文章还分享了SR-IOV的实践步骤、性能测试结果和未来的技术规划。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 概述

网络虚拟化是云平台的核心组件之一,本文简单介绍了常见kvm虚拟网卡、网桥技术,自建私有云网络演化过程以及兼顾性能和性价比的SR-IOV技术实践。

2. 认识KVM网卡和网桥

首先我们先一起理解KVM里发送一个数据包从虚拟机到物理机的完整过程。

数据包从虚拟机中出来后,进入virtio的虚拟网卡,然后再进入kvm的虚拟层,最后通过网桥把数据包传入内核,最后到达物理网卡。上面一个流程跑下来,你一定会想能否跳过其中一个步骤或是多个步骤,简化架构提升性能。

2.1 KVM网络接口简介

KVM网络接口(虚拟网卡)一般有四种,分别是 virtio 、vhost-net 、 PCI Path-through 、 SR-IOV,模型如下:

1. Virtio纯虚拟化网卡,性能最弱。(这种即上图所说的完整流程,一般不使用)

2. Vhost-net半虚拟化网卡,跳过虚拟层直接跳转到内核网桥。

可以看到虚拟机的数据包直接跳过了虚拟网卡直接和kvm的虚拟层交换数据,减少一层损耗。这种架构只是解决了从虚拟机发包出去时候跳过虚拟网卡,但并没有在接收数据时候也跳过虚拟网卡。所以当你用发包工具测试的时候会发现虚拟机内部往外发包和外面往内发包的结果不一样,会有15%-20%的差距。

3. Pci Path-through独占网卡,这种就是虚拟机的收发直接和物理网卡数据交换,去掉中间的部分,所以性能最好。

4. SR-IOV 将原来vswitch的活儿直接集成到了网卡芯片中,硬件化虚拟网卡VF,一般能达到原生网卡的一半性能。这种架构和Pci Path-through区别在于,一个是独享,另外一个就是共享,架构几乎是一样的。

而KVM网桥承担着路由交换功能,常见的有linux-bridge 和 openvswitch(相比前者、性能更好),openstack M版及以后默认采用openvswitch。

2.2 KVM网络接口性能测试

对比测试不同架构和网桥技术的pps的数据,同时也比较了包的大小对pps的影响。 包大小分别采用了:64 bytes(小包),1518 bytes(大包)。

3. 了解openvswitch L2 L3层

Openvswitch是一个虚拟交换软件,功能强大,可支持L2和L3两种软交换机功能。

L2层支持local gre vlan xvlan协议。

L3层支持flat vlan协议。

下面分别简介各协议:

3.1 GRE

GRE:General Routing Encapsulation,一种通过封装来实现隧道的方式,其拥有以下特点:

  • 跨不同网络实现二次IP通信。

  • L3上面包装L3。

  • 封装在IP报文中。

  • 点对点隧道。

GRE缺点:

  • 增加了GRE表头会导致本应由交换机硬件来分片的变成由软件来分片(STT技术可以弥补这一点),所以一般我们会关闭网卡的GRO,以及改小MTU。

  • GRE广播,且遂道将虚拟二层打通了,广播风暴更厉害。但对于虚机来说,因为虚拟交换机是完全能够知道虚机的IP和MAC地址的映射关系的,根本不需要通过ARP广播来根据IP找MAC地址。

3.2 VLAN

VLAN: Vi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值