Highlighted
3 Cadmium

【分享】VMware vSphere vMotion虚拟机迁移新模型

RDMA背景介绍:

  • 什么是RDMA

RDMA全称remote direct memory access。大家都知道DMA用来将让CPU从数据拷贝过程中解放,让更多的CPU资源用于计算。RDMA目的和DMA一样,RDMA作用于两台计算机之间的网络数据传输,DMA主要作用计算机内存和IO外设之间的数据传输。

rdma vs tcp ip.png

  • RDMA有什么优势?

延迟低

参考上图,传统TCP/IP数据传输方式需要经过大量协议层,RDMA通过Kernel Bypass方式可以避免那些开销。市场上在售的Mellanox CX3 PCIe3 FDR HCA延迟小于1ms

高带宽

经过测试,Mellanox CX3 PCIe3 FDR HCA 带宽可以超过50Gbps

CPU使用率

由于RDMA减少大量内核协议处理工作,数据实现零拷贝,因此计算机CPU使用率可以大大减少。

RDMA可用方案:

  • 基于以太网(iWARP
  • 基于聚合网 RDMA over Converged Network
  • 基于Infiniband (RDMA over  infiniband)

RDMA常见应用场景:

                RDMA常见使用场景包括:HPC高性能计算,集群数据库(IBM DB2 pureScaleOracle ExaData/RAC),分布式文件系统(IBM GPFSLustreRed Hat Storage Gluster),分布式CacheDell RNA),金融领域和大数据(HadoopMellanox加速器)

vSphere可选 RDMA方案:

  • 全功能模式DirectPath I/O passthrough
  • vsphere passthrouth.png

  • SR-IOV  VF模式的DirectPath I/O passthrough
  • vsphere passthrouth sr-iov.png
  • 半虚拟化的RDMA HCAvRDMA

                 vsphere passthrouth para-virtul.png              

                前两种方案现在已经可用,第三种方案还在开发中。

vMotionRDMA

vmotion and rdma.png

vMotionvSphere专门提供用于虚拟机在线迁移的功能,现有方案基于TCP/IP协议。由于虚拟机迁移最大的问题是需要在两台ESX/ESXi服务器之间同步虚拟机的内存,因此当虚拟机内存很大, 而且业务很繁忙时,虚拟机在线迁移会对ESX/ESXi服务器性能产生严重挑战。如果vMotion基于RDMA,可以在迁移过程实现数据零拷贝、低延迟、消除内核中TCP/IP的协议开销。

  • 测试项目

SPECjbb2005 50GB workload

  • 测试环境

Two HP ProLiant ML 350 G6 machines, 2x Intel Xeon (E5520, E5620), HT enabled, 60 GB RAM

Mellanox 40GbE RoCE cards ConnectX-2 VPI PCIe 2.0 x8, 5.0 GT/s

56 GB, 4 vCPU Linux VM

  • 测试结果

vmotion time.png

bandwidth.png

cpu.png

通过测试可以发现,基于RDMA在线迁移对比TCP/IP可以节省36%时间,带宽性能提升30%,迁移过程中源ESX服务器CPU使用率下降92%,目的ESX服务器CPU使用率下降84%

更多资料:

原始报告来自VMware CTO Office Blog,更多资料请参考:http://cto.vmware.com/

标签 (1)
8 条回复8
Highlighted
5 Tungsten

Re: 【分享】VMware vSphere vMotion虚拟机迁移新模型

怎么消除TCP/IP开是个大问题,第三种方案应该有很大的应用前景

0 项奖励
Highlighted
3 Cadmium

Re: 【分享】VMware vSphere vMotion虚拟机迁移新模型

第一种和第三种都主要需要虚拟化软件厂商来做。

第二种同时需要软硬件和虚拟化厂商来做。

单纯就模型来讲,第二种是最棒的。但是第三种是现有条件下,最有可能实现功能最多的。SR-IOV基于硬件,性能最好,但是要求硬件厂商支持(PCI-E卡现在支持SR-IOV主要是以太网卡或者聚合网卡),基于SR-IOV在线迁移同样需要结合硬件来做,操作起来比较复杂。 第三种是一种半虚拟化技术,性能也还可以接受,关键是虚拟化软件厂商就可以搞定这个方案实现。 第一种的性能很好,但是没有办法实现虚拟机之间资源共享,不太符合虚拟化基本原则之一-资源共享。

0 项奖励
Highlighted
不适用

Re: 【分享】VMware vSphere vMotion虚拟机迁移新模型

学习学习,在学习吧,搞传统IP以太网的同学伤不起啊,想看懂不太容易。。。感觉两个世界的东西。。。。。

0 项奖励
Highlighted
3 Cadmium

Re: 【分享】VMware vSphere vMotion虚拟机迁移新模型

不用担心,看看TCP/IP协议;再通过Linux操作系统了解下网络收发包流程。 不要求你能写代码

0 项奖励
Highlighted
5 Tungsten

Re: 【分享】VMware vSphere vMotion虚拟机迁移新模型

变化太快了,IBM也在鼓吹内存直接读取技术哦只不过偶始终觉得那玩意你怎么保证传输的稳定性以及用什么传输介质的问题。光缆也许是一个比较好的选择吧。

0 项奖励
Highlighted
3 Cadmium

Re: 【分享】VMware vSphere vMotion虚拟机迁移新模型

介质肯定是光缆,光信号相比电磁信号干扰小。

传输的稳定性,不同协议实现太不一样。内存直接读取技术现在被三种主流网络支持:以太网(iWARP)、Infiniband(RDMA)、FCOE(RCOE)。以太网和FCOE的物理传输层实际是差不多的,FCOE重点就是改进以太网层,避免数据丢包;这两个的流控机制还是需要TCP/IP来实现,不过大部分工作通过网络适配器offload去处理。性能还是看好基于Infiniband的方案,绝大部分协议处理工作天生靠硬件来处理。

Infiniband当时提出来的时候,有不少人认为用它来替换掉PCI-E;最终搞不过CPU厂商,最终不了了之。早期的Infiniband都是自带内存的

0 项奖励
Highlighted
5 Tungsten

Re: 【分享】VMware vSphere vMotion虚拟机迁移新模型

不缺钱的可以IB一把

不过关于IB网络的书至今也很少看来是个潜力股。

0 项奖励
Highlighted
3 Zinc

Re: 【分享】VMware vSphere vMotion虚拟机迁移新模型

第一次听说HCA卡。知道NIC和HBA卡。不知道HCA卡是什么样子的,后端如何解存储。

0 项奖励