传统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+实现了从事后被动响应到主动通知、提前识别拥塞和故障。当一个节点出现故障,业务会以亚秒级响应速度切换,在高性能运行的前提下,也能维持系统的稳定可靠。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12.18拓扑排序,DAG,模板,课程安排

拓扑排序 有向无环图一定是拓扑序列,有向有环图一定不是拓扑序列。 无向图没有拓扑序列。 首先我们先来解释一下什么是有向无环图&#xff1a; 有向就是我们两个结点之间的边是有方向的&#xff0c;无环的意思就是整个序列中没有几个结点通过边形成一个圆环。 下图就是一个…

【web安全】万能密码总结

前言 菜某的总结&#xff0c;欢迎提意见补充~ 万能密码的原理 万能密码实际上也算是sql注入的一种。 登录界面是一个与数据库交互的位置&#xff0c;很容易产生sql注入的位置。 我们登录时输入的数据会带入数据库查询进行比对&#xff0c;当用户名与用户的密码对的上的话&…

基于Vue的汽车服务商城系统设计与实现论文

摘 要 本课题是根据用户的需要以及网络的优势建立的一个基于Vue的汽车服务商城系统&#xff0c;来更好的为用户提供服务。 本基于Vue的汽车服务商城系统应用Java技术&#xff0c;MYSQL数据库存储数据&#xff0c;基于SSMVue框架开发。在网站的整个开发过程中&#xff0c;首先对…

linux网络管理_网络接口名称规则

11.1 网络接口名称规则 11.1.1 简介 目标&#xff1a;认识网卡》》找到网卡文件》》学会修改文件》》多台服务器互通 网络接口名称 ​ 传统上&#xff0c;Linux中的网络接口被枚举为eth0 (ethernet0)、eth1、eth2等,然而使用这些网络设备名可能遇到不确定性&#xff0c;且不…

面试算法56:二叉搜索树中两个节点的值之和

题目 给定一棵二叉搜索树和一个值k&#xff0c;请判断该二叉搜索树中是否存在值之和等于k的两个节点。假设二叉搜索树中节点的值均唯一。例如&#xff0c;在如图8.12所示的二叉搜索树中&#xff0c;存在值之和等于12的两个节点&#xff08;节点5和节点7&#xff09;&#xff0…

WebSocket网络协议

一、简介 WebSocket 是一种在客户端和服务器之间建立双向通信信道的网络协议。它在客户端和服务器之间建立一个持久的、全双工的连接&#xff0c;允许数据在两个方向上实时传输&#xff0c;而不需要像HTTP一样进行多次请求和响应。 WebSocket 的主要优势是减少了服务器和客户…

Redis发布与订阅

什么是发布与订阅 答: redis发布订阅是一种消息通信通信模式&#xff0c;由发送者(pub)发送消息,订阅者(sub)接收消息。 如下图client2、4、5就是订阅着&#xff0c;订阅了channel1的消息。 当channel1要发送消息时&#xff0c;这几个订阅者都会实时收到消息。 发布订阅的方式…

用uniapp写一个点击左侧可以滑动的menu

完成后的图片&#xff08;点击左侧右边或滑动&#xff0c;滑动右边左侧的选中也会变化&#xff09;&#xff1a; 数据js &#xff08;classifyData&#xff09;&#xff1a; export default[{"name": "女装","foods": [{"name": &q…

命名之美:探索Java的标识符与命名规范

目录 ​编辑 前言 一、Java关键字&#xff1a; class&#xff1a; public、private、protected&#xff1a; static&#xff1a; final&#xff1a; void&#xff1a; int、double、char、boolean&#xff1a; if、else、switch&#xff1a; for、while、do&#xf…

思码逸关钦杰:聊聊研效管理中的数据操纵

3月25日&#xff0c;思码逸咨询总监、研发过程提效专家关钦杰在 QECon 质效城市论坛【深圳站】分享了主题为《聊聊研效管理中的数据操纵》的演讲。 以下内容根据关钦杰老师分享内容整理&#xff1a; 在生活中&#xff0c;当我们去描述客观事实的时候&#xff0c;我们经常要用…

【Source Insight4.0】解决注释中文乱码

本来用的好好的&#xff0c;结果今天创建一个新的项目就出现注释中文乱码&#xff01;&#xff01;&#xff01; 然后上网查找说要修改为【Default encoding” &#xff1a;改成System Default(Windows ANSI) 或者Chinese Simplified(GB2312)】但是我的并没有效果。 最后是选…

Frida05 - 高级API用法

参考文档 https://api-caller.com/2019/03/30/frida-note/ https://frida.re/docs/javascript-api/#frida 数组打印 测试代码&#xff1a; private static class Bean {String a;int b;float c; }private void test() {Bean[] beans new Bean[3];beans[0] new Bean();be…

深度学习笔记_6经典预训练网络LeNet-18解决FashionMNIST数据集

1、 调用模型库&#xff0c;定义参数&#xff0c;做数据预处理 import numpy as np import torch from torchvision.datasets import FashionMNIST import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.nn.functional as F im…

二十九、获取文件属性及相关信息

二十九、获取文件属性及相关信息QFileInfo QFileInfo 提供有关文件在文件系统中的名称 位置 &#xff08;路径&#xff09;、访问权限及它是目录还是符号链接、等信息。文件的大小、最后修改/读取时间也是可用的。QFileInfo 也可以被用于获取信息有关 Qt resource . QFileInf…

算法模板之双链表图文详解

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;算法模板、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️使用数组模拟双链表讲解1.1 &#x1f514;为什么我们要使用数组去模拟双链表…

使用java调用python批处理将pdf转为图片

你可以使用Java中的ProcessBuilder来调用Python脚本&#xff0c;并将PDF转换为图片。以下是一个简单的Java代码示例&#xff0c;假设你的Python脚本名为pdf2img.py&#xff1a; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader…

Java数组(2)

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

Kotlin 笔记 -- Kotlin 语言特性的理解(二)

都是编译成字节码&#xff0c;为什么 Kotlin 能支持 Java 中没有的特性&#xff1f; kotlin 有哪些 Java 中没有的特性&#xff1a; 类型推断、可变性、可空性自动拆装箱、泛型数组高阶函数、DSL顶层函数、扩展函数、内联函数伴生对象、数据类、密封类、单例类接口代理、inter…

西蒙子S7协议介绍

西门子的S7 协议&#xff0c;没有仍何关于S7协议的官方文档&#xff0c;是一个不透明的协议。关于S7的协议介绍&#xff0c;大都是非官方的一些七零八落的文档。 1. S7的通信模型 西蒙子S7 通讯遵从着基于TCP 的 Master&#xff08;client&#xff09; & Slave&#xff0…

读取小数部分

1.题目描述 2.题目分析 //假设字符串为 char arr[] "123.4500"; 1. 找到小数点位置和末尾位置 代码如下&#xff1a; char* start strchr(arr, .);//找到小数点位置char* end start strlen(start) - 1;//找到末尾位置 如果有不知道strchr()用法的同学&#xf…