偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一文讀懂NVMe、NVMe-oF和RDMA

存儲(chǔ) 存儲(chǔ)設(shè)備
如今,隨著超快固態(tài)硬盤(pán) (SSD) 和高速非易失性內(nèi)存 (Non-Volatile Memory Express, NVMe) 的問(wèn)世,網(wǎng)絡(luò)存儲(chǔ)已經(jīng)發(fā)生了翻天覆地的變化。

?過(guò)去,網(wǎng)絡(luò)只要升級(jí)至 10Gb、40Gb 和 100Gb 以太網(wǎng),就足以滿足存儲(chǔ)系統(tǒng)的聯(lián)網(wǎng)需求了。但現(xiàn)如今,隨著超快固態(tài)硬盤(pán) (SSD) 和高速非易失性內(nèi)存 (Non-Volatile Memory Express, NVMe) 的問(wèn)世,網(wǎng)絡(luò)存儲(chǔ)已經(jīng)發(fā)生了翻天覆地的變化。

什么是 NVMe?

傳統(tǒng)的存儲(chǔ)系統(tǒng)的基礎(chǔ)是硬盤(pán)驅(qū)動(dòng)器 (HDD) 旋轉(zhuǎn)介質(zhì),這項(xiàng)技術(shù)歷經(jīng) 60 余年沉淀發(fā)展而成。隨著設(shè)備尺寸越來(lái)越小且速度越來(lái)越快,驅(qū)動(dòng)器技術(shù)不斷演進(jìn),固態(tài)驅(qū)動(dòng)器 (SSD) 的問(wèn)世給存儲(chǔ)世界注入了新的血液。

 突然之間,磁盤(pán)驅(qū)動(dòng)器可以提供媲美 RAM 的性能,具有非常低的延遲且傳輸速率超過(guò) 20 Gbps。這類 SSD 驅(qū)動(dòng)器成為了傳統(tǒng)存儲(chǔ)系統(tǒng)中 HDD 的完美替代品。SSD 速度更快、時(shí)延更低、發(fā)熱更少且功耗更低,并且無(wú)需對(duì)現(xiàn)有硬件進(jìn)行重新設(shè)計(jì)。

 對(duì)于存儲(chǔ)行業(yè)而言,這意味著雙贏。

但將 SSD 直接插入現(xiàn)有存儲(chǔ)系統(tǒng)有一個(gè)缺點(diǎn):它無(wú)法充分發(fā)揮出底層技術(shù)的性能提升潛力。想要真正發(fā)揮 SSD 設(shè)備的潛力需要重新審視存儲(chǔ)系統(tǒng)連接到服務(wù)器的方式,存儲(chǔ)器供應(yīng)商為基于 SSD 的存儲(chǔ)器設(shè)計(jì)了多種方法,其中最受業(yè)界關(guān)注的是直連 PCI Express (PCIe) 總線的設(shè)計(jì)。在構(gòu)建了多個(gè)專有設(shè)備之后,存儲(chǔ)和服務(wù)器行業(yè)于 2011 年聯(lián)手創(chuàng)建了 NVMe(NVM Express)。

 NVMe 是一種協(xié)議,而并非外形規(guī)格或接口規(guī)范。不同于其他存儲(chǔ)協(xié)議,NVMe將 SSD 設(shè)備視為內(nèi)存,而不是硬盤(pán)驅(qū)動(dòng)器。NVMe 協(xié)議的設(shè)計(jì)從一開(kāi)始就以搭配 PCIe 接口使用為目標(biāo),因此幾乎直接連接到服務(wù)器的 CPU 和內(nèi)存子系統(tǒng)。 

在多核環(huán)境內(nèi),NVMe 效率更高,因?yàn)樗试S每個(gè)核心獨(dú)立地與存儲(chǔ)系統(tǒng)進(jìn)行交互。隨著 NVMe 中的隊(duì)列數(shù)量和深度增加,多核 CPU 會(huì)使 SSD 保持忙碌狀態(tài),消除內(nèi)部性能瓶頸。NVMe 屬于非統(tǒng)一內(nèi)存體系結(jié)構(gòu) (NUMA) 感知協(xié)議,能夠充分發(fā)揮新型 CPU 中的內(nèi)存子系統(tǒng)設(shè)計(jì)的優(yōu)勢(shì)。相比使用 SATA 或 SAS 的 SSD,具有 SSD 和 NVMe 協(xié)議的存儲(chǔ)器能夠顯著提升每秒輸入輸出 (IOPS) 并大大降低時(shí)延。

圖片

 可以說(shuō) NVMe 能夠?qū)F(xiàn)代化 SSD 允許的并行度發(fā)揮到極致。因此 NVMe 能夠減少 I/O 開(kāi)銷,并帶來(lái)了許多性能提升,包括支持多個(gè)長(zhǎng)命令隊(duì)列和降低時(shí)延。

