成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文讀懂NVMe、NVMe-oF和RDMA

存儲 存儲設備
如今,隨著超快固態硬盤 (SSD) 和高速非易失性內存 (Non-Volatile Memory Express, NVMe) 的問世,網絡存儲已經發生了翻天覆地的變化。

?過去,網絡只要升級至 10Gb、40Gb 和 100Gb 以太網,就足以滿足存儲系統的聯網需求了。但現如今,隨著超快固態硬盤 (SSD) 和高速非易失性內存 (Non-Volatile Memory Express, NVMe) 的問世,網絡存儲已經發生了翻天覆地的變化。

什么是 NVMe?

傳統的存儲系統的基礎是硬盤驅動器 (HDD) 旋轉介質,這項技術歷經 60 余年沉淀發展而成。隨著設備尺寸越來越小且速度越來越快,驅動器技術不斷演進,固態驅動器 (SSD) 的問世給存儲世界注入了新的血液。

 突然之間,磁盤驅動器可以提供媲美 RAM 的性能,具有非常低的延遲且傳輸速率超過 20 Gbps。這類 SSD 驅動器成為了傳統存儲系統中 HDD 的完美替代品。SSD 速度更快、時延更低、發熱更少且功耗更低,并且無需對現有硬件進行重新設計。

 對于存儲行業而言,這意味著雙贏。

但將 SSD 直接插入現有存儲系統有一個缺點:它無法充分發揮出底層技術的性能提升潛力。想要真正發揮 SSD 設備的潛力需要重新審視存儲系統連接到服務器的方式,存儲器供應商為基于 SSD 的存儲器設計了多種方法,其中最受業界關注的是直連 PCI Express (PCIe) 總線的設計。在構建了多個專有設備之后,存儲和服務器行業于 2011 年聯手創建了 NVMe(NVM Express)。

 NVMe 是一種協議,而并非外形規格或接口規范。不同于其他存儲協議,NVMe將 SSD 設備視為內存,而不是硬盤驅動器。NVMe 協議的設計從一開始就以搭配 PCIe 接口使用為目標,因此幾乎直接連接到服務器的 CPU 和內存子系統。 

在多核環境內,NVMe 效率更高,因為它允許每個核心獨立地與存儲系統進行交互。隨著 NVMe 中的隊列數量和深度增加,多核 CPU 會使 SSD 保持忙碌狀態,消除內部性能瓶頸。NVMe 屬于非統一內存體系結構 (NUMA) 感知協議,能夠充分發揮新型 CPU 中的內存子系統設計的優勢。相比使用 SATA 或 SAS 的 SSD,具有 SSD 和 NVMe 協議的存儲器能夠顯著提升每秒輸入輸出 (IOPS) 并大大降低時延。

圖片

 可以說 NVMe 能夠將現代化 SSD 允許的并行度發揮到極致。因此 NVMe 能夠減少 I/O 開銷,并帶來了許多性能提升,包括支持多個長命令隊列和降低時延。

NVMe 的定義與規范

NVMe旨在定義主機軟件如何通過 PCI Express (PCIe) 總線與非易失性存儲器進行通信,適用于各種 PCIe 固態硬盤 (SSD) 。NVM Express 是由技術行業領導者組成的非營利性聯盟,負責 NVMe 技術的定義、管理和市場推廣。除了 NVMe 基本規范外,該組織還負責其他幾項規范:NVMe over Fabrics (NVMe-oF) 基于網絡連接架構使用 NVMe 命令, NVMe Management Interface (NVMe-MI)用于在服務器與存儲系統中管理 NVMe/PCIe SSD。

NVMe 是專為 SSD 而設計的規范。它是一種更高效的接口,相比于串行 ATA (SATA) 之類的傳統接口,它能夠為 SSD 提供更低的時延和更高的可擴展性。此規范的第一部分對應的是主機控制接口。NVMe 體系結構引入了全新的高性能排隊機制,支持 65,535 個 I/O 隊列,每個隊列含 65,535 條命令(稱為隊列深度或者未完成命令數)。隊列映射到 CPU 核心,提供可擴展的性能。

NVMe 接口顯著減少了存儲器映射輸入/輸出命令的數量,并且能夠調整操作系統設備驅動程序,使其在中斷模式或輪詢模式下運行,從而提升性能并降低時延。NVMe 規范還包含適用于 SSD 命令的主機到設備協議,供操作系統用于:讀取、寫入、清空、TRIM、固件管理、溫控、報錯等操作。

什么是 NVMe over Fabrics (NVMe-oF)?

