DOCA 文档 v2.10.0

SNAP Virtio-fs 服务发行说明

发行说明提供了 DOCA SNAP Virtio-fs 服务的信息,例如变更和新功能、软件已知问题和错误修复。

1.2.0-doca2.10.0 版本中的主要功能

  • 带有可自定义 SPDK FSDEV 的 Virtio-fs 容器

  • Virtio-fs 支持缓存失效和 fuse 通知队列(需要 NVIDIA 修改的 Virtio-fs 驱动程序)

  • 每个模拟功能 Virtio-fs 254 个 IO 队列,总限制为 2000 个

以下功能目前在此应用程序版本中不受支持

  • 端到端容器解决方案不支持设备恢复、实时更新或实时迁移

  • 动态 MSIX

DOCA SNAP Virtio-fs 问题

以下是 DOCA SNAP Virtio-fs 软件版本的已知限制。

参考 #

问题

描述:由于 DPU 上运行的 VirtioFS 进程中 255 KB 的数据池大小限制,最大 I/O 大小限制为 255 KB。

解决方法:在 fsdev_aio_create RPC 中将 max_xfer_size 设置为低于 255 KB 的值。此值用作主机内核 FUSE 层中的 max_write。如果 I/O 大小超过 max_xfer_size,则主机内核中的 FUSE 层会将 I/O 分割成更小的块。

关键词:IO 错误;主机错误;io_size

发现版本:1.2.0-doca2.10.0

描述:在高负载下,由于缺少内存池资源,可能会看到主机上的 IO 错误,使用 8 个 PF 时更可能看到。

解决方法:减少整体未完成的 IO 流量。

关键词:IO 错误;主机错误

发现版本:1.2.0-doca2.10.0

描述:由于缺少恢复支持,因此在 IO 流量期间无法执行任何负面/弹性操作(例如,销毁和恢复)。

信息

支持使用 virtio_fs_device_stopvirtio_fs_device_start 重启设备。

解决方法:不适用

关键词:恢复;负面/弹性操作

发现版本:1.0.0-doca2.8.0

描述:以下 FUSE 命令不受支持:BMAP、SETUPMAPPING、REMOVEMAPPING。

解决方法:不适用

关键词:FUSE

发现版本:1.0.0-doca2.8.0

描述:如果应用程序控制器已处理 FUSE 命令,则不允许应用程序重启。

解决方法:卸载主机上的 virtio-fs 驱动程序,然后重启应用程序。

关键词:FUSE

发现版本:1.0.0-doca2.8.0

描述:应用程序可以创建的 virtio 队列总数限制为 2,000。

解决方法:不适用。

关键词:Virtio 队列

发现版本:1.0.0-doca2.8.0

描述:当使用 Linux 的 virtio-fs inbox/upstream 内核驱动程序时,不支持以下操作:FLR 和 virtio-fs 通知队列。

解决方法:不适用

关键词:FLR;virtio-fs;inbox/upstream 内核驱动程序

发现版本:1.0.0-doca2.8.0


操作系统或供应商问题

信息

以下不是 DOCA SNAP Virtio-fs 限制。

参考 #

问题

描述:如果从主机通过写入 1/sys/bus/pci/devices/bdf/ 下的 reset 文件来启动 FLR,使用命令 echo 1 > /sys/bus/pci/devices/0000\:29\:00.2/reset,则主机驱动程序不会创建 virtqueue,导致挂载点无限期卡住。

解决方法:FLR 应该仅在主机上没有任何 virtio-fs 挂载的情况下执行。要在 FLR 后运行 IO,请重新加载 virtio-fs 主机驱动程序。

关键词:驱动程序;FLR

发现版本:1.0.0-doca2.8.0

描述:在主机上,当 virtio-fs 挂载空闲时(即,没有 I/O 操作),dmesg 日志会填充重复的 AppArmor DENIED 消息。这些消息表明 ntpd 服务被 AppArmor 拒绝访问特定文件。ntpd 服务正在尝试访问 /snap/bin//etc/ssl/openssl.cnf,但 ntpd 的 AppArmor 配置文件不允许这些访问,从而导致请求被拒绝。

解决方法:修改 ntpd 的 AppArmor 配置文件以授予所需的读取权限。

  1. 找到 ntpd 的 AppArmor 配置文件。它通常位于 /etc/apparmor.d/ 中,并命名为 usr.sbin.ntpd

  2. 编辑配置文件并使用文本编辑器添加所需的权限。例如

    1. 运行

      复制
      已复制!
                  

      sudo nano /etc/apparmor.d/usr.sbin.ntpd

    2. 添加以下行以允许 ntpd 读取必要的文件

      复制
      已复制!
                  

      /snap/bin/ r, /etc/ssl/openssl.cnf r`

  3. 通过重新加载 AppArmor 配置文件来应用更改

    复制
    已复制!
                

    sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.ntpd

关键词:AppArmor,ntpd

发现版本:1.0.0-doca2.8.0

描述:对于低于 6.10 的内核版本,如果在循环中对 virtio_pcivirtiofs 驱动程序进行压力加载和卸载,或者在循环中进行挂载和卸载,则卸载或卸载驱动程序可能会挂起。

解决方法:在驱动程序的加载和卸载之间添加 1 秒的延迟。

关键词:virtio_pci;virtiofs

发现版本:1.0.0-doca2.8.0


© 版权所有 2025 NVIDIA。 上次更新于 2025 年 2 月 12 日。