0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文掌握RDMA、NVMe和NVMe-oF

架構(gòu)師技術(shù)聯(lián)盟 ? 來源:架構(gòu)師技術(shù)聯(lián)盟 ? 2023-10-22 14:54 ? 次閱讀

e80910f0-6fee-11ee-939d-92fbcf53809c.png

曾幾何時(shí),對于基礎(chǔ)架構(gòu)工程師而言,基于網(wǎng)絡(luò)的存儲器革新并不會(huì)構(gòu)成真正的問題:因?yàn)榫W(wǎng)速很快,硬盤驅(qū)動(dòng)器轉(zhuǎn)速很慢。自然網(wǎng)絡(luò)只要升級至 10Gb、40Gb 和 100Gb 以太網(wǎng),滿足存儲系統(tǒng)的聯(lián)網(wǎng)需求就綽綽有余了。

但現(xiàn)如今,隨著超快固態(tài)硬盤 (SSD) 和高速非易失性內(nèi)存 (Non-Volatile Memory Express, NVMe) 的問世,形勢已全盤顛覆。存儲團(tuán)隊(duì)現(xiàn)在擁有的設(shè)備速度非??欤幌叹湍芰罹W(wǎng)絡(luò)達(dá)到飽和。

基于網(wǎng)絡(luò)的存儲器(SAN) 使用基于架構(gòu)的非易失性內(nèi)存 (NVMe over Fabric, NVMe-oF) 這一技術(shù),給網(wǎng)絡(luò)帶來了巨大的挑戰(zhàn)?;A(chǔ)架構(gòu)工程師需要仔細(xì)了解這種新一代存儲器,理解它與前幾代存儲器的差異,以及這些存儲器如何滿足真正高速的存儲器的性能需求。

何謂 NVMe?

NVMe的來源以及與SCSI的區(qū)別

原先存儲系統(tǒng)的基礎(chǔ)是硬盤驅(qū)動(dòng)器(HDD) 旋轉(zhuǎn)介質(zhì),其中有磁盤和持續(xù)移動(dòng)的磁頭,這項(xiàng)技術(shù)歷經(jīng) 60 余年沉淀發(fā)展而成,直至最近才徹底改變。隨著設(shè)備尺寸越來越小且速度越來越快,驅(qū)動(dòng)器技術(shù)不斷演變,存儲器行業(yè)圍繞驅(qū)動(dòng)器控制器模型逐漸融合,這種控制器使用并行總線或串行總線(如串行連接 SCSI “SAS” 或串行 ATA “SATA”)連接到 HDD。這種廣為人知的可互操作技術(shù)鏈?zhǔn)加诖疟P驅(qū)動(dòng)器,按順序連接到總線、控制器再到計(jì)算機(jī),形成了性能平衡,前提是磁盤驅(qū)動(dòng)器工作方式與傳統(tǒng) HDD 相似。

而固態(tài)驅(qū)動(dòng)器(SSD) 的問世徹底打破了存儲器世界的這種平衡。突然之間,磁盤驅(qū)動(dòng)器可以提供媲美 RAM 的性能,時(shí)延極短且傳輸速率超過 20 Gbps。這類 SSD 驅(qū)動(dòng)器以傳統(tǒng)存儲系統(tǒng)中 HDD 的完美替代品的身份,實(shí)現(xiàn)了第一次真正的商用部署。SSD 速度更快、時(shí)延更低、發(fā)熱更少且功耗更低,并且無需對廣泛部署的現(xiàn)有硬件進(jìn)行重新設(shè)計(jì)。對于存儲行業(yè)而言,這意味著雙贏。

但將 SSD 直接插入現(xiàn)有存儲系統(tǒng)有一個(gè)缺點(diǎn):它無法充分發(fā)揮出底層技術(shù)的性能提升潛力。為了真正發(fā)揮 SSD 設(shè)備的全部潛力,我們需要重新審視存儲系統(tǒng)連接到服務(wù)器的方式。存儲器供應(yīng)商幾經(jīng)嘗試,為基于 SSD 的存儲器專門設(shè)計(jì)了多種方法,其中直連 PCI Express (PCIe) 總線的設(shè)計(jì)在業(yè)內(nèi)引發(fā)熱議。在構(gòu)建多項(xiàng)專屬設(shè)備后,存儲器和服務(wù)器行業(yè)于 2011 年聯(lián)手打造出了 NVMe。

