ITPub博客

首页 > 数据库 > 数据库开发技术 > 49 最佳实践-性能最佳实践-Nvme磁盘直通

49 最佳实践-性能最佳实践-Nvme磁盘直通

原创 数据库开发技术 作者:shuchaoyang 时间:2023-04-05 07:30:00 0 删除 编辑

49 最佳实践-性能最佳实践-Nvme磁盘直通49.1 概述49.2 操作指导

49 最佳实践-性能最佳实践-Nvme磁盘直通

49.1 概述

设备直通技术是一种基于硬件的虚拟化解决方案,通过该技术,虚拟机可以直接连接到指定的物理直通设备上。对于用户来说,如果需要提升虚拟机存储性能,可以采用将 Nvme 磁盘通过 PCI 直通技术直通给虚拟机的办法,从而获得更高的性能表现。

49.2 操作指导

  1. 使用前准备

  • 确认 Guest OS 内安装 Nvme 磁盘供应商所提供的驱动程序,否则 Nvme 磁盘无法正常工作。

  • 确认 Host OS 开启CPU的 VT-d 和 VT-x 支持。

  • 确认 Host OS 开启内核的 IOMMU 功能。

  • 确认 Host OS 开启内核的中断重映射功能。

  • 获取 Nvme 磁盘的 PCI BDF 信息

    在Host上通过 lspci 命令获取主机上pci设备的资源列表,具体命令如下所示。

    # lspci -vmm
    Slot: 81:00.1
    Class: Non-Volatile memory controller
    ...

    命令回显其中的 Slot 选项及对应了 Nvme 磁盘的 PCI BDF 号,以上方命令为例,每个值的对应关系即81-bus号,00-slot号,1-function号。

  • 挂载 PCI 直通 Nvme 磁盘至虚拟机中

    创建虚拟机时,在其对应的 xml 配置文件中加入 PCI Nvme 磁盘直通的配置选项。具体配置文件如下所示

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
          <address domain='0x0000' bus='0x81' slot='0x00' function='0x1' />
      </source>
    </hostdev>
    • hostdev.source.address.domain: Host OS 上 PCI 设备的 domain 号。

    • hostdev.source.address.bus: Host OS 上 PCI 设备的 bus 号。

    • hostdev.source.address.slot: Host OS 上 PCI 设备的 slot 号。

    • hostdev.source.address.function: Host OS 上 PCI 设备的 function 号。

  • 指定 Nvme 磁盘的 PCI bar 空间

    为了进一步将 Nvme 磁盘的性能发挥到极致,需要指定直通 Nvme 磁盘在 Guest OS 内 PCI MSI-X 中断的 Bar 空间。具体配置如下。

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
          <address domain='0x0000' bus='0x01' slot='0x00' function='0x0' />
      </source>
      <alias name='ua-sm2262'/>
          <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </hostdev>
    <qemu:commandline>
      <qemu:arg value='-set'/>
      <qemu:arg value='device.ua-sm2262.x-msix-relocation=bar2'/>
    </qemu:commandline>

    以上xml配置将直通的 Nvme 磁盘的中断信息处理指定在第2号 Bar 上,增加该项配置可以使 Guest OS 内的 Nvme 磁盘性能达到与 Host OS 上的 Nvme 磁盘性能几乎一致。


  • 👍 点赞,你的认可是我创作的动力!

    ⭐️ 收藏,你的青睐是我努力的方向!


    有什么吐槽或反馈意见,直接告诉我!

    温馨提示:如出现二维码失效也可直接添加微信号:ysc13803862469。


    原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

    请登录后发表评论 登录
    全部评论
    专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

    注册时间:2021-08-27

    • 博文量
      552
    • 访问量
      303569