【ARM Hypervisor And SMMU 系列 2 -- VT-d DMA Remapping 】

Device Passthough

设备直通(Device Passthrough)是一种虚拟化技术,允许虚拟机(VM)直接访问物理硬件设备,而不需要通过虚拟化层的中介。这种技术提供了接近于原生的性能,并且在某些应用场景下具有重要的意义,例如高性能计算(HPC)、高性能网络和存储应用等。以下是对设备直通的详细介绍。

在传统虚拟化环境中,虚拟机通过虚拟化层(如 KVM、Xen、VMware ESXi 等)与硬件设备交互。虽然这种方法提供了设备抽象和管理的便利,但会增加额外的开销,导致性能下降。 设备直通技术通过允许虚拟机直接访问物理设备,消除了这些中介层,从而提高了性能。这对于需要高吞吐量和低延迟的应用程序尤为重要。

Device Passthough 实现

VT-d 是 Intel 提供的一种 I/O 虚拟化技术,允许虚拟机管理程序(Hypervisor)将物理设备直接分配给虚拟机,并通过 IOMMU(I/O Memory Management Unit)进行 DMA 和中断重映射。

IOMMU 是一种硬件单元,用于管理 I/O 设备的内存访问,提供地址转换和访问控制。它确保设备只能访问分配给它的内存区域,防止 DMA 攻击。

VT-d DMA Remapping

首先回顾下什么是 DMA?
DMA是指在不经过CPU干预的情况下外设直接访问(Read/Write)主存(System Memroy)的能力。 DMA带来的最大好处是:CPU不再需要干预外设对内存的访问过程,而是可以去做其他的事情,这样就大大提高了CPU的利用率。

设备直通(Device Passthough)的虚拟化场景下,直通设备在工作的时候同样要使用DMA技术来访问虚拟机的主存以提升IO性能。那么问题来了,直接分配给某个特定的虚拟机的,我们必须要保证直通设备DMA的安全性,一个VM的直通设备不能通过DMA访问到其他 VM 的内存同时也不能直接访问 Host 的内存,否则会造成极其严重的后果。

因此,必须对直通设备进行 “DMA隔离(DMA isolation)” 和 “DMA地址翻译”,隔离将直通设备的DMA访问限制在其所在VM的物理地址空间内保证不发生访问越界,地址翻译则保证了直通设备的 DMA 能够被正确重定向到虚拟机的物理地址空间内。

为什么直通设备会存在DMA访问的安全性问题呢ÿ

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公CodingCos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值