星空(中国)官方网站-官方授权体育平台

基于RDMA技术的Mayastor解决方案-星空体育|官方网站登录入口

新闻中心

基于RDMA技术的Mayastor解决方案

2024-08-21
浏览次数:
返回列表

  OpenEBS是一个广受欢迎的开源云原生存储解决方案,托管于CNCF(云原生计算基金会)之下,旨在通过扩展Kubernes的能力,为有状态应用提供灵活的持久性存储。Mayastor是OpenEBS项目中的关键存储引擎,它以其高性能、耐久性和易于管理的特点,为云原生应用提供了理想的存储解决方案。Mayastor的特点包括:

  基于NVMe-oF:Mayastor利用NVMe-oF协议,这是一种基于网络的NVMe访问方法,允许NVMe设备通过以太网或其他网络结构进行远程访问,这有助于提高存储系统的性能和可扩展性。

  支持多种设备类型:虽然Mayastor优化了NVMe-oF的使用,但它并不要求必须使用NVMe设备或云卷,也可以与其他类型的存储设备配合使用。

  Mayastor适用于需要高性能和耐久性存储解决方案的云原生应用场景,特别是在边缘计算、大数据分析、流媒体处理等领域。它可以帮助开发人员构建高可用性和可扩展性的有状态应用,同时降低存储系统的复杂性和成本。通过利用NVMe-oF协议和最新一代固态存储设备的性能能力,Mayastor能够提供星空体育网站 星空体育首页低开销的存储抽象,满足有状态应用对持久性存储的需求。

  当前Mayastor只提供了NVMe over TCP技术实现数据存储服务,不支持NVMe over RDMA技术,这就不能充分挖掘NVMe SSD盘的性能优势,主要问题和挑战包括:

  Mayastor依赖于TCP来实现NVMe SSD的数据传输,这意味着它不可避免地继承了TCP的性能瓶颈。TCP的头部开销和拥塞控制机制限制了数据传输的有效速率,尤其是在处理大量小数据包时更为明显。对于需要高速访问和处理的NVMe SSD来说,这种限制可能显著影响Mayastor的整体性能。

  对于那些对延迟要求极高的应用(如高频交易、实时数据分析等),Mayastor当前的TCP实现可能无法提供足够的低延迟保证。TCP的延迟增加和抖动问题可能导致这些应用的性能下降,从而影响业务决策的时效性和准确性。

  在高并发场景星空体育网站 星空体育首页下,Mayastor处理TCP数据包时涉及的频繁中断和上下文切换会显著增加CPU的负载。这不仅会降低系统整体的计算效率,还可能影响Mayastor处理其他存储请求的能力,导致整体性能下降。

  本方案是基于驭云ycloud-csi架构,将Mayastor整合进来,通过Gateway提供数据通路的RDMA加速,提高IO性能。在Host侧通过DPU卸载,可以进一步解放工作节点上的CPU负载,获取更好的应用性能。整体架构如下所示(标绿和标蓝部分是自研组件):

基于RDMA技术的Mayastor解决方案(图1)

  本方案主要由ycloud-csi、RDMA Gateway和Mayastor后端存储三个部分组成,下面将对这三个部分进行介绍。

  针对pvc,调用第三方的controller,创建卷,创建快照和扩容等;

  用户的App运行在POD中。为了能存放持久的数据,需要给POD挂载存储卷。在启动POD之前,可以先创建好PVC,以供后面使用。创建PVC的过程如下:

基于RDMA技术的Mayastor解决方案(图2)

  图中除了包含上一章节介绍的组件外,还有两个k8s系统提供的用于方便对接csi的组件:

  在POD的描述yaml文件里,会指定使用的存储卷PVC。创建POD后,K8s的调度器会选择一个合适的节点来启动POD,然后attacher会把PVC连接到指定节点上,csi-node会把存储卷挂载到POD中。

基于RDMA技术的Mayastor解决方案(图3)

  通过相应的 yaml 描述文件,可以完成创建PVC,删除PVC,创建/删除snapshot,在POD中挂载PVC,并验证操作成功。经验证可知,Mayastor原生支持的操作,在添加Gateway之后,仍可以支持。

  本方案基于单节点Mayastor创建单副本存储池,在以下测试场景与传统Mayastor方案进行对比:

  在Gateway/io-engine本地,目标是使用本地连接提供测试基准数据

  考虑多个性能指标:测试的性能指标包括iops,吞吐,延迟和host cpu消耗。

基于RDMA技术的Mayastor解决方案(图4)

  对比TCP和RDMA在不同地方的采样,可知,io-engine所在节点本地访问延迟较小,在另外一个节点访问,TCP延迟增加了一个数量级,而RDMA延迟增加较小。

基于RDMA技术的Mayastor解决方案(图5)

  通过在本地直接对于NVMe SSD硬盘测试,发现SSD可支持带宽大约2680MiB/s左右。从表中可以看到,使用nvme cli连接,无论是TCP还是RDMA,都可以接近后端存储支持的最大带宽。单独看DPU直通的数据,RDMA的性能远远超过TCP的性能。这是因为TCP由软件栈处理,需要消耗大量CPU资源,DPU内仅有4core,CPU资源不足造成的。

