传统FC存储向NoF发展进化

2024-01-15 02:50
文章标签 发展 存储 传统 进化 fc nof

本文主要是介绍传统FC存储向NoF发展进化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

全闪存时代背景下,传统的FC(Fibre Channel,网状通道)存储网络已经无法满足全闪存数据中心的要求,NVMe(Non-Volatile Memory express,非易失性内存主机控制器接口规范)存储协议的出现极大提升了存储系统内部的存储吞吐性能、降低了传输时延,NoF(NVMe over Fabric)存储网络应运而生。

在多种Fabric技术中,NVMe over RoCE(RDMA over Converged Ethernet)被广大存储厂商所接受,成为业界NoF的主流。华为推出的NoF+存储网络解决方案,相较于标准NoF方案,在性能、可靠性、易用性上均实现了颠覆性改进,是全闪存时代的最佳选择。

2018 年起 SSD(Solid-State Drive,固态硬盘)全球发货量超过传统 HDD(Hard Disk Drive,机械硬盘),读写性能提升百倍。Gartner 预测,2022 年 SSD 在存储中占比将达到 52%,超越半壁江山,成为真正的主流。存储介质的百倍性能提升,驱动了存储协议从传统串行 SCSI(Small Computer Systems Interface,小型计算机系统接口)协议发展到高速并行的 NVMe 协议。新一代存储网络基于 RDMA(Remote Direct Memory Access,远程直接存储读取)技术,保证了全闪存 NVMe协议的高吞吐、低时延的特性。

智能时代各种新技术、新应用层出不穷,数据呈现爆发式增长,对存储网络的稳定性、可扩展性、易用性的要求逐步提高。首先就是更加强调高性能下的稳定性,存储作为数据中心底座,为了减少存储抖动放大对业务的影响,越是在高业务负荷承载的情况下越要保持稳定;其次,更多线下业务转型线上,数据流动性极大增强,这时就需要考虑如何能够满足网络大规模建设问题,未来必然需要扩展性更强大、产业可持续发展的网络;最后还要保障在大规模扩展建设情况下的易用性,以便很好地解决业务扩张带来的挑战。


传统 FC 存储网络成为存储产业瓶颈

FC 开发于 1988 年,初衷是用来提高硬盘协议的传输带宽,侧重于数据的快速、高效、可靠传输,早期应用于 SAN(Storage Area Network,存储局域网络)。到上世纪 90 年代末,FC 存储网络(FC SAN)开始得到大规模的应用。

FC 存储网络在高性能块存储网络独占鳌头已近 30 年,过去曾有 iSCSI(Internet Small Computer Systems Interface)、FCoE(Fibre Channel over Ethernet)等基于 IP 的新技术试图颠覆 FC 存储网络,但由于这些技术在性能和功能方面仍存在短板,所以只是替代了部分中低性能要求的场景,在高性能高可靠场景仍旧是 FC 存储网络的天下。

FC 存储网络具备高可靠、稳定低时延的特点:FC 内在的协议机制支持快速故障感知通告(百 ms 级),同时 FC B2B Credit 流控机制带来了稳定低时延性能。但 FC本身机制也带来了很多问题,传统 FC 存储网络已成为存储产业瓶颈:

  1. 厂商垄断,网络技术封闭:业界唯二国外厂商,存在巨大的业务连续风险
  2. 带宽不足,存储性能瓶颈:FC 网络最大只有 32G 带宽,满足不了业务发展需求
  3. 运维复杂,依赖原厂支持:FC 运维人员稀缺,运维依赖原厂响应

NVMe over RoCE 成为 NoF 主流

随着存储介质从 HDD 发展到 SSD,存储高性能吞吐与 SCSI 协议传输较低性能吞吐之间的矛盾日益严重,从而出现了 NVMe 存储协议。NVMe 规范了 SSD 访问接口,简化了协议复杂性,充分利用 PCIe(Peripheral Component Interconnect Express)通道的低延时以及并行性,利用多核处理器,通过降低协议交互时延,增加协议并发能力,并且精简操作系统协议堆栈,显著提高了 SSD 的读写性能。

全场景闪存化推动了数据中心的网络改革,NVMe 最大化释放了 SSD 介质的能力。更快的存储呼吁更快的网络。NoF 存储网络应运而生,通过使用 IP 网络对专用网络的创新性革新,实现了更高的带宽和更低的时延,同时也兼具 IP 易管理的优势,是更好地实现端到端 NVMe 存储网络的最佳方案。

