<div id="pyl3k"></div><div id="pyl3k"><tr id="pyl3k"></tr></div>

<em id="pyl3k"><ins id="pyl3k"></ins></em>
<progress id="pyl3k"></progress>

<sup id="pyl3k"></sup><progress id="pyl3k"></progress>

    <sup id="pyl3k"><menu id="pyl3k"></menu></sup>

    <em id="pyl3k"></em>
    机房360首页
    当前位置:首页 ? 技术解构 ? NVMe-oF可以应对横向扩展存储挑战

    NVMe-oF可以应对横向扩展存储挑战

    来源:机房360 作者:Harris编译 更新时间:2019/2/19 7:05:22

    摘要:NVMe over Fabrics已被证明是针对横向扩展存储架构所面临问题的有用解决方案,供应商和用户都注意到了这一点。

       NVMe over Fabrics已被证明是针对横向扩展存储架构所面临问题的有用解决方案,供应商和用户都注意到了这一点。
      
      通常,有两种公认的扩展存储架构的方法:纵向扩展和横向扩展。纵向扩展产品通过增加单个?#24067;?#24179;台的容量和功能来工作,而横向扩展工具通过额外的服务器或节点提高了功能。从历史上看,横向扩展的实施起来比较复杂,但随着NVMeover Fabrics的出现,这可能会发生变化吗?
      
      开发用于降低结构网络上的性能开销,可以使用Fabrics上的非?#36164;?#24615;内存表达式来解决某些横向扩展存储架构所面临的限制。随着越来越多的组织寻求高可扩展性,供应商开始将NVMe-oF技术融入其产品中,以降低横向扩展存储所涉及的复?#26377;浴?br />   
      横向扩展挑战
      
      横向扩展存储往往分为两类:
      
      1.紧密耦合:存储节点或服务器彼此紧密绑定,具有共享内存和专有高速背板等功能。单片或向上扩展的一些产品?#23548;?#19978;是横向扩展架构,例如Dell EMC公司的PowerMax。
      
      2.松散耦合:在这种情况下,节点不是紧密绑定在一起,而是可以单独操作。节点是通过一些高速网络(通常是以太网)连接的,这些网络不是直接构建在平台中的。这里的一个很好的例子是Netapp的Solid Fire,它使用多个1U服务器和标准的万兆以太网(GbE)网络。
      
      NVMe开发的下一个合乎逻辑的步骤是通过结构或网络启用协议。
      
      紧密耦合的横向扩展产品通常提供更高级别的弹性和更一致的性能,而松散耦合的体?#21040;?#26500;可以扩展得更多,但必须处理存储驱动器和节点故障的影响。
      
      实施横向扩展存储是一项挑战,因为数据需要受到保护和保持一致。这意味着在平台中实施技术以检测节点?#38382;?#21457;生故障,并在设备或节点发生故障时通过横向扩展集群重新保护数据。
      
      什么是NVMe-oF?
      
      随着数据中心性能需求的增加,存储一直是提供快速高效应用程序的瓶颈。NVMe是一种旨在通过固态介质降低存储协议性能开销的技术。基于NVMe的SSD使用外围组件互连高速(PCIe)连接到服务器,在IOPS和吞吐量方面提供更大的带宽,并且比SAS和SATASSD具有更低的延迟。
      
      NVMe over Fabrics的工作原理
      
      NVMe开发的下一个合乎逻辑的步骤是通过结构或网络启用协议。NVMe-oF描述了一组标准,这些标准是为通过光纤通道(FC),以太网或Infini Band网络传输NVMe协议而开发的。
      
      NVMexpress传输是一个抽象协议层,提供NVMe命令和数据传输。
      
      如今,NVMeoverFC,NVMe-oF的产品通过融合以太网(RoCE),NVMe over InfiniBand和NVMe/TCP使用标准以太网网络接口卡进?#24615;?#31243;直接内存访问。
      
      NVMe-oF如何帮助横向扩展存储?
      
      人们看到的一种情况是典型存储设备中的组件分解。该架构在主机和存储介质之间实现了更直接的路径,从而无需通过集中控制器传输数据。即使是目前的横向扩展产品也存在这种限制,这可能导致不能充分利用SSD硬盘的能力。通过提供更直接的I/O路径,单个主机可以与多个驱动器通信,反之亦然。这减少了延迟并增加了横向扩展能力。
      
      NVMe标准的一部分提供了使这些工具工作的功能集。使用SAS和SATA驱动器,I/O?#35757;?#22312;一个队列中,在读取内部NAND介质?#34987;?#20135;生瓶颈。NVMe引入了65,535个队列的功能,每个队列最多可容纳65,535个队?#24615;?#32032;。这使得在主机和驱动器之间实现高度并行,多对多的体?#21040;?#26500;成为可能,并为每个主机/驱动器关系提供单独的队?#23567;?br />   
      实施此类技术的供应商包括E8存储与E8NVMe设备和基于主机的软件驱动程序。该设备充当元数据服务器和以太网到PCIe桥,传统存储任务(如快照)?#23545;?#21040;每个连接的主机。
      
      Excelero公司拥有一个基于软件的产品,可将许多服务器连接到一个存储消费者和提供商网络中。NVMesh软件使任何存储消费者都可以访问任何服务器中的任何驱动器,而无需通过目标服务器CPU。其结果是一种架构,其中可以实现额外容量的增加,而现有应用程序的开销几乎可以忽略不计。
      
      WekaIO公司使用类似的技术来提供称为Matrix的横向扩展文件?#20302;?#26550;构。NVMe在整个网络中的低延迟与分布式处理相结合,使Matrix文件?#20302;?#33021;够以比本地驱动器更快的速度运?#23567;?br />   
      令人关注的?#24067;?br />   
      供应商还专注于构建支持高可扩展性的?#24067;?#24037;具。
      
      Pavilion Data Systems公司开发了一个平台,该平台使用多达20个自定义?#24067;?#20992;片服务器和72个NVMe驱动器来创建机架级架构,能够在100微秒时支?#32622;?#31186;120千兆字节的带宽。应用程序主机使用标准的40GbE或100Gb ERoCE网络适配器和NVMe-oF驱动程序。
      
      Vexata公司开发了一种架构,该架构使用商用?#24067;?#32452;件来扩展以太网中板的容量和性能。后端可扩展性通过基于?#24067;?#30340;企业存储模块(ESM)实现,而前端连接提供NVMe-oF功能和带有I/O模块(IOM)的直接?#24067;蘒/O路径。现有的实现目前提供多达16个ESM和两个IOM,尽管该架构可以扩展到更多。
      
      Apeiron Data Systems公司是另一?#26131;?#24490;?#24067;?#27169;型的创业公司。Apeiron ADS1000平台使用NVMe over Ethernet和自定义主机总线适配器提供横向扩展架构,可在单一配置中增长以支持数千个驱动器。
      
      NVMe-oF提供了消除传统架构?#38469;?#30340;能力,并创建了更具分布性的产品。所有这些供应商产品的共同点是减少从主机到介质的I/O路径的长度和影响。这将成为未来存储设计的一个特征,因为延迟仍然是存储需要克服的最大挑战。
      
      编辑:Harris
      
      

    机房360微信公众号订阅
    扫一扫,订阅更多数据中心资讯

    本文地址:http://www.7569798.com/news/2019219/n0581116423.html 网友评论: 阅读次数:
    版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
    相关评论
    正在加载评论列表...
    评论表单加载中...
    • 我要分享
    青海快三计划

    <div id="pyl3k"></div><div id="pyl3k"><tr id="pyl3k"></tr></div>

    <em id="pyl3k"><ins id="pyl3k"></ins></em>
    <progress id="pyl3k"></progress>

    <sup id="pyl3k"></sup><progress id="pyl3k"></progress>

      <sup id="pyl3k"><menu id="pyl3k"></menu></sup>

      <em id="pyl3k"></em>

      <div id="pyl3k"></div><div id="pyl3k"><tr id="pyl3k"></tr></div>

      <em id="pyl3k"><ins id="pyl3k"></ins></em>
      <progress id="pyl3k"></progress>

      <sup id="pyl3k"></sup><progress id="pyl3k"></progress>

        <sup id="pyl3k"><menu id="pyl3k"></menu></sup>

        <em id="pyl3k"></em>