基于RDMA技术的Mayastor解决方案(图6)

  2. TCP的两种方式性能有差别,特别是TCP DPU直通方式的上限是200kiops,说明瓶颈是在DPU的CPU上。

基于RDMA技术的Mayastor解决方案(图7)

  可以看到,当io-engine thread个数为4时,RDMA Gateway已经基本可以压满后端存储;再增加threads个数影响不大。但TCP直连时,性能还是会随着threads增加而增大。这说明RDMA在相对较低的资源条件下就可以达到较高的性能,其加速效果较好。

基于RDMA技术的Mayastor解决方案(图8)

  可以看到TCP DPU直通方式随机读的上限是150kiops,说明瓶颈是在DPU的CPU上。

基于RDMA技术的Mayastor解决方案(图9)

  对于30%写的混合读写方式,由于读操作占主体,跟上面读操作的结果类似,在Host cli情形下,RDMA Gateway的性能要比TCP方式大约提高20%左右。

  在fio测试过程中,通过脚本记录Host上top命令的输出信息,获取CPU的使用信息。

基于RDMA技术的Mayastor解决方案(图10)

  在3个挂载盘上分别做fio测试的IOPS结果分别是:655k,684k,646k。可以看到测试出的性能结果相差不大。上图是测试过程中通过脚本记录的CPU使用情况。可以看到,相对于TCP,使用RDMA协议可以节省大量的CPU。

  通过前面测试数据可以看到,在DPU直通连入的场景下,本方案比原生的Mayastor方案随机写IOPS性能提升40%左右,随机读IOPS性能提升20%左右。在DPU直通的场景下,TCP方式延约200毫秒,RDMA方式约80毫秒,本方案可以减少60%左右的时延。这是因为本方案充分利用了RDMA的超低延迟和高性能特性。RDMA的零拷贝和绕过CPU的传输方式极大地减少数据传输过程中的延迟和CPU消耗,使Mayastor能够更高效地处理NVMe SSD的读写请求。

  通过前面测试数据可以看到,采用RDMA的方式连接后端存储,相对于TCP方式可以节省50%左右的Host cpu。本方案通过NVMe over RDMA减少Mayastor对CPU和内存的占用,使系统资源能够更多地用于其他计算任务,这有助于提升Mayastor的整体稳定性和可靠性,同时降低运营成本。

  RDMA技术还提供了更好的可扩展性和灵活性。随着数据中心规模的扩大和存储需求的增长,Mayastor可以通过支持NVMe over RDMA来更轻松地应对这些挑战。RDMA的远程直接内存访问特性使得跨节点的数据传输更加高效和可靠,有助于构建更强大的分布式存储系统。

  有了NVMe over RDMA的支持,Mayastor将能够更好地满足那些对性能有极高要求的应用场景。无论是高频交易、实时数据分析还是大规模数据库事务处理,Mayastor都将能够提供更加稳定和高效的数据存储服务。

  综上所述,从Mayastor影响的角度来看,NVMe over RDMA技术相较于TCP在性能、延迟和资源消耗方面均展现出显著优势。对于追求极致性能的数据中心和应用场景来说,Mayastor未来能够支持NVMe over RDMA将是一个重要的里程碑,有助于进一步提升其市场竞争力和用户体验。

  本方案来自于中科驭数软件研发团队,团队核心由一群在云计算、数据中心架构、高性能计算领域深耕多年的业界资深架构师和技术专家组成,不仅拥有丰富的实战经验,还对行业趋势具备敏锐的洞察力,该团队致力于探索、设计、开发、推广可落地的高性能云计算解决方案,帮助最终客户加速数字化转型,提升业务效能,同时降低运营成本。

  远程直接内存访问(Remote Direct Memory Access,

  允许应用程序绕过操作系统内核,以零拷贝的方式和远程计算机进行网络通信,具有低延迟和高带宽的优势。

  和CXL的新型低延迟、高可扩展性的内存解耦合系统Rcmp。其显著特点是通过CXL提高了基于

  的内存解耦合 /

  用户评价:Etagon公司开发经理Ely Pinto说,“Sun StorEdge产品的高性能和低成本特性,使之成为我们帮助客户实现快速投资回报

  的稳定运行,基础网络需要提供端到端无损零丢包及超低延时的能力,这也催生了PFC、ECN等网络流控

  提供了一种消息服务,应用程序可以使用该服务直接访问远程计算机上的虚拟内存。

  。具体到协议层面,它主要包含 InfiniBand、RoCE 和 iWARP 三种协议。三种协议都符合

  标准,共享相同的上层用户接口(Verbs),只是在不同层次上有一些差别。

  ,它和RoCE v2 都可以路由。因为 TCP 是面向连接的可靠协议,这使

  简介 /

  分析 /

  可以允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。

  【xG24 Matter开发套件试用体验】10-Bluetooth示例1

  基于OpenHarmony标准系统的C++公共基础类库案例:SafeMap

搜索