NVMe 的定義與規(guī)范

NVMe旨在定義主機(jī)軟件如何通過(guò) PCI Express (PCIe) 總線與非易失性存儲(chǔ)器進(jìn)行通信,適用于各種 PCIe 固態(tài)硬盤(pán) (SSD) 。NVM Express 是由技術(shù)行業(yè)領(lǐng)導(dǎo)者組成的非營(yíng)利性聯(lián)盟,負(fù)責(zé) NVMe 技術(shù)的定義、管理和市場(chǎng)推廣。除了 NVMe 基本規(guī)范外,該組織還負(fù)責(zé)其他幾項(xiàng)規(guī)范:NVMe over Fabrics (NVMe-oF) 基于網(wǎng)絡(luò)連接架構(gòu)使用 NVMe 命令, NVMe Management Interface (NVMe-MI)用于在服務(wù)器與存儲(chǔ)系統(tǒng)中管理 NVMe/PCIe SSD。

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

NVMe 接口顯著減少了存儲(chǔ)器映射輸入/輸出命令的數(shù)量,并且能夠調(diào)整操作系統(tǒng)設(shè)備驅(qū)動(dòng)程序,使其在中斷模式或輪詢模式下運(yùn)行,從而提升性能并降低時(shí)延。NVMe 規(guī)范還包含適用于 SSD 命令的主機(jī)到設(shè)備協(xié)議,供操作系統(tǒng)用于:讀取、寫(xiě)入、清空、TRIM、固件管理、溫控、報(bào)錯(cuò)等操作。

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

NVMe 協(xié)議并非局限于在服務(wù)器內(nèi)部連接本地閃存驅(qū)動(dòng)器,它還可通過(guò)網(wǎng)絡(luò)使用。在網(wǎng)絡(luò)環(huán)境內(nèi)使用時(shí),網(wǎng)絡(luò)“架構(gòu)”支持存儲(chǔ)和服務(wù)器元素之間的任意連接。NVMe-oF 支持組織創(chuàng)建超高性能存儲(chǔ)網(wǎng)絡(luò),其時(shí)延能夠媲美直連存儲(chǔ)。因而可在服務(wù)器之間按需共享快速存儲(chǔ)設(shè)備。NVMe-oF 可視為基于光纖通道的 SCSI 或 iSCSI 的替代品,其優(yōu)勢(shì)在于時(shí)延更低、I/O 速率更高,且生產(chǎn)力更優(yōu)。

 服務(wù)器(或其他主機(jī))通過(guò)網(wǎng)絡(luò)架構(gòu)與 NVMe 存儲(chǔ)器直接進(jìn)行通信,或者通過(guò)控制器與之進(jìn)行間接通信。如果存儲(chǔ)器解決方案使用控制器,那么控制器就會(huì)與自己的存儲(chǔ)器目標(biāo)進(jìn)行通信,可采用的方式包括 NVMe-oF或者其他專屬或非專屬解決方案。這取決于存儲(chǔ)器供應(yīng)商的實(shí)現(xiàn)方法和選擇。

NVMe-oF 傳輸協(xié)議圖片

圖片

  • 光纖通道 (NVMe/FC):FC-NVMe 和 FC-SCSI 同樣都基于 FCP,IO 交互基于 Exchange。FC-NVMe 基于傳統(tǒng)的 FC 網(wǎng)絡(luò),通過(guò)升級(jí)主機(jī)驅(qū)動(dòng)和交換機(jī)支持,F(xiàn)C-SCSI 和 FC-NVMe 能同時(shí)運(yùn)行在同一個(gè) FC 網(wǎng)絡(luò)中。FC-NVMe 能最大化繼承傳統(tǒng)的 FC 網(wǎng)絡(luò),復(fù)用網(wǎng)絡(luò)基礎(chǔ)設(shè)施,基于 FC 物理網(wǎng)絡(luò)發(fā)揮 NVMe新協(xié)議的優(yōu)勢(shì)。 
  • TCP (NVMe/TCP):基于現(xiàn)有的 IP 網(wǎng)絡(luò),采用 TCP 協(xié)議傳輸 NVMe,在網(wǎng)絡(luò)基礎(chǔ)設(shè)施不變的情況下實(shí)現(xiàn)端到端 NVMe。
  •  遠(yuǎn)程直接內(nèi)存訪問(wèn)(InfiniBand 或以太網(wǎng)網(wǎng)絡(luò)上支持的 NVMe/RDMA):NVMe over RDMA。RDMA 是承載 NoF 的原生網(wǎng)絡(luò)協(xié)議,RDMA 協(xié)議除了 RoCE 外還包括 IB(InfiniBand)和 iWARP(Internet Wide Area RDMA Protocol)。NVMe over RDMA 協(xié)議比較簡(jiǎn)單,直接把 NVMe 的 IO 隊(duì)列映射到 RDMA QP(Queue Pair)連接,通過(guò) RDMA SEND,RDMA WRITE,RDMA READ 三個(gè)語(yǔ)義實(shí)現(xiàn) IO 交互。

