一文解读 SmartX 超融合虚拟化下的网络 I/O 虚拟化技术

news2024/10/4 20:19:08

随着技术的不断发展,不少行业应用都对网络性能和隔离性有着越来越高的要求。例如:

  • 低延迟:一些期货行业用户选择在期货公司机房托管服务器并自行编写交易程序,以实现对市场波动的快速(微秒级)反应。尤其是在高频交易场景下,毫秒级甚至微秒级的延迟都可能对交易的最终受益带来较大影响。对于这些应用,降低网络延迟能够为业务价值带来显著提升。

  • 高带宽:科学计算、模拟和仿真等高性能计算工作负载通常涉及大规模数据的传输和处理。在科学研究、工程模拟、气象预测等领域,需要传输大量的数据;同时,高性能计算通常利用大规模的并行计算集群,其中包括数百甚至数千台计算节点。这些节点需要频繁地互相通信以同步计算结果、传递数据和协调计算任务。这些业务场景都需要高网络带宽来提升数据传输和整体计算效率。

针对这些需求,网络 I/O 虚拟化技术可以优化网络资源、提升 I/O 性能,目前有三种主流实现方式:仿真(Emulation)、半虚拟化(Para-virtualiztion)和直通(Pass-through)。为了帮助用户更好地实现网络优化,SmartX 在全新发布的超融合软件 SMTX OS 5.1 版本中新增了 PCI 网卡直通的能力结合之前版本已经支持的 SR-IOV 直通功能和虚拟网卡,SmartX 超融合可为原生虚拟化 ELF 集群提供完整的网络 I/O 虚拟化技术支持能力。用户可根据自己在网络性能、隔离性和成本投入上的实际需求选择最合适的方案,实现期货交易、高性能计算等多种高网络要求场景的生产级使用。

在本文中,我们将详细介绍 SmartX 超融合网络 I/O 虚拟化支持能力,并针对网卡在 PCI 直通和 SR-IOV 直通模式下的性能表现开展测试。 

SMTX OS 5.1 网络 I/O 虚拟化

功能特性

为了满足不同用户和应用场景需求,SMTX OS 5.1 新增了 PCI 网卡直通的功能。目前,对于 ELF 虚拟机,SMTX OS 支持虚拟网卡、SR-IOV 直通网卡、PCI 直通网卡三种网络设备。

  • 虚拟网卡:通过软件模拟物理网卡的功能,使得虚拟机可以与外部网络互联。

  • PCI 网卡直通:将主机上的网卡作为 PCI 直通网卡透传给虚拟机使用,该网卡由这台虚拟机独占。

  • SR-IOV 直通:将一个支持 SR-IOV 的物理网卡虚拟化出多个 VF (Virtual Function),作为 SR-IOV 直通网卡直接挂载给虚拟机使用,可实现多个虚拟机共享同一个物理网卡的通信能力。

每个主机上可以使用不同型号的网卡*,每个虚拟机可挂载多种网络设备。

*兼容列表见文末附录。

图片

虚拟网卡

虚拟网卡是虚拟化环境中使用最广泛的网络适配器,除了帮助虚拟机与网络通信之外,虚拟网卡还通过网络隔离策略确保了不同虚拟机之间的网络流量隔离,并可结合虚拟交换机(VDS)和虚拟机网络创建复杂的虚拟网络拓扑。

虚拟网卡具备相当优秀的灵活性和弹性:为虚拟机配置虚拟网卡后,可以根据需要再次修改配置,也可以通过克隆已有配置来加快新服务的部署速度;同时,由于消除了对硬件的依赖,虚拟机在快照和迁移时都可保留虚拟网卡的配置,可轻松将虚拟机迁移或重建至其他物理主机。

尽管在大部分场景下,虚拟网卡的性能已经可以满足需要,但通过仿真(E1000 类型的虚拟网卡使用此技术)或者半虚拟化(例如 VIRTIO 类型的虚拟网卡)来模拟物理网卡都会带来额外的性能开销。另外,如果某些业务虚拟机对网络要求较高,在共享 VDS 或虚拟机网络时,这些比较大的流量都会挤占其他虚拟机的正常流量,造成网络性能分配的失衡。