NVMe 是一種協(xié)議,而并非外形規(guī)格接口規(guī)范。NVMe 不同于其他存儲協(xié)議,因?yàn)樗鼘?SSD 設(shè)備的處理方式不同于硬盤處理方式,而更接近于內(nèi)存。NVMe 協(xié)議的設(shè)計(jì)從一開始就以搭配 PCIe 接口使用為目標(biāo),因此幾乎直接連接到服務(wù)器的 CPU 和內(nèi)存子系統(tǒng)。

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

從 SCSI 到 NVMe 的發(fā)展歷程簡介

SCSI

SCSI 將存儲器作為設(shè)備來處理,這些設(shè)備包括磁帶機(jī)、磁盤驅(qū)動(dòng)器、掃描儀等。

需要支持 SCSI 的適配器將 CPU 的意圖“翻譯”為設(shè)備功能。

在主機(jī)與存儲器之間創(chuàng)建一對一關(guān)系。

在單一隊(duì)列模型中運(yùn)行:單一隊(duì)列中最多包含 64 條命令。

隨后,機(jī)械硬盤演變?yōu)楣虘B(tài)硬盤(SSD) 或閃存:

閃存將 SCSI 的短板暴露無遺,因?yàn)殚W存并不旋轉(zhuǎn),不需要等待“機(jī)械”操作。因此,單命令/單隊(duì)列系統(tǒng)中不再有時(shí)延,也就是滯后時(shí)間。

不僅如此,閃存所需的命令數(shù)量也遠(yuǎn)少于 SCSI 所提供的命令數(shù)量。

最終結(jié)果就是,閃存可以視為與 PCIe RAM 類似。NVMe 也正是由此而來。

NVMe

NVMe 將存儲器作為內(nèi)存來處理。

CPU 可以在內(nèi)部與內(nèi)存進(jìn)行通信:無需適配器。

在主機(jī)與目標(biāo)之間創(chuàng)建多對多關(guān)系。

能夠在多隊(duì)列模型中運(yùn)行:64000 個(gè)隊(duì)列,每個(gè)隊(duì)列最多 64000 條命令。

總之,可以說NVMe能夠?qū)F(xiàn)代化 SSD 允許的并行度發(fā)揮到極致。因此 NVMe 能夠減少 I/O 開銷,將先前邏輯設(shè)備接口相關(guān)的性能提升落到實(shí)處,包括支持多個(gè)長命令隊(duì)列和降低時(shí)延。

SCSI 和其他先前的接口協(xié)議是圍繞搭配硬盤驅(qū)動(dòng)器使用而開發(fā)的,這些硬盤驅(qū)動(dòng)器速度遠(yuǎn)低于 NVMe,并且在請求和數(shù)據(jù)傳輸之間存在著冗長的延遲(相對于 CPU 操作),其數(shù)據(jù)速度遠(yuǎn)低于 RAM 速度,再加上磁盤旋轉(zhuǎn)和尋道時(shí)間,從而引發(fā)了進(jìn)一步優(yōu)化的需求。

NVMe 的定義與規(guī)范

您可在 NVM Express 組織官網(wǎng)上找到高速非易失性內(nèi)存的官方定義,這里摘抄一段:

NVM Express (NVMe) 規(guī)范旨在定義主機(jī)軟件與整個(gè) PCI Express (PCIe) 總線上的非易失性內(nèi)存進(jìn)行通信的方式。它是適用于各種 PCIe 固態(tài)硬盤 (SSD) 的業(yè)界標(biāo)準(zhǔn),這些 PCIe SSD 具有多種不同外形規(guī)格(U.2、M.2、AIC 和 EDSFF)。NVM Express 是由技術(shù)行業(yè)領(lǐng)導(dǎo)者組成的非營利性聯(lián)盟,負(fù)責(zé) NVMe 技術(shù)的定義、管理和市場推廣。

