开始新对话

未解决

此帖子已超过 5 年

1607

2013年3月12日 19:00

vSphere五种RDMA应用模型

vSphere五种RDMA应用模型

转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chinese

介绍

RDMAremote direct memory access)是一种远程内存直接访问技术。RDMA可以在不需要操作系统干预下,完成两个主机之间内存数据传输。RDMA技术具有IO延迟低,带宽性能高,主机CPU负载低的特点。vSphereVMware虚拟化核心产品,RDMA技术特点能够有效满足虚拟机迁移和分布式存储的要求。本文主要为大家介绍RDMAvSphere中的五种应用模型。

更多信息

Full-function VM DirectPath

Full-function VM DirectPath由虚拟机VMM/Hypervisor将整个PCI设备直接透传给一个虚拟机。PCI设备这里指HCA适配器,可以是基于IB或者RoCe或者iWRAP。物理设备为一个虚拟机单独使用,设备无法在虚拟机之间,虚拟机与VMM/Hypervisor之间共享。

由于直接由VMM/Hypervisor透传,虚拟机RDMA性能很好,非常接近于物理机RDMA性能。该方案缺点就是很多vSphere软件功能无法使用,比如:FTSnapshotSuspendvMotion

模型图如下:

image001.jpg

SR-IOV VF VM DirectPath

SR-IOV VF解决Full-function下单一PCI设备无法被多个虚拟机共享的问题。SR-IOV需要适配器和/VMM/Hypervisor协作支持。一个适配器可以在芯片组上面注册多个独立中断(PFVF),每个中断在VMM/Hypervisor对应一个独立的PCI设备。VMM/Hypervisor将每个PCI设备(VF)透传给一个或者多个虚拟机,PF分配给VMM/Hypervisor,负责管理VF

同样是VMM/Hypervisor透传,虚拟机RDMA性能很好,非常接近于物理机RDMA性能。另外由于适配器硬件支持,VMM/Hypervisor还可以灵活进行QOS管理。该方案缺点跟Full-function一样,基于vSpher的很多软件功能不兼容。

模型图如下:

image002.jpg

基于10GbE VM DirectPathRoCE仿真:

VMM/Hypervisor10GbE适配器通过PCI设备透传方式分配给虚拟机。虚拟机运行RXE驱动实现RoCE功能,该功能可以跟运行RXE驱动的虚拟机或者RoCE硬件适配器通信。这是一种在虚拟机通过仿真方式实现RDMA方式,性能不佳。同样由于是VM DirectPath,很多vSphere性能无法使用。

模型图如下:

image003.jpg

基于半虚拟化的RoCE仿真

虚拟机也通过安装RXE驱动实现软件仿真RoCE功能,与基于VM DirectPathRoCE仿真不同的是虚拟机网卡使用半虚拟化方案(vmxnet3)。该方案可以与不需要依赖物理硬件,及时服务器没有支持RDMA功能的适配器,两台虚拟机之间也可以进行RDMA通行。

半虚拟化网络性能较好,介于VMDirectPath和全仿真之间;基于半虚拟化的RDMA全仿真性能较差,优点是vSphere功能都可用。

模型图如下:

image004.jpg

基于Infiniband的半RDMA虚拟化(vRDMA

服务器使用Infiniband物理适配器,VMM/Hypervisor为虚拟机提供版虚拟化RDMA方案。虚拟机RDMA驱动基于Infiniband Verbs实现,VMM/Hypervisor将虚拟机内存和RDMA物理适配器内存直接映射,虚拟机内存访问可以通过DMA实现0-拷贝。

模型图如下:

image005.jpg

小结:

虚拟化应用RDMA主要3种方式:仿真、半虚拟化、透传。透传模式性能最好,半虚拟化性能较好,仿真模式性能一般。基于PCI-E SR-IOV的透传模式可以实现多台虚拟机共享一个物理设备,虚拟机RDMA的性能非常接近物理性能,并且可以在VMM/Hypervisor实施QOS管理。半虚拟化方案既能获得可观的性能,又不影响vSphere大量软件功能(比如:FTvMotion等)。透传模式和半虚拟化都需要配合RDMA物理适配器。

参考

·         OFA workshop-RDMA on vSphere: Update and further directions

应用于

N/A

402 消息

2013年3月13日 20:00

微博上的用户“南帆居士”提出问题:rdma底层用嘛传输?

欢迎各位感兴趣的朋友们跟帖讨论。

以下是楼主的回复:

底层现在有三种可用方式:iWRP、RCOE、Infiniband。

RDMA一般都是在10Gb/s以上告诉网络。

找不到事件!

Top