PCI 直通网卡

网卡直通利用了 PCIe Pass-through 的技术,允许虚拟机直接访问并使用 SMTX OS 主机上的网卡。直通网卡具有良好的兼容性,可以支持大部分 Guest OS 和符合 PCIe 总线标准的网卡。同时,由于虚拟机操作系统绕过了虚拟化层,直接使用物理网卡,缩短了数据传输的路径,使得虚拟机可以获得接近物理机使用物理网卡的性能与完整的硬件特性。此外,虚拟机独享物理网卡也提供了更高级别的隔离性。

然而,PCI 直通模式下,一张物理网卡不能同时直通给多个虚拟机使用,因此如果有多个虚拟机有通过直通网卡提升性能的需要时,需要保证主机上有多张物理网卡。另外,挂载了 PCI 直通网卡的虚拟机不支持 HA、热迁移等操作。

SR-IOV 直通网卡

SR-IOV (Single Root - I/O Virtualization) 是一种基于硬件的虚拟化解决方案,启用了 SR-IOV 能力的物理网卡*可被切分为多个 VF (Virtual Function) 并作为 SR-IOV 直通网卡被挂载给虚拟机使用,这允许了多台虚拟机共享一个物理网卡,在提升性能的同时兼顾性价比。用户可以按照实际的业务需求,为同一台虚拟机分配多个 SR-IOV 直通网卡。

* 该功能要求物理网卡本身具备 SR-IOV 特性,且对于特定网卡需要在操作系统中安装驱动。

适用场景

图片

配置方式

PCI 直通

图片

1. 配置主机

首先确保主机上要用于 PCI 直通的物理网卡符合 SMTX OS 兼容要求,详细型号可参考文末附录。

登录 CloudTower,为要直通的物理网卡所在主机开启 IOMMU 支持,并需确保主机 BIOS 中也已启用 IOMMU,完成后重启 SMTX OS 主机。

2. 配置网卡用途

登录 CloudTower,将网卡用途置为 PCI 直通。

3. 添加 PCI 直通网卡

编辑指定虚拟机,选择对应的物理网卡作为 PCI 直通网卡添加到虚拟机上。

SR-IOV 直通

图片

1. 配置主机
首先确保主机上的要用于 SR-IOV 直通的物理网卡符合 SMTX OS 兼容要求,详细型号可参考文末附录。

登录 CloudTower,为要直通的物理网卡所在主机开启 IOMMU 支持,并需确保主机 BIOS 中也已启用 IOMMU 和 SR-IOV,完成后重启 SMTX OS 主机。

2. 配置网卡用途并切分 VF
登录 CloudTower,将网卡用途置为 SR-IOV 直通;并根据实际需要和网卡的支持情况配置指定数量的 VF。

3. 添加 SR-IOV 直通网卡
编辑指定虚拟机,选择对应的物理网卡作为 SR-IOV 直通网卡添加到虚拟机上。

4. 配置虚拟机

根据物理网卡的型号与虚拟机的客户端操作系统,按需为虚拟机安装 VF 驱动。

性能测试

为了让读者直观感受 SMTX OS PCI 直通与 SR-IOV 直通能力,我们使用不同型号的网卡进行了性能测试。

PCI 直通

性能测试借助 netperf 和 iperf3 工具进行,对两种不同型号的网卡(Solarflare、Mellanox)展开 3 个场景的测试。测试结果以物理机到物理机(Host to Host)作为基准,通过对比挂载 PCI 直通网卡的虚拟机到虚拟机(VM to VM)、虚拟机到物理机(VM to Host)在不同测试场景下的吞吐量和延迟数据,分析得出使用 SMTX OS  PCI 直通的效果。

*硬件配置及测试工具见附录。

测试数据

图片