除了 NVMe 基本規(guī)范外,該組織還負(fù)責(zé)其他幾項(xiàng)規(guī)范:NVMe over Fabrics (NVMe-oF) 和 NVMe Management Interface (NVMe-MI),前者基于網(wǎng)絡(luò)連接架構(gòu)使用 NVMe 命令,后者則用于在服務(wù)器與存儲系統(tǒng)中管理 NVMe/PCIe SSD。 NVMe 規(guī)范是從零開始專為 SSD 而設(shè)計(jì)的規(guī)范。它是更高效的接口,相比于串行 ATA (SATA) 之類的傳統(tǒng)接口,它能夠?yàn)?SSD 提供更低的時(shí)延和更高的可擴(kuò)展性。此規(guī)范的第一部分對應(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 接口顯著減少了存儲器映射輸入/輸出命令的數(shù)量,并且能夠調(diào)整操作系統(tǒng)設(shè)備驅(qū)動(dòng)程序,使其在中斷模式或輪詢模式下運(yùn)行,從而提升性能并降低時(shí)延。NVMe 規(guī)范還包含適用于 SSD 命令的主機(jī)到設(shè)備協(xié)議,供操作系統(tǒng)用于:讀取、寫入、清空、TRIM、固件管理、溫控、報(bào)錯(cuò)等操作。 如需獲取最新版本的 NVMe、NVMe-oF 和 NVMe-MI 規(guī)范,可訪問 NVM Express 組織官網(wǎng)?;诩軜?gòu)的非易失性內(nèi)存 (NVMe-oF)NVMe 協(xié)議并非局限于在服務(wù)器內(nèi)部連接本地閃存驅(qū)動(dòng)器,它還可通過網(wǎng)絡(luò)使用。在網(wǎng)絡(luò)環(huán)境內(nèi)使用時(shí),網(wǎng)絡(luò)“架構(gòu)”支持在存儲器與服務(wù)器各元素之間建立任意對任意連接。NVMe-oF 支持企業(yè)創(chuàng)建超高性能存儲網(wǎng)絡(luò),其時(shí)延能夠比肩直接連接的存儲器。因而可在服務(wù)器之間按需共享快速存儲設(shè)備。NVMe-oF 可視為基于光纖通道的 SCSI 或 iSCSI 的替代品,其優(yōu)勢在于時(shí)延更低、I/O 速率更高,且生產(chǎn)力更優(yōu)。 服務(wù)器(或其他主機(jī))通過網(wǎng)絡(luò)架構(gòu)與 NVMe 存儲器直接進(jìn)行通信,或者通過控制器與之進(jìn)行間接通信。如果存儲器解決方案使用控制器,那么控制器就會(huì)與自己的存儲器目標(biāo)進(jìn)行通信,可采用的方式包括 NVMe-oF(如菊花鏈)或者其他專屬或非專屬解決方案。這取決于存儲器供應(yīng)商的實(shí)現(xiàn)方法和選擇。NVMe-oF 傳輸協(xié)議基礎(chǔ)架構(gòu)工程師需要了解以下三種傳輸綁定,才能在自己的數(shù)據(jù)中心內(nèi)操作 NVMe-oF:

e8297d9a-6fee-11ee-939d-92fbcf53809c.png

