VDUSE简介
VDUSE(vDPA Device in Userspace)技术是字节跳动2020年10月向 Linux 内核社区正式开源的一项技术,通过VDUSE可以在一个用户进程实现一个软件定义的 vDPA 设备,并可以通过上述 vDPA 框架接入 virtio 或者 vhost 子系统,供容器或者虚机使用。此技术将在Linux 5.15 版本中首次引入。
vDPA(virtio data path acceleration)设备是一个使用符合virtio规范的数据路径的设备,具有厂商特定的控制路径。vDPA设备既可以物理上位于硬件上,也可以通过软件模拟。VDUSE是一个框架,它使在用户空间实现软件仿真的vDPA设备成为可能。为了使设备仿真更加安全,仿真的vDPA设备的控制路径在内核中处理,只有数据路径在用户空间中实现。
需要注意的是,现在VDUSE框架只支持virtio块设备,当实现数据路径的用户空间进程由非特权用户运行时,才可以减少安全风险。对其他设备类型的支持可以在将来相应设备驱动的安全问题得到修复后加入。