将 PCI 物理网卡直通给虚拟机后,网卡在 TCP 协议下的吞吐量会有小幅度的降低;这是因为虚拟机需要与物理主机上的其他虚拟机和应用程序共享物理资源,而 KVM 虚拟化通常需要额外的计算能力来处理这些管理和调度资源的任务,从而增加了处理开销和网络延迟。

图片

将 PCI 物理网卡直通给虚拟机后,网卡在 UDP 协议下的吞吐量同样会有小幅度的降低;降低是因为虚拟机的网络栈必须绕过虚拟化层直接与物理网络适配器通信,使用 PCI 直通网络设备可能会引入额外的开销,例如中断处理和内存访问。

图片


将 PCI 物理网卡直通给虚拟机后,网卡的延迟会有小幅提升;提升是因为虚拟机的网络栈必须绕过虚拟化层直接与物理网络适配器通信,使用 PCI 直通网络设备可能会引入额外的开销,例如中断处理和内存访问。这种开销的影响在 TCP 流量中更加明显,因为相对于 UDP 流量,TCP 流量往往涉及更频繁和更小的数据包。

测试结论

在 PCI 直通模式下,虚拟机可以直接访问物理网卡,但是这也会带来额外的开销,例如 DMA 编程、中断处理等,这些操作会消耗一定的 CPU 和内存资源。同时,虚拟化技术中多重层次的处理和转发也可能会导致网络吞吐量的降低。

但是,这样的额外开销占比非常小。因此,排除部分干扰因素,物理网卡使用 PCI 直通可以获得与物理网卡极接近的性能,完全能够满足虚拟机网络环境低延迟的需求。

SR-IOV 直通

为验证使用 SR-IOV 直通网卡能否获得与物理机接近的性能,我们使用 sfnettest 工具对不同型号网卡进行了性能测试。以物理机到物理机(Host to Host)、挂载 VIRTIO 网卡的虚拟机到虚拟机(VM to VM)的测试数据作为基准,通过对比挂载 SR-IOV 直通网卡的虚拟机到虚拟机(VM to VM)、虚拟机到物理机(VM to Host)在不同测试场景下的延迟数据,分析 SR-IOV 直通网卡的性能水平。

对于 Solarflare 和 Mellanox 网卡,结合了各自的加速方案,对比启用加速前后的数据。

*硬件配置及测试工具见附录。

测试数据

图片

跨交换机的连接方式下,与基准测试中 Host to Host 的平均延迟 14.4 us 相比,使用 SR-IOV 直通网卡在不使用加速方案的情况下,在 VM to VM、VM to Host 场景下均可提供与物理机接近的性能。Mellanox 网卡结合加速方案,在各场景下均可进一步降低延迟至 2-3 us。

图片

直连方式下,与基准测试中 VM to VM 使用 VIRTIO 网卡的平均延迟 63 us 相比,使用 SR-IOV 直通网卡在不使用加速方案的情况下,在 VM to VM 和 VM to Host 场景下均可大幅降低延迟。Solarflare 网卡结合加速方案,在各场景下还可进一步降低延迟至 2-3 us。

*期货公司一个交易订单的数据量大小通常为 64~128 个字节,本次测试均采用发包大小为 64 字节(size=64)的延迟平均值(mean)进行对比。

测试结论

在 SR-IOV 直通模式下,虚拟机可以直接访问物理网卡虚拟化出的 VF。排除部分额外开销带来的影响,虚拟机使用 SR-IOV 直通网卡相比于使用 VIRTIO 网卡可以大幅降低延迟,并获得与物理机极接近的延迟性能。结合加速方案, Solarflare 网卡和 Mellanox 网卡平均延迟还可以得到进一步降低。


作为 SmartX HCI 的核心软件,SMTX OS 5.1 以自主研发的分布式存储 ZBS 与原生虚拟化 ELF 为企业 IT 提供强大的虚拟化与存储支持。欲了解更多新增功能与特性,请阅读:

  • SmartX HCI 5.1 发布:是超融合,更是虚拟化与容器生产级统一架构

  • GPU 直通 & vGPU:超融合为 GPU 应用场景提供高性能支持

  • 动态资源平衡:主流虚拟化 DRS 机制分析与 SmartX 超融合的实现优化

  • 照亮虚拟网络流量“盲区”:超融合网络流量可视化功能解读

  • 从物理机/云平台迁移至超融合?SMTX CloudMove 帮你实现