NVMe 協議并非局限于在服務器內部連接本地閃存驅動器,它還可通過網絡使用。在網絡環境內使用時,網絡“架構”支持存儲和服務器元素之間的任意連接。NVMe-oF 支持組織創建超高性能存儲網絡,其時延能夠媲美直連存儲。因而可在服務器之間按需共享快速存儲設備。NVMe-oF 可視為基于光纖通道的 SCSI 或 iSCSI 的替代品,其優勢在于時延更低、I/O 速率更高,且生產力更優。

 服務器(或其他主機)通過網絡架構與 NVMe 存儲器直接進行通信,或者通過控制器與之進行間接通信。如果存儲器解決方案使用控制器,那么控制器就會與自己的存儲器目標進行通信,可采用的方式包括 NVMe-oF或者其他專屬或非專屬解決方案。這取決于存儲器供應商的實現方法和選擇。

NVMe-oF 傳輸協議圖片

圖片

  • 光纖通道 (NVMe/FC):FC-NVMe 和 FC-SCSI 同樣都基于 FCP,IO 交互基于 Exchange。FC-NVMe 基于傳統的 FC 網絡,通過升級主機驅動和交換機支持,FC-SCSI 和 FC-NVMe 能同時運行在同一個 FC 網絡中。FC-NVMe 能最大化繼承傳統的 FC 網絡,復用網絡基礎設施,基于 FC 物理網絡發揮 NVMe新協議的優勢。 
  • TCP (NVMe/TCP):基于現有的 IP 網絡,采用 TCP 協議傳輸 NVMe,在網絡基礎設施不變的情況下實現端到端 NVMe。
  •  遠程直接內存訪問(InfiniBand 或以太網網絡上支持的 NVMe/RDMA):NVMe over RDMA。RDMA 是承載 NoF 的原生網絡協議,RDMA 協議除了 RoCE 外還包括 IB(InfiniBand)和 iWARP(Internet Wide Area RDMA Protocol)。NVMe over RDMA 協議比較簡單,直接把 NVMe 的 IO 隊列映射到 RDMA QP(Queue Pair)連接,通過 RDMA SEND,RDMA WRITE,RDMA READ 三個語義實現 IO 交互。

什么是 RDMA?

直接內存訪問 (DMA) 指設備無需 CPU 干預即可直接訪問主機內存的能力。遠程直接內存訪問 (RDMA) ,也就是在不中斷遠程機器系統 CPU 處理的情況下對該機器上的內存執行訪問(讀取和寫入)的能力。

RDMA 主要優勢

  • 零拷貝:應用程序可以在不涉及網絡軟件棧的情況下執行數據傳輸。數據可以直接發送和接收到緩沖區,無需在網絡層之間復制。
  •  內核旁路:應用程序可以直接從用戶空間執行數據傳輸,無需內核參與。
  •  無 CPU 參與:應用程序可直接訪問遠程內存,無需在遠程服務器內耗用任何 CPU 時間。無需任何遠程進程(或處理器)的干預即可讀取遠程內存服務器。遠程 CPU 的緩存不會被訪問的內存內容填滿。

如何使用 RDMA?

要使用 RDMA,需要具備 RDMA 功能的網絡適配器:支持 RDMA 的以太網 NIC (rNIC),如 Broadcom NetXtreme E 系列、Marvell / Cavium FastLinQ 或 Nvidia / Mellanox Connect-X 系列。或者 InfiniBand 領域內的 InfiniBand 主機通道適配器 (HCA)(同樣以 Nvidia / Mellanox Connect-X 為例)。

網絡的鏈路層協議既可以是以太網,也可以是 InfiniBand。這兩種協議均可用于傳輸基于 RDMA 的應用程序。Linux、Windows 和 VMware操作系統支持內置 RDMA。 

基于 RDMA 的 NVMe-oF 的種類

RDMA 是NVMe-oF的三種選項之一,同樣的,RDMA 也有三種類型: 

(1) InfiniBand:InfiniBand 網絡架構原生支持 RDMA。

(2) RoCE(基于融合以太網的 RDMA):其方式是通過以太網來封裝 InfiniBand 傳輸包。RoCE 有兩種版本:

  • RoCEv1:以太網鏈路層協議(Ethertype 0x8915),支持在相同以太網廣播域內任意兩個主機之間進行通信。因此,僅限第 2 層網絡,不可路由。
  • RoCEv2:利用 UDP/IP(IPv4 或 IPv6)報頭增強 RoCEv1,因此增加了第 3 層網絡可路由性。NVMe/RoCEv2 默認使用 UDP 目標端口  4791。

圖片

(3) iWARP(互聯網廣域 RDMA 協議):基于 IETF 標準的擁塞感知協議,如 TCP 和 SCTP。具有卸載 TCP/IP 流量控制和管理功能。 

目前,RoCEv2 是供應商最常用的選擇。 

NVMe-oF 網絡要求

協議要求

如上所述,NVMe-oF 解決方案不同,要求也不盡相同: 

(1) 專用網絡

  • NVMe/IB:使用基于 InfiniBand 網絡的 RDMA。在高性能計算 (HPC) 領域頗受歡迎。
  • NVMe/FC:需要第 5 代或第 6 代光纖通道網絡。如果數據中心內已有光纖通道網絡或交換基礎架構,可以繼續使用這些專用資源作為 NVMe-oF 的傳輸方式。但是,傳統 4、16 或 32 Gbps FC部署速度可能不足以真正發揮出 NVMe 設備的性能提升。