光纖通道 (NVMe/FC):具有 Broadcom / Emulex 或 Marvell / Cavium / QLogic 主機(jī)總線適配器 (HBA) 等設(shè)備的 NVMe 發(fā)起方(主機(jī))可以通過專屬光纖通道 (FC) 架構(gòu)或者基于以太網(wǎng)的光纖通道 (FCoE) 架構(gòu)來訪問 NVMe 目標(biāo)。光纖通道傳輸通過 FCP Exchange 使用基于光纖通道協(xié)議的 NVMe (FC-NVMe),將 NVMe 的“控制平面”封裝體(命令和響應(yīng))和“數(shù)據(jù)平面”數(shù)據(jù)消息映射到光纖通道幀。TCP (NVMe/TCP):NVMe 主機(jī)和控制器以交換 NVMe/TCP 協(xié)議數(shù)據(jù)單元(NVMe/TCP H2C 和 C2H PDU)的方式,通過 TCP 進(jìn)行通信。NVMe/TCP PDU 可用于傳輸 NVMe 的“控制平面”封裝體(命令和響應(yīng))和“數(shù)據(jù)平面”數(shù)據(jù)。對于 NVMe/FC,這種數(shù)據(jù)傳輸“僅含消息”。遠(yuǎn)程直接內(nèi)存訪問(InfiniBand 或以太網(wǎng)網(wǎng)絡(luò)上支持的 NVMe/RDMA):RDMA 是主機(jī)卸載、主機(jī)旁路技術(shù),支持包括存儲器在內(nèi)的應(yīng)用程序與另一個(gè)應(yīng)用程序的存儲空間之間直接執(zhí)行雙向往來數(shù)據(jù)傳輸。支持 RDMA 的以太網(wǎng) NIC (rNIC) 或者 InfiniBand 領(lǐng)域內(nèi)的 HCA(不包括主機(jī))均負(fù)責(zé)管理 NVMe 源與目標(biāo)之間的可靠連接。憑借 RDMA,即可使用消息來傳輸 NVMe“控制平面”封裝體(命令和響應(yīng)),并使用存儲器語義(如 RDMA 讀/寫操作)來傳輸“數(shù)據(jù)平面”(數(shù)據(jù))。您必須將數(shù)據(jù)平面部分視為類似 PCIe 的直接內(nèi)存操作。 除了這三種解決方案外,還有其他專屬解決方案可以讓您在網(wǎng)絡(luò)架構(gòu)基礎(chǔ)上使用 NVMe 命令。基于RDMA 的 NVMe-oF何謂 RDMA?直接內(nèi)存訪問(DMA) 指設(shè)備無需 CPU 干預(yù)即可直接訪問主機(jī)內(nèi)存的能力。遠(yuǎn)程直接內(nèi)存訪問 (RDMA) 也就是在不中斷遠(yuǎn)程機(jī)器系統(tǒng) CPU 處理的情況下對該機(jī)器上的內(nèi)存執(zhí)行訪問(讀取和寫入)的能力。RDMA 主要優(yōu)勢零復(fù)制:應(yīng)用程序無需網(wǎng)絡(luò)軟件棧的參與即可執(zhí)行數(shù)據(jù)傳輸。數(shù)據(jù)可以直接發(fā)送和接收到緩沖區(qū),無需在網(wǎng)絡(luò)層之間復(fù)制。內(nèi)核旁路:應(yīng)用程序可以直接從用戶空間執(zhí)行數(shù)據(jù)傳輸,無需內(nèi)核參與。無 CPU 參與:應(yīng)用程序無需在遠(yuǎn)程服務(wù)器內(nèi)耗用任何 CPU 時(shí)間即可訪問遠(yuǎn)程內(nèi)存。無需任何遠(yuǎn)程進(jìn)程(或處理器)的干預(yù)即可讀取遠(yuǎn)程內(nèi)存服務(wù)器。此外,遠(yuǎn)程 CPU 的高速緩存不會(huì)被訪問的內(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 為例)。由此您可能已經(jīng)推斷出,網(wǎng)絡(luò)的鏈路層協(xié)議既可以是以太網(wǎng),也可以是 InfiniBand。這兩種協(xié)議均可用于傳輸基于 RDMA 的應(yīng)用程序。 在 Linux、Windows 和 VMware 這三種操作系統(tǒng)內(nèi)置 RDMA 支持功能。在其他操作系統(tǒng)上,或者需要使用高級功能時(shí),您可能需要下載并安裝相關(guān)的驅(qū)動(dòng)程序包并對其進(jìn)行正確配置?;?RDMA的NVMe-oF的種類現(xiàn)在我們已經(jīng)知道,RDMA 是用于通過網(wǎng)絡(luò)架構(gòu)傳輸 NVMe 的三種選項(xiàng)之一,接下來,我們來看看 RDMA 的三種類型:1. InfiniBand:InfiniBand 網(wǎng)絡(luò)架構(gòu)原生支持 RDMA。2. RoCE(基于聚合以太網(wǎng)的RDMA,讀作“Rocky”):這種類型基本上就是基于以太網(wǎng)網(wǎng)絡(luò)的 RDMA 的實(shí)現(xiàn)。其方式是通過以太網(wǎng)來封裝 InfiniBand 傳輸包。RoCE 有兩種版本: RoCEv1:以太網(wǎng)鏈路層協(xié)議(以太網(wǎng) 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 流量控制和管理功能。 即使 iWARP 和 RoCE 都使用相同的 RDMA 軟件謂詞和同類以太網(wǎng) RDMA-NIC (rNIC),由于第 3 層/第 4 層網(wǎng)絡(luò)之間存在的差異,兩者之間仍無法以 RDMA 來通信?,F(xiàn)如今,RoCEv2 是供應(yīng)商最常用的選擇。NVMe-oF 網(wǎng)絡(luò)要求協(xié)議要求如上所述,根據(jù)所選 NVMe-oF 解決方案,要求不盡相同:專用網(wǎng)絡(luò)NVMe/IB:使用基于 InfiniBand 網(wǎng)絡(luò)的 RDMA。在高性能計(jì)算 (HPC) 領(lǐng)域頗受歡迎。除非您在該領(lǐng)域或者股票市場工作,否則您的數(shù)據(jù)中心可能沒有 InfiniBand 網(wǎng)絡(luò)。NVMe/FC:需要第 5 代或第 6 代光纖通道網(wǎng)絡(luò)。它不使用 RDMA。如果數(shù)據(jù)中心內(nèi)已有光纖通道網(wǎng)絡(luò)或交換基礎(chǔ)架構(gòu),那么基礎(chǔ)架構(gòu)工程師可以繼續(xù)使用這些專用資源作為 NVMe-oF 的傳輸方式。但是,傳統(tǒng) 4、16 或 32 Gbps 光纖通道部署速度可能不足以真正發(fā)揮出 NVMe 設(shè)備的性能提升。共享或聚合以太網(wǎng)網(wǎng)絡(luò)僅限第 2 層網(wǎng)絡(luò)NVMe/FC(含 FCoE):它使用以太網(wǎng)/光纖通道共享網(wǎng)絡(luò)基礎(chǔ)架構(gòu)。FCoE 在 IP 層不可路由,并且不使用 RDMA。FCoE 與光纖通道網(wǎng)絡(luò)具有相同的要求和優(yōu)勢,但在基礎(chǔ)架構(gòu)的共享以太網(wǎng)部分中失去了網(wǎng)絡(luò)可預(yù)測性。 支持第 3 層網(wǎng)絡(luò)NVMe/TCP:使用具有 TCP/IP 傳輸?shù)囊蕴W(wǎng)網(wǎng)絡(luò),但不使用 RDMA。一般認(rèn)為 NVMe/TCP 是最經(jīng)濟(jì)實(shí)惠的解決方案,因?yàn)橐蕴W(wǎng)網(wǎng)絡(luò)架構(gòu)比光纖通道基礎(chǔ)架構(gòu)更實(shí)惠,且實(shí)現(xiàn)難度最低。由于 NVMe/TCP 原生可路由,因此服務(wù)器與其存儲器托架之間能夠通過現(xiàn)有以太網(wǎng)數(shù)據(jù)中心網(wǎng)絡(luò)進(jìn)行通信,而無需專用光纖通道交換機(jī)和 HBA。但 NVMe/TCP 存在如下劣勢:最重要的是它使用服務(wù)器的算力,這樣一來服務(wù)器算力就無法全部用于運(yùn)行常見應(yīng)用程序。CPU 密集度最高的 TCP 操作之一是計(jì)算每個(gè)數(shù)據(jù)包的奇偶校驗(yàn)碼(校驗(yàn)和)。另一個(gè)劣勢則是其傳輸過程中時(shí)延比其他 NVMe-oF 協(xié)議更長。產(chǎn)生這個(gè)問題主要是因?yàn)樵诖肆鞒讨行枰S護(hù)多個(gè)數(shù)據(jù)副本,以免在路由級別發(fā)生數(shù)據(jù)包丟失。NVMe/iWARP:使用共享以太網(wǎng)網(wǎng)絡(luò)和基于 TCP 的 RDMA。NVMe/RoCEv2:使用共享以太網(wǎng)網(wǎng)絡(luò)和基于 UDP 的 RDMA。傳輸要求:有損傳輸 vs 無損傳輸如上文所述,在以太網(wǎng)架構(gòu)中,就有損傳輸與無損傳輸兩種需求而言,RDMA 是兩個(gè)設(shè)備之間的內(nèi)存到內(nèi)存?zhèn)鬏敊C(jī)制,因此理論上它不能容許任何丟包。但由于 iWARP 基于 TCP 協(xié)議和 NVMe/TCP,它可以容許在傳輸中發(fā)生丟包,隨后執(zhí)行少量 TCP 重新傳輸,因此 NVMe/iWARP 和NVMe/TCP 均可通過有損網(wǎng)絡(luò)來傳輸。 而另一方面,RoCE 則使用 UDP,因此無法像 TCP 那樣通過應(yīng)答和重新傳輸來獲益。此外,根據(jù) RoCEv2 規(guī)范,應(yīng)該使用無損架構(gòu)。但在 RoCE 協(xié)議內(nèi)部存在一種防范丟包的機(jī)制:發(fā)生丟包時(shí),將把具有特定數(shù)據(jù)包序號 (PSN) 的 NACK 控制包發(fā)送給發(fā)送方,以供發(fā)送方重新發(fā)送該數(shù)據(jù)包。因此,所謂 RoCE 要求無損網(wǎng)絡(luò)傳輸(無損以太網(wǎng))的說法并不完全正確。RoCE 可以在無損網(wǎng)絡(luò)或有損網(wǎng)絡(luò)中運(yùn)行。有關(guān) NVMe-oF 的其他網(wǎng)絡(luò)信息以下信息是作者與專家討論及參與各種技術(shù)研討會(huì)收集得來,因個(gè)人需求而異,且不一定長期有效。專用以太網(wǎng) vs 共享以太網(wǎng):相比共享以太網(wǎng)解決方案,使用專用網(wǎng)絡(luò)(IB 或 FC)的主要劣勢在于價(jià)格。當(dāng)然,這其中也包括專用網(wǎng)絡(luò)本身的維護(hù)費(fèi)用以及由具備相應(yīng)知識技能的人員參與維護(hù)所產(chǎn)生的人力成本。另一方面,專用網(wǎng)絡(luò)的巨大優(yōu)勢在于此網(wǎng)絡(luò)是可預(yù)測的?;A(chǔ)架構(gòu)工程師對于自己網(wǎng)絡(luò)中包含的內(nèi)容、預(yù)計(jì)的流量、時(shí)延等都了如指掌。有時(shí),可預(yù)測性比什么都重要,尤其是就存儲而言。NVMe/TCP、iWARP 和 RoCEv2 之間的比較:相比 NVMe/TCP,RDMA 使用 rNIC 進(jìn)行卸載的功能可以減少協(xié)議處理開銷和昂貴的內(nèi)存?zhèn)浞輸?shù)量,因此能顯著提升性能。但就像所有聚合基礎(chǔ)架構(gòu)一樣,帶寬才是關(guān)鍵。由于沒有超額預(yù)訂,需要對入站流量、隊(duì)列和流量優(yōu)先順序嚴(yán)加管控。對于 RoCE 更是如此,因?yàn)樗恢С郑ɑ蛘哒f幾乎不支持)任何丟包。目標(biāo)與主機(jī)之間最大距離是多少:舉例來說,雖然我們可以通過企業(yè) WAN 鏈路等方式來執(zhí)行第 3 層網(wǎng)絡(luò)路由,但切勿認(rèn)為可以將存儲器置于遠(yuǎn)離服務(wù)器的位置。這是不行的,一般來說,我們嘗試把目標(biāo)盡可能置于靠近主機(jī)的位置。NVMe 具有非常嚴(yán)格的端到端時(shí)延要求,除非網(wǎng)絡(luò)基礎(chǔ)架構(gòu)是專為提供超低時(shí)延而設(shè)計(jì),否則 NVMe 可能無法正常工作。如何定義可接受的時(shí)延:每個(gè)應(yīng)用程序、數(shù)據(jù)庫或脈動(dòng)協(xié)議都有已知的時(shí)延或 RTT 預(yù)算。用戶問題應(yīng)該基于以下要素:當(dāng)前使用哪一種協(xié)議,又有怎樣的時(shí)延要求。在此基礎(chǔ)上,如上所述,我們嘗試把目標(biāo)盡可能置于靠近主機(jī)的位置。存儲架構(gòu)的第 2 層網(wǎng)絡(luò)和第 3 層網(wǎng)絡(luò)對比:某些存儲專家認(rèn)為,存儲的最佳實(shí)踐是避免進(jìn)行流量路由,對塊存儲而言尤其如此,這背后主要的原因就是時(shí)延。但如今的現(xiàn)代化數(shù)據(jù)中心網(wǎng)絡(luò)不再基于第 2 層網(wǎng)絡(luò) (STP + MLAG),而是基于第 3 層網(wǎng)絡(luò)作為底層,并具有覆蓋層(VXLAN 或類似網(wǎng)絡(luò)層)。因此,這句話可能顯得有些自相矛盾。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16037

    瀏覽量

    176680
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7404

    瀏覽量

    163401
  • RDMA
    +關(guān)注

    關(guān)注

    0

    文章

    75

    瀏覽量

    8906