您还可扫描下方二维码,获取两册《SmartX 超融合技术原理与特性解析合集》,了解 SMTX OS 更多技术特性和测试数据。

《(一)虚拟化与存储》

《(二)管理与运维》

附录

SMTX OS 5.1 网卡兼容性列表

图片

*对于 PCI 直通,此处仅列出了经过测试的网卡。

PCI 直通性能测试

硬件配置

图片

图片

测试工具

图片

SR-IOV 直通性能测试

硬件配置

图片

设备 1:Solarflare 测试物理机

图片

设备 2:Mellanox 网卡测试物理机

图片

测试工具

图片

推荐阅读:

  • 动态资源平衡:主流虚拟化 DRS 机制分析与 SmartX 超融合的实现优化

  • GPU 直通 & vGPU:超融合为 GPU 应用场景提供高性能支持

  • 新建集群 vs. 滚动升级:如何选择超融合服务器硬件平滑升级方案?

  • 照亮虚拟网络流量“盲区”:超融合网络流量可视化功能解读

  • 一文了解 SmartX 超融合硬盘健康检测机制与运维实践

  • 不止弹性,更加灵活。一文了解 SmartX 超融合如何扩容

  • 如何利用 SmartX 存储性能测试工具 OWL 优化性能管理?

  • 通过弹性副本恢复策略平衡数据恢复速度与业务 I/O 性能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1124843.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DYC算法开发与测试(基于ModelBase实现)

ModelBase是经纬恒润开发的车辆仿真软件,包含两个大版本:动力学版本、智能驾驶版本。动力学版包含高精度动力学模型,能很好地复现车辆在实际道路中运行的各种状态变化,可用于乘用车、商用车动力底盘系统算法开发、控制器仿真测试&…

2023深圳CPSE安博会亮点指引

一、深圳安博会开展预告 10月25-28日,第十九届中国国际社会公共安全博览会(简称“CPSE安博会”)即将在深圳会展中心(福田)拉开帷幕。110,000㎡展示面积,130,000名专业观众,1000参展企业&#x…

如何制作自己的数字人

如何制作自己的数字人呢?不用担心平台的使用授权,也不用担心哪一天自己自媒体被号被无故封杀,那么SadTalker将是你的首选,他是完全开源的数字人软件,现已达到Apache2的授权,完全自由的开源软件。作者自己试…

Java中,字符串有多个空格如何截取