什么是 RDMA?

直接內(nèi)存訪問(wèn) (DMA) 指設(shè)備無(wú)需 CPU 干預(yù)即可直接訪問(wèn)主機(jī)內(nèi)存的能力。遠(yuǎn)程直接內(nèi)存訪問(wèn) (RDMA) ,也就是在不中斷遠(yuǎn)程機(jī)器系統(tǒng) CPU 處理的情況下對(duì)該機(jī)器上的內(nèi)存執(zhí)行訪問(wèn)(讀取和寫(xiě)入)的能力。

RDMA 主要優(yōu)勢(shì)

  • 零拷貝:應(yīng)用程序可以在不涉及網(wǎng)絡(luò)軟件棧的情況下執(zhí)行數(shù)據(jù)傳輸。數(shù)據(jù)可以直接發(fā)送和接收到緩沖區(qū),無(wú)需在網(wǎng)絡(luò)層之間復(fù)制。
  •  內(nèi)核旁路:應(yīng)用程序可以直接從用戶空間執(zhí)行數(shù)據(jù)傳輸,無(wú)需內(nèi)核參與。
  •  無(wú) CPU 參與:應(yīng)用程序可直接訪問(wèn)遠(yuǎn)程內(nèi)存,無(wú)需在遠(yuǎn)程服務(wù)器內(nèi)耗用任何 CPU 時(shí)間。無(wú)需任何遠(yuǎn)程進(jìn)程(或處理器)的干預(yù)即可讀取遠(yuǎn)程內(nèi)存服務(wù)器。遠(yuǎn)程 CPU 的緩存不會(huì)被訪問(wèn)的內(nèi)存內(nèi)容填滿。

如何使用 RDMA?

要使用 RDMA,需要具備 RDMA 功能的網(wǎng)絡(luò)適配器:支持 RDMA 的以太網(wǎng) NIC (rNIC),如 Broadcom NetXtreme E 系列、Marvell / Cavium FastLinQ 或 Nvidia / Mellanox Connect-X 系列?;蛘?InfiniBand 領(lǐng)域內(nèi)的 InfiniBand 主機(jī)通道適配器 (HCA)(同樣以 Nvidia / Mellanox Connect-X 為例)。

網(wǎng)絡(luò)的鏈路層協(xié)議既可以是以太網(wǎng),也可以是 InfiniBand。這兩種協(xié)議均可用于傳輸基于 RDMA 的應(yīng)用程序。Linux、Windows 和 VMware操作系統(tǒng)支持內(nèi)置 RDMA。 

基于 RDMA 的 NVMe-oF 的種類

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

(1) InfiniBand:InfiniBand 網(wǎng)絡(luò)架構(gòu)原生支持 RDMA。

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

  • RoCEv1:以太網(wǎng)鏈路層協(xié)議(Ethertype 0x8915),支持在相同以太網(wǎng)廣播域內(nèi)任意兩個(gè)主機(jī)之間進(jìn)行通信。因此,僅限第 2 層網(wǎng)絡(luò),不可路由。
  • RoCEv2:利用 UDP/IP(IPv4 或 IPv6)報(bào)頭增強(qiáng) RoCEv1,因此增加了第 3 層網(wǎng)絡(luò)可路由性。NVMe/RoCEv2 默認(rèn)使用 UDP 目標(biāo)端口  4791。

圖片

(3) iWARP(互聯(lián)網(wǎng)廣域 RDMA 協(xié)議):基于 IETF 標(biāo)準(zhǔn)的擁塞感知協(xié)議,如 TCP 和 SCTP。具有卸載 TCP/IP 流量控制和管理功能。 

目前,RoCEv2 是供應(yīng)商最常用的選擇。 

NVMe-oF 網(wǎng)絡(luò)要求

協(xié)議要求

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

(1) 專用網(wǎng)絡(luò)

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

(2) 共享或融合以太網(wǎng)

僅 2 層網(wǎng)絡(luò):

NVMe/FC(含 FCoE):它使用以太網(wǎng)/FC共享網(wǎng)絡(luò)基礎(chǔ)架構(gòu)。FCoE 在 IP 層不可路由,并且不使用 RDMA。FCoE 與FC網(wǎng)絡(luò)具有相同的要求和優(yōu)勢(shì),但在基礎(chǔ)架構(gòu)的共享以太網(wǎng)部分中失去了網(wǎng)絡(luò)可預(yù)測(cè)性。