(2) 共享或融合以太網

僅 2 層網絡:

NVMe/FC(含 FCoE):它使用以太網/FC共享網絡基礎架構。FCoE 在 IP 層不可路由,并且不使用 RDMA。FCoE 與FC網絡具有相同的要求和優勢,但在基礎架構的共享以太網部分中失去了網絡可預測性。

支持 3 層網絡:

  • NVMe/TCP:使用具有 TCP/IP 傳輸的以太網網絡,但不使用 RDMA。一般認為 NVMe/TCP 是最經濟的解決方案之一,因為以太網網絡架構比FC基礎設施成本低,且實現難度更低。由于 NVMe/TCP 原生可路由,因此服務器與其存儲器之間能夠通過現有以太網數據中心網絡進行通信,而無需專用FC交換機和 HBA。但 NVMe/TCP 存在一些缺點:它使用的是服務器的算力,這樣一來服務器算力就無法全部用于運行應用程序。此外,其傳輸過程中時延比其他 NVMe-oF 協議更長,主要是因為需要維護多個數據副本,以免在路由級發生數據包丟失。
  • NVMe/iWARP:使用共享以太網網絡和基于 TCP 的 RDMA。
  • NVMe/RoCEv2:使用共享以太網網絡和基于 UDP 的 RDMA。

傳輸要求:有損傳輸 vs 無損傳輸

在以太網架構中存在有損傳輸與無損傳輸兩種,RDMA 是兩個設備之間的內存到內存傳輸機制,因此理論上它不能容許任何丟包。但由于 iWARP 基于 TCP 協議(以及 NVMe/TCP),它可以容許在傳輸中發生丟包和少量 TCP 重傳,因此 NVMe/iWARP 和 NVMe/TCP 均可通過有損網絡進行傳輸。

RoCE 則使用 UDP協議。根據 RoCEv2 規范,應該使用無損架構。不過RoCE 協議內部存在一種防范丟包的機制:發生丟包時,將把具有特定數據包序號 (PSN) 的 NACK 控制包發送給發送方,以供發送方重新發送該數據包。因此,所謂 RoCE 要求無損網絡傳輸(無損以太網)的說法并不完全正確。RoCE 可以在無損網絡或有損網絡中運行。

原文鏈接:https://aboutnetworks.net/nvme-and-nvmeof/?

責任編輯:趙寧寧 來源: SDNLAB
相關推薦

2018-12-26 13:22:05

NVMeNVMe-oF數據

2020-10-16 17:54:08

戴爾

2023-06-28 09:53:13

數據中心NVMe

2023-12-22 19:59:15

2021-08-04 16:06:45

DataOps智領云

2018-09-28 14:06:25

前端緩存后端

2022-09-22 09:00:46

CSS單位

2022-11-06 21:14:02

數據驅動架構數據

2025-04-03 10:56:47

2023-11-27 17:35:48

ComponentWeb外層

2023-05-20 17:58:31

低代碼軟件

2022-07-05 06:30:54

云網絡網絡云原生

2022-07-26 00:00:03

語言模型人工智能

2022-12-01 17:23:45

2021-12-29 18:00:19

無損網絡網絡通信網絡

2022-10-20 08:01:23

2023-10-23 15:38:12

Spring 5開發

2023-05-17 16:01:00

物聯網數據治理

2023-04-11 14:48:34

2024-04-10 13:50:41

CentOSUbuntu操作系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩国产一区 | 日本字幕在线观看 | 在线小视频 | 中文区中文字幕免费看 | 欧美一级二级在线观看 | 另类二区| 精品视频亚洲 | 另类视频在线 | 久久久久久国产精品 | av免费电影在线 | 亚洲天堂精品久久 | 日日噜| 亚洲网站观看 | 日韩欧美国产综合 | 久久色视频 | 日韩在线欧美 | 欧美一级欧美一级在线播放 | 国产精品视频一区二区三区四蜜臂 | 日本久久一区二区三区 | 乱码av午夜噜噜噜噜动漫 | 午夜在线视频一区二区三区 | 中文字幕日韩欧美一区二区三区 | 亚洲福利视频一区二区 | 69福利影院 | 国产精品久久精品 | 欧美在线a| 国产综合视频 | 最新中文字幕第一页视频 | 久久久久欧美 | 久久精品一区 | 国产福利在线 | 日韩一级免费观看 | 亚洲成人国产 | 亚洲精品一区二区三区蜜桃久 | 亚洲高清一区二区三区 | 国产日韩亚洲欧美 | 一区二区三区视频在线 | 国产丝袜一区二区三区免费视频 | 激情久久网| 华人黄网站大全 | 精品国产欧美一区二区 |