NoF 将 NVMe 协议应用到服务器主机前端,作为存储阵列与前端主机连接的通道,可端到端取代 SAN 网络中的 SCSI 协议,构建全以太的存储 SAN 网络。

NVMe over Fabric 中的“Fabric”,是 NVMe 的承载网络,这个网络可以是RoCE、FC 或 TCP。具体说明如下:

NVMe over FC 协议标准为 FC-NVMe,FC-NVMe 和 FC-SCSI 同样都基于 FCP,IO 交互基于 Exchange。FC-NVMe 基于传统的 FC 网络,通过升级主机驱动和交换机支持,FC-SCSI 和 FC-NVMe 能同时运行在同一个 FC 网络中。FC-NVMe 能最大化继承传统的 FC 网络,复用网络基础设施,基于 FC 物理网络发挥 NVMe新协议的优势。

NVMe over TCP 基于现有的 IP 网络,采用 TCP 协议传输 NVMe,在网络基础设施不变的情况下实现了端到端 NVMe。

NVMe over RoCE 是 NVMe over RDMA 的一种,RDMA 是承载 NoF 的原生网络协议,RDMA 协议除了 RoCE 外还包括 IB(InfiniBand)和 iWARP(Internet Wide Area RDMA Protocol)。其中,基于以太网的 RoCE 目前已成为 RDMA 的主流网络承载方式。NVMe over RDMA 协议比较简单,直接把 NVMe 的 IO 队列映射到 RDMA QP(Queue Pair)连接,通过 RDMA SEND,RDMA WRITE,RDMA READ 三个语义实现 IO 交互。NVMe over RoCE 基于融合以太网的RDMA 技术承载 NVMe 协议。

三种方案相比较,基于以太网的 RoCE 比 FC 性能更高(更高的带宽、更低的时延),同时兼具 TCP 的优势(全以太化、全 IP 化),因此 NVMe over RoCE 是 NoF最优的承载网络方案,也已成为业界 NoF 的主流技术。


NoF+存储网络,全闪存时代最佳选择

基于以太网的 RoCE 在存储性能、带宽方面比 FC 有显著优势,但替换 FC,联接全闪存,标准的 NVMe over RoCE 还需在 3 个方面加强完善:

  1. 1. 网络性能:零丢包网络零丢包是存储网络的基本需求,传统以太网络拥塞易丢包。
  2. 2. 可靠性:秒级主备切换存储为了可靠性,会构建多个网络平面,切换时间需<1s。
  3. 3. 易用性:即插即用,FC 存储网络场景单一、配置简单,当前以太网络还需针对存储场景适应性改进。

基于当下业界主流的标准 NoF 方案,进一步从网络性能、可靠性和易用性这三点都进行提升,基于智能无损网络面向集中式存储场景提出了 NoF+解决方案,将数据中心存储网络进一步推向更广阔的发展空间。

网络性能增强:NoF+方案改变了传统以太静态水线方式,对网络预测性能力进行专项优化,通过样本计算,针对特定场景,通过算法进行精准的控制,从而预判业务对网络的诉求,提前做出优化,实现高吞吐带宽,进一步提升性能。

可靠性增强:保障业务系统可靠是存储的根基,比如存储的秒级切换功能就是可靠性的关键保障之一,标准以太缺乏故障主动发现和通知能力,NoF+实现了从事后被动响应到主动通知、提前识别拥塞和故障。当一个节点出现故障,业务会以亚秒级响应速度切换,在高性能运行的前提下,也能维持系统的稳定可靠。

这篇关于传统FC存储向NoF发展进化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607410

相关文章

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

SpringBoot项目中Redis存储Session对象序列化处理

《SpringBoot项目中Redis存储Session对象序列化处理》在SpringBoot项目中使用Redis存储Session时,对象的序列化和反序列化是关键步骤,下面我们就来讲讲如何在Spri... 目录一、为什么需要序列化处理二、Spring Boot 集成 Redis 存储 Session2.1

基于MongoDB实现文件的分布式存储

《基于MongoDB实现文件的分布式存储》分布式文件存储的方案有很多,今天分享一个基于mongodb数据库来实现文件的存储,mongodb支持分布式部署,以此来实现文件的分布式存储,需要的朋友可以参考... 目录一、引言二、GridFS 原理剖析三、Spring Boot 集成 GridFS3.1 添加依赖

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法

《SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法》在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为,本文给大家介绍了详... 目录问题根源正确写法示例永久解决方案为什么命令行不受影响?最佳实践建议问题根源SQLyog的语句分

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处