笔者在开发中,遇到需要对三方接口返回的报文进行处理,将对方填充的所有空格干掉,截取成list 使用正则表达式:split(“\s”) public static void main(String[] args) {String str "1111 22 33 888";// …

离线直线度测量仪的自动检测之旅!

离线直线度测量仪更适用于产品的抽检,虽然是离线检测设备,但需人工操作的工作非常少,是智能化的检测设备,本来来简单的介绍一下该测量设备。 离线直线度测量仪采用光电测头的直径和位置测量原理进行测量,测量仪采用成9…

【QT开发(11)】QT 线程QThread

Qt的线程支持与平台无关的: 线程类、一个线程安全的发送事件方式跨线程的信号-槽的关联 这使得可以从分利用多处理器机器,有效解决不冻结一份应用程序用户界面的情况下,处理一个耗时操作的问题。 文章目录 1、QThread 一个与平台无关的线程…

JAVAEE初阶相关内容第十六弹--网络编程

写在前 这一节的内容首先是对十五弹(UDP回显服务器)进行简单的改进,在这基础上开始介绍TCP流套接字编程。 目录 写在前 1.改进回显服务器 1.1完整代码实现 1.2运行输出结果 2.TCP流套接字编程 2.1ServerSocketAPI 2.2SocketAPI 3.TC…

JZ23链表中环的入口结点

JZ23链表中环的入口结点 思路: 采用双指针,设定快指针fast_p是慢指针slow_p的2倍,如果有环,则当两指针第一次相遇时慢指针一定不可能在环中走超过一圈,因此假设头结点到环的开头距离为a,环开头到第一次相遇节点的距离为b&#xf…

【数据分享】2023年我国科技型中小企业数据(免费获取/Excel格式/Shp格式)

企业是经济活动的参与主体,一个城市的企业数量决定了这个城市的经济发展水平!之前我们分享过2023年高新技术企业数据(可查看之前的文章获悉详情),我国专精特新“小巨人”企业数据(可查看之前的文章获悉详情…

基于深度学习网络的手势识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 clc; clear; close all; warning off; addpath(genpath(pwd)); rng(default)load gnet.mat[Pr…

32二叉树——DFS深度优先遍历

目录 深度优先算法(Depth-First Search,DFS) LeetCode之路——102. 二叉树的层序遍历 分析 深度优先算法(Depth-First Search,DFS) DFS是一种用于遍历或搜索树状数据结构的算法,其中它首先探…

解决“您点击的链接已过期”;The Link You Followed Has Expired的问题

今天WP碰到一个坑。无论发布文章还是更新插件、更换主题都是这么一种状态“您点击的链接已过期”;The Link You Followed Has Expired 百度出来的答案都是修改post_max_size 方法1. 通过functions.php文件修复 这种方法更容易,只需将以下代码添加到Wor…

程序可以创建多少个用户界面对象?

有人提到这样一个问题:”一个程序最多可以注册多少个窗口类?” 问题的答案不是一个具体的数字。因为大多数用户界面对象都来自一个共享的内存池,我们称之为”桌面堆内存”。尽管我们可以计算一个最大的理论值,但是在实际的场景中&#xff0…

模仿企业微信界面

备注&#xff1a;未实现相关功能&#xff0c;仅模仿界面&#xff0c;不能作为商业用途&#xff0c;若有侵权&#xff0c;请联系删除。 <Window x:Class"模仿企业微信界面.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"…

身为网络工程师必考证书:华为HCIP认证!

为了找到一份心仪的工作&#xff0c;有的人选择入职前先自我提升考取贴合岗位需求的从业相关证书&#xff0c;进而面试并开始工作&#xff0c;有的人选择先从“基层”开始积累经验为首&#xff0c;先进入行业内夯实基础&#xff0c;学习和考证作为了工作“平稳”后的计划。 很…

Qt Creater 设计的登录注册界面 使用SQLite数据库

Qt Creater 设计的登录注册界面 使用SQLite数据库 案例截图 登录页面 注册页面 项目目录结构截图 代码 main.cpp #include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);MainWindow w;//第一个是…

AUTOSAR通信篇 - CAN网络通信(七:Nm)

文章目录 基础功能NM协调器功能NM协调器功能的适用性保持协调总线活动总线关闭的协调嵌套子总线的协调关闭定时器的计算同步用例1 – 同步指令同步用例2-同步启动同步用例3 -同步网络睡眠示例 唤醒和中止协调关闭外部的网络唤醒协调唤醒协调关闭的中止 部分网络功能PNC位向量过…

高速电路设计----第三章(2)LVDS信号详解

一、TTL和CMOS不适用于高速电路设计的原因&#xff08;都是数字电路信号&#xff09; 原因&#xff1a; ①电平幅度较大&#xff0c;电平最低都达到了2.5V或者3.3V。因此信号沿变化所需要的时间很长。不适合大于200MHZ的信号。 ②容易被干扰&#xff0c;输出信号为单端&#xf…

Ubuntu OpenLDAP配置笔记

Ubuntu OpenLDAP配置笔记 问题&#xff08;需求&#xff09;LDAP服务端安装slapd和ldap-utils配置域名编辑hosts修改主机名验证增加一个域账号修改用户的密码 Linux桌面加域安装软件验证允许远程账号首次登录时自动创建HOME目录桌面登录 其它问题Ubuntu更新和安装太慢LDAP服务端…