支持 3 層網(wǎng)絡(luò):

  • NVMe/TCP:使用具有 TCP/IP 傳輸?shù)囊蕴W(wǎng)網(wǎng)絡(luò),但不使用 RDMA。一般認(rèn)為 NVMe/TCP 是最經(jīng)濟(jì)的解決方案之一,因?yàn)橐蕴W(wǎng)網(wǎng)絡(luò)架構(gòu)比FC基礎(chǔ)設(shè)施成本低,且實(shí)現(xiàn)難度更低。由于 NVMe/TCP 原生可路由,因此服務(wù)器與其存儲(chǔ)器之間能夠通過(guò)現(xiàn)有以太網(wǎng)數(shù)據(jù)中心網(wǎng)絡(luò)進(jìn)行通信,而無(wú)需專用FC交換機(jī)和 HBA。但 NVMe/TCP 存在一些缺點(diǎn):它使用的是服務(wù)器的算力,這樣一來(lái)服務(wù)器算力就無(wú)法全部用于運(yùn)行應(yīng)用程序。此外,其傳輸過(guò)程中時(shí)延比其他 NVMe-oF 協(xié)議更長(zhǎng),主要是因?yàn)樾枰S護(hù)多個(gè)數(shù)據(jù)副本,以免在路由級(jí)發(fā)生數(shù)據(jù)包丟失。
  • NVMe/iWARP:使用共享以太網(wǎng)網(wǎng)絡(luò)和基于 TCP 的 RDMA。
  • NVMe/RoCEv2:使用共享以太網(wǎng)網(wǎng)絡(luò)和基于 UDP 的 RDMA。

傳輸要求:有損傳輸 vs 無(wú)損傳輸

在以太網(wǎng)架構(gòu)中存在有損傳輸與無(wú)損傳輸兩種,RDMA 是兩個(gè)設(shè)備之間的內(nèi)存到內(nèi)存?zhèn)鬏敊C(jī)制,因此理論上它不能容許任何丟包。但由于 iWARP 基于 TCP 協(xié)議(以及 NVMe/TCP),它可以容許在傳輸中發(fā)生丟包和少量 TCP 重傳,因此 NVMe/iWARP 和 NVMe/TCP 均可通過(guò)有損網(wǎng)絡(luò)進(jìn)行傳輸。

RoCE 則使用 UDP協(xié)議。根據(jù) RoCEv2 規(guī)范,應(yīng)該使用無(wú)損架構(gòu)。不過(guò)RoCE 協(xié)議內(nèi)部存在一種防范丟包的機(jī)制:發(fā)生丟包時(shí),將把具有特定數(shù)據(jù)包序號(hào) (PSN) 的 NACK 控制包發(fā)送給發(fā)送方,以供發(fā)送方重新發(fā)送該數(shù)據(jù)包。因此,所謂 RoCE 要求無(wú)損網(wǎng)絡(luò)傳輸(無(wú)損以太網(wǎng))的說(shuō)法并不完全正確。RoCE 可以在無(wú)損網(wǎng)絡(luò)或有損網(wǎng)絡(luò)中運(yùn)行。

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

責(zé)任編輯:趙寧寧 來(lái)源: SDNLAB
相關(guān)推薦

2018-12-26 13:22:05

NVMeNVMe-oF數(shù)據(jù)

2020-10-16 17:54:08

戴爾

2023-06-28 09:53:13

數(shù)據(jù)中心NVMe

2023-12-22 19:59:15

2021-08-04 16:06:45

DataOps智領(lǐng)云

2022-09-22 09:00:46

CSS單位

2025-04-03 10:56:47

2018-09-28 14:06:25

前端緩存后端

2022-11-06 21:14:02

數(shù)據(jù)驅(qū)動(dòng)架構(gòu)數(shù)據(jù)

2022-10-20 08:01:23

2023-11-27 17:35:48

ComponentWeb外層

2022-07-05 06:30:54

云網(wǎng)絡(luò)網(wǎng)絡(luò)云原生

2023-05-20 17:58:31

低代碼軟件

2022-12-01 17:23:45

2021-12-29 18:00:19

無(wú)損網(wǎng)絡(luò)網(wǎng)絡(luò)通信網(wǎng)絡(luò)

2022-07-26 00:00:03

語(yǔ)言模型人工智能

2023-10-23 15:38:12

Spring 5開(kāi)發(fā)

2023-04-11 14:48:34

2023-05-17 16:01:00

物聯(lián)網(wǎng)數(shù)據(jù)治理

2024-04-10 13:50:41

CentOSUbuntu操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)