浅谈SR-IOV在SSD中的应用

这篇具有很好参考价值的文章主要介绍了浅谈SR-IOV在SSD中的应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近年来,随着腾讯云的规模逐步扩大,业界各种大数据业务架构日益增多,部分客户对IAAS层的存储性能提出了更高的要求。本地盘凭借着大带宽、低时延、免占母机带宽等天然优势在一些大数据型业务场景下备受客户青睐。

但随着云和数据中心的单个CPU核数越来越大,物理盘又无法单独做拆分,导致单个虚拟机实例的核数也随之增多,每个虚拟机对应均要占用一个PCIe槽位。

基于以上问题,为了更加灵活的为客户提供各种规格的本地盘,腾讯云硬件导入团队对多种方案进行了讨论验证,并决定从业界中找寻出可以支持SR-IOV的NVMe SSD,经过对不同供应商的深度调研与比对,最终选出忆联进行技术方案的测试和验证工作。

最终,经过腾讯云服务器与供应链NPI团队、腾讯云服务器虚拟化团队、忆联公司一起配合努力,在腾讯云的实验室机房进行了长达两个月的全面测试验证工作,验证结果表明SR-IOV特性在公有云场景下可以带来一定的价值。

一、SSD之SR-IOV的简单介绍

1、SR-IOV

先简单介绍一下SR-IOV,SR-IOV(Single-Root I/O Virtualization,单根 I/O虚拟化)是一种基于硬件的虚拟化解决方案,通过利用PF和VF的属性,将一个设备虚拟出多个PCIe设备,利于虚拟机操作,从而大大减轻宿主机的CPU负荷,提高性能和可伸缩性,帮助系统解决虚拟机SSD盘的QoS问题,可支持更多数量的虚拟机业务。

传统虚拟化系统使用Hypervisor(或者VMM)软件对虚拟机进行管理,软件层既消耗CPU资源,又有较深的调用栈,使得PCIe设备的性能优势无法彻底发挥。而SR-IOV可以实现多个虚拟机共享物理资源,且bypass Hypervisor(或者VMM)软件层,使得虚拟机可以使用到NVMe SSD的高性能。

对比传统虚拟化系统,在有SR-IOV技术的云业务虚拟机应用场景下,VM可直接与VF通信,不需要Hypervisor接入IO处理,节约 vCPU资源的同时,又可以实现不同VF之间性能相互隔离,互不影响。

浅谈SR-IOV在SSD中的应用

*传统虚拟机与SR-IOV虚拟机对比

可以总结得出SR-IOV优势在于:

1,实现SR-IOV之后,VMM把中断交给虚拟机处理,提高了I/O性能;

2,虚拟机直接和PCIe设备交互,bypass掉中间的Hypervisor/VMM层,减轻物理主机CPU负担,使之有能力承载更多虚拟机;

3,SR-IOV虚拟化技术可以减少客户所需PCIe设备数量,进而节省PCIe插槽;

4,SR-IOV可以与其他的I/O虚拟化技术进行结合,提供一个更加完整的兼具高性能和安全性的解决方案;

比如,当前一块NVMe SSD容量可以达到十几TB,而IOPS可以达到100万以上,延时也降低到了微秒级,SR-IOV可以使NVMe SSD直接被上层多个VM所用,SSD的性能优势也可以直接被上层应用感知到。

如下图,在虚拟化分区方式场景下,通过SR-IOV技术将一片PCIe 4.0 7.68TB SSD(绑定16个CPU核)配置为2个容量为3.84TB VF(绑定8个CPU)。

浅谈SR-IOV在SSD中的应用

二、忆联SSD技术验证

1、性能测试验证

目前,SR-IOV在虚拟化中的应用较为成熟,被广泛应用于网卡以及对网络性能、传输速度要求极高的应用场景中。而基于SR-IOV的SSD许多厂商已做过多种尝试,比如定义namespace后进行上层虚拟机的关联,多家SSD厂商都已支持。但如何做到1块物理SSD硬盘基于SR-IOV虚拟化成几块虚拟SSD硬盘后,依然能保障QoS的性能隔离和性能保障,是其中最大的挑战。

据悉,忆联在早期规划SR-IOV特性时就从控制器层面做了很多优化设计,基于硬件能力规划了QoS的能力,可以做到多块虚拟SSD硬盘之间性能隔离。

为了验证QoS的能力,我们在1分8的场景下,进行了充分的性能测试验证,从以下数据显示:

浅谈SR-IOV在SSD中的应用

*1分8场景

在SR-IOV特性上,忆联的QoS能力依然表现不俗,隔离效果明显,基本可以做到在业务使用场景下相互之间并无影响,确保使用SR-IOV以后,也依然可以保障虚拟SSD盘的大带宽、低时延。

2产品化验证——可靠性验证

满足性能的同时,在产品化过程中SR-IOV是否可以满足高可靠性也同样重要。例如在对命令支持方面,虚拟化SSD盘和物理SSD盘有何区别?在物理盘掉电之后,数据是否会丢失?物理盘掉盘异常之后, SR-IOV配置如何快速保留和恢复?

因此,忆联在设计SR-IOV之初,为了保障产品的高性能与高可靠性,对业务使用流程上的需求也进行了全面的考虑与分析,使得忆联的SR-IOV特性得以在各种业务流程和异常场景中都有应对的方案和措施。

具体测试流程及验证结果如下:

浅谈SR-IOV在SSD中的应用

通过以上测试验证,我们可以比较明确忆联的SR-IOV在新盘接入,盘片掉电恢复,异常换盘三种场景下均有比较高的可靠性保障方案。

三、SR-IOV未来可期