原文標(biāo)題:一文掌握RDMA、NVMe和NVMe-oF

文章出處:【微信號:架構(gòu)師技術(shù)聯(lián)盟,微信公眾號:架構(gòu)師技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Xilinx FPGA NVMe Host Controller IP,NVMe主機(jī)控制器

    ,實(shí)現(xiàn)必須以及可選的NVMe Admin Command Set和NVM Command Set,實(shí)現(xiàn)對PCIe SSD的復(fù)位/斷電管理、IO(Page)讀寫、DMA讀寫和數(shù)據(jù)擦除功能,提供用戶個(gè)
    發(fā)表于 02-21 10:16

    Xilinx FPGA高性能NVMe SSD主機(jī)控制器,NVMe Host Controller IP

    )讀寫、DMA讀寫和數(shù)據(jù)擦除功能,提供用戶個(gè)簡單高效的接口實(shí)現(xiàn)高性能存儲解決方案。NVMe Host Controller IP DMA讀寫的順序傳輸長度可以配置,最小是4K-Byte,最大
    發(fā)表于 03-27 17:23

    高性能NVMe主機(jī)控制器,Xilinx FPGA NVMe Host Accelerator IP

    )讀寫、DMA讀寫和數(shù)據(jù)擦除功能,提供用戶個(gè)簡單高效的接口實(shí)現(xiàn)高性能存儲解決方案。NVMe Host Controller IP DMA讀寫的順序傳輸長度可以配置,最小是4K-Byte,最大
    發(fā)表于 04-10 22:55

    Flashtec NVMe 3108 PCIe第四代NVMe固態(tài)硬盤控制器怎么樣?

    Flashtec NVMe 3108 PCIe第四代企業(yè)級NVMe 固態(tài)硬盤控制器。此次推出的8通道Flashtec NVMe 3108是對16通道Flashtec NVMe 301
    發(fā)表于 11-23 06:10

    為什么安卓使用的是UFS,而蘋果則是NVME呢?

    什么是UFS?什么是NVME?UFS與NVME這兩者分別代表了什么含義?有什么樣的特點(diǎn)?為什么安卓使用的是UFS,而蘋果則是NVME呢?
    發(fā)表于 06-18 08:27

    Nvme硬盤掛載失敗如何解決?

    內(nèi)核啟動(dòng)時(shí)卡住,然后提示 nvme nvme0: I/O 401 QID 4 timeout, completion polled,硬盤型號為:致態(tài) PC005 Active 512GB
    發(fā)表于 09-12 06:35

    IBM大波存儲陣列新增對NVMe-oF的支持

    IBM近日進(jìn)行了大量的產(chǎn)品發(fā)布,其中閃存陣列增加了容量,系列使用FC加速數(shù)據(jù)訪問的陣列新增了對NVMe-oF的支持。
    的頭像 發(fā)表于 11-05 08:53 ?3863次閱讀

    業(yè)界首款NVMe-oF SSD轉(zhuǎn)換器控制器能夠降低總體擁有成本

    Marvell 88SN2400能夠?qū)?b class='flag-5'>NVMe SSD轉(zhuǎn)換為NVMe-oF SSD,實(shí)現(xiàn)最佳的高性能分類式存儲,從而降低云和企業(yè)數(shù)據(jù)中心應(yīng)用的總體擁有成本
    發(fā)表于 11-23 17:10 ?1085次閱讀

    FCoE曾經(jīng)想統(tǒng)江湖,但現(xiàn)在已經(jīng)無人問津,NVMe/TCP會(huì)重蹈覆轍嗎?

    我們知道,NVMe采用PCIe連接,是基于內(nèi)存映射的協(xié)議,而NVMe-oF卻實(shí)基于消息的,但也可以支持共享內(nèi)存。其中RDMA(包括IB,RoCE,iWarp)這兩種方式都支持,但FC和TCP,只支持消息。
    的頭像 發(fā)表于 03-21 14:17 ?1.1w次閱讀
    FCoE曾經(jīng)想<b class='flag-5'>一</b>統(tǒng)江湖,但現(xiàn)在已經(jīng)無人問津,<b class='flag-5'>NVMe</b>/TCP會(huì)重蹈覆轍嗎?

    Marvell推出NVMe-oF以太網(wǎng)SSD技術(shù)和新代SSD控制器解決方案

    Marvell(NASDAQ:MRVL)今日宣布擴(kuò)展其革命性的NVMe over Fabrics?(NVMe-oF?)產(chǎn)品組合。這些突破性的解決方案,包括由Marvell NVMe-oF SSD轉(zhuǎn)換
    的頭像 發(fā)表于 08-19 01:19 ?4776次閱讀

    讀懂NVMe的基本原理

    為了便于理解主機(jī)和NVMe設(shè)備的關(guān)系,我們這里簡化NVMe設(shè)備的內(nèi)部結(jié)構(gòu)。如圖2所示為NVMe白皮書中的配圖,這里主機(jī)稱為Host,而NVMe設(shè)備稱為Controller(控制器)。主
    發(fā)表于 09-13 11:42 ?1.1w次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>讀懂<b class='flag-5'>NVMe</b>的基本原理

    NVMe-oF的優(yōu)勢及未來

    ? NVMe over Fabric(又名NVMe- oF)是種新興技術(shù),它支持對數(shù)據(jù)中心的計(jì)算和存儲進(jìn)行分解。美光科技正通過與Marvell、Foxconn-Ingrasys和英偉達(dá)
    的頭像 發(fā)表于 01-05 17:42 ?9378次閱讀
    <b class='flag-5'>NVMe-oF</b>的優(yōu)勢及未來

    為什么NVMe/TCP是數(shù)據(jù)中心的更優(yōu)選擇

    與SCSI、ISCSI、SAS或SATA 接口不同,NVMe實(shí)現(xiàn)了針對多核服務(wù)器 CPU 優(yōu)化的簡化命令模式和多隊(duì)列體系結(jié)構(gòu)。NVMe-oF規(guī)范擴(kuò)展了NVMe,實(shí)現(xiàn)了通過網(wǎng)絡(luò)共享PCIe SSD,其最初是使用
    的頭像 發(fā)表于 04-18 10:22 ?1391次閱讀
    為什么<b class='flag-5'>NVMe</b>/TCP是數(shù)據(jù)中心的更優(yōu)選擇

    SPDK Thread模型設(shè)計(jì)與實(shí)現(xiàn) NVMe-oF的使用案例

    SPDK Thread 模型是SPDK誕生以來十分重要的模塊,它的設(shè)計(jì)確保了spdk應(yīng)用的無鎖化編程模型,本文基于spdk最新的release 19.07版本介紹了整體thread模型的設(shè)計(jì)與實(shí)現(xiàn),并詳細(xì)分析了NVMe-oF的使用案例。
    的頭像 發(fā)表于 07-03 16:20 ?2315次閱讀

    vSphere 7.0 U1中的NVMe-oF的性能表征

    電子發(fā)燒友網(wǎng)站提供《vSphere 7.0 U1中的NVMe-oF的性能表征.pdf》資料免費(fèi)下載
    發(fā)表于 08-04 09:15 ?0次下載
    vSphere 7.0 U1中的<b class='flag-5'>NVMe-oF</b>的性能表征