未来,随着单台服务器的CPU核数增加,网卡带宽增加到100G,单个SSD硬盘容量越来越大,使用SR-IOV提供各种容量规格的本地盘的必要性也越来越高。

一方面,本地盘场景下使用大容量SSD盘的SR-IOV特性,可以减少小容量NVMe SSD的数量,有效降低单台服务器的TCO;

另一方面,使用SR-IOV技术可以让底层的NVMe SSD盘资源跟随上层碎片化的CPU核数进行更灵活的售卖,提升整体的售卖率,降低单台虚拟机的成本。

未来,腾讯云会继续在NVMe SSD的SR-IOV特性方面与忆联进行更多更深入的探索和投入,携手推进NVMe SSD盘的SR-IOV在公有云场景下的应用,并基于用户的实际应用需求场景,持续提供有竞争力的产品和服务,帮助用户创造更多价值。文章来源地址https://www.toymoban.com/news/detail-446527.html

到了这里,关于浅谈SR-IOV在SSD中的应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 什么是SR-IOV?先用起来再说

    当然用起来之前还是得知道这东西是做什么的,以及相关的概念。 SR-IOV全称single root input/output virtualization,直译过来就是单根I/O虚拟化,怎么理解呢?首先SR-IOV最初的应用(也是我仅知的应用)是在网卡上,下图是一张SR-IOV示意图,单根的“根”即图片最底层的物理网卡,

    2024年02月21日
    浏览(26)
  • 【PCIe 5.0 - 100】SR-IOV【1】

    本文将从PCIe角度讲SR-IOV。 PCIe 系列SR-IOV导航: 【PCIe 5.0 - 100】SR-IOV【1】 【PCIe 5.0 - 101】SR-IOV【2】 【PCIe 5.0 - 102】SR-IOV【3】 【PCIe 5.0 - 103】SR-IOV 【4】   行业内,通过使用虚拟化技术来提高硬件资源的有效利用率(即应用程序执行)已经付出了巨大的努力。SR-IOV使多个系统

    2024年02月12日
    浏览(33)
  • 【重识云原生】第四章云网络4.7.8节——SR-IOV方案

            SR-IOV是Single Root I/O Virtualization的缩写。SR-IOV 技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV 标准允许在虚拟机之间高效共享 PCIe(Peripheral Component Interconnect Express,快速外设组件互连)设备,并且它是在硬件中实现的,可以获得能够与本机性

    2024年02月11日
    浏览(33)
  • 12代CPU启用SR-IOV vGPU,实现一台电脑当七台用

    背景 虚拟桌面基础设施(VDI)技术一般部署在服务器,可以实现多个用户连接到服务器上的虚拟桌面。随着桌面计算机性能的日益提升,桌面计算机在性能在很多场景下已经非常富余,足够同时满足多个用户同时使用的需求。实际项目中,VDI很少部署在桌面计算机的硬件架构

    2024年02月08日
    浏览(22)
  • Proxmox VE 8.1 Kernel 6.5.13-5-pve ,无法支持核显 SR-IOV 的问题

    我的之前的博客《利用显卡的SR-IOV虚拟GPU技术,实现一台电脑当七台用》介绍了 Proxmox VE 7.x 上启用核显虚拟化的方法。 并给出了两个脚本,快速启用核显的SR-IOV。该脚本在 Promox VE 7.x 和 8.x 都做了测试。 近期重新在 Proxmox VE 8.1 上部署,发现无法正常工作。  经过检查发现是

    2024年04月11日
    浏览(33)
  • AIGC爆火一年来,哪些应用令人眼前一亮?

    “百模大战”不仅推动了技术的快速发展,也激发了公众对人工智能潜力的广泛兴趣。然而,一年过去了,哪些应用既满足了人们的需求预期,又带来科幻照进现实的“赛博朋克之感”?笔者了解了一些优秀的AIGC应用案例,以下列出几例。 一年前,ChatGPT 4.0推出,人工智能在

    2024年04月17日
    浏览(26)
  • 关于透明传输在通信中的应用浅谈

    关于透明传输在通信中的应用浅谈 随着现代通信技术的飞速发展,数据传输的需求和复杂性日益增长。在这样的背景下,透明传输技术成为了通信领域的重要研究对象。透明传输是指在不改变原始数据的前提下,将数据完整、准确地传输到目的地。本文将详细探讨透明传输在

    2024年02月05日
    浏览(32)
  • 浅谈C#在unity应用中的工厂模式

    工厂模式是一种 创建型 设计模式,它提供了一种将对象的实例化过程封装起来的方法,使得客户端代码不必直接依赖于具体类。这有助于降低代码的耦合度,提高代码的可维护性和可扩展性。在C#中,有三种常见的工厂模式: 简单工厂模式 、 工厂方法模式 和 抽象工厂模式

    2024年02月04日
    浏览(23)
  • 浅谈拨测在网络安全中的应用

    在当今数字化时代,网络安全成为各个行业和组织关注的焦点。为了保障网络的稳定性和信息的安全,拨测安全性成为一种日益重要的工具。本文将介绍拨测在网络安全中的应用: 1.威胁模拟 通过威胁模拟,拨测安全性可以模拟各种网络攻击,包括恶意软件、网络钓鱼等,以

    2024年01月24日
    浏览(23)
  • 浅谈单例模式在游戏开发中的应用

    如果在外部想在不同的时间结点、不同的位置访问某类中的成员且想要保持访问时,成员地址唯一。 那么可以考虑将该类声明为 静态类 ,但若是成员中包含公共的数据类型,此时便可以考虑将该类做成一个 单例 。 由于类中的数据,必须在实例化后堆栈才会为其分配变量的

    2024年02月10日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包