談?wù)勱P(guān)于NVMe和NVMe-oF的那些事_第1頁(yè)
談?wù)勱P(guān)于NVMe和NVMe-oF的那些事_第2頁(yè)
談?wù)勱P(guān)于NVMe和NVMe-oF的那些事_第3頁(yè)
談?wù)勱P(guān)于NVMe和NVMe-oF的那些事_第4頁(yè)
談?wù)勱P(guān)于NVMe和NVMe-oF的那些事_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 談?wù)勱P(guān)于NVMe和NVMe-oF的那些事 NVMe傳輸是一種抽象協(xié)議層,旨在提供可靠的NVMe命令和數(shù)據(jù)傳輸。為了支持?jǐn)?shù)據(jù)中心的網(wǎng)絡(luò)存儲(chǔ),通過(guò)NVMe over Fabric實(shí)現(xiàn)NVMe標(biāo)準(zhǔn)在PCIe總線上的擴(kuò)展,以此來(lái)挑戰(zhàn)SCSI在SAN中的統(tǒng)治地位。NVMe over Fabric支持把NVMe映射到多個(gè)Fabrics傳輸選項(xiàng),主要包括FC、InfiniBand、RoCE v2、iWARP和TCP。然而,在這些Fabrics選項(xiàng)協(xié)議中,我們常常認(rèn)為InfiniBand、RoCE v2(可路由的RoCE)、iWARP是理想的Fabric,其原因在于它們支持RDMA。InfiniBand(I

2、B):從一開(kāi)始就支持RDMA的新一代網(wǎng)絡(luò)協(xié)議。由于這是一種新的網(wǎng)絡(luò)技術(shù),因此需要支持該技術(shù)的網(wǎng)卡和交換機(jī)。RDMA融合以太網(wǎng)(RoCE):一種允許通過(guò)以太網(wǎng)進(jìn)行RDMA的網(wǎng)絡(luò)協(xié)議。其較低的網(wǎng)絡(luò)頭是以太網(wǎng)頭,其上網(wǎng)絡(luò)頭(包括數(shù)據(jù))是InfiniBand頭。這允許在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)架構(gòu)(交換機(jī))上使用RDMA。只有NIC應(yīng)該是特殊的,并支持RoCE?;ヂ?lián)網(wǎng)廣域RDMA協(xié)議(iWARP):允許通過(guò)TCP執(zhí)行RDMA的網(wǎng)絡(luò)協(xié)議。在IB和RoCE中存在功能,iWARP不支持這些功能。這允許在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)架構(gòu)(交換機(jī))上使用RDMA。只有NIC應(yīng)該是特殊的,并支持iWARP(如果使用CPU卸載),否則所有

3、iWARP堆棧都可以在SW中實(shí)現(xiàn),并且丟失了大部分的RDMA性能優(yōu)勢(shì)。那么為什么支持RDMA在選擇NVMe over Fabric時(shí)就具有先天優(yōu)勢(shì)?這要從RDMA的功能和優(yōu)勢(shì)說(shuō)起。RDMA是一種新的內(nèi)存訪問(wèn)技術(shù),RDMA讓計(jì)算機(jī)可以直接存取其他計(jì)算機(jī)的內(nèi)存,而不需要經(jīng)過(guò)處理器耗時(shí)的處理。RDMA將數(shù)據(jù)從一個(gè)系統(tǒng)快速移動(dòng)到遠(yuǎn)程系統(tǒng)存儲(chǔ)器中,而不對(duì)操作系統(tǒng)造成任何影響。RDMA技術(shù)的原理及其與TCP/IP架構(gòu)的對(duì)比如下圖所示。 因此,RDMA可以簡(jiǎn)單理解為利用相關(guān)的硬件和網(wǎng)絡(luò)技術(shù),服務(wù)器1的網(wǎng)卡可以直接讀寫服務(wù)器2的內(nèi)存,最終達(dá)到高帶寬、低延遲和低資源利用率的效果。如下圖所示,應(yīng)用程序不需要參與數(shù)

4、據(jù)傳輸過(guò)程,只需要指定內(nèi)存讀寫地址,開(kāi)啟傳輸并等待傳輸完成即可。RDMA的主要優(yōu)勢(shì)總結(jié)如下:1) Zero-Copy:數(shù)據(jù)不需要在網(wǎng)絡(luò)協(xié)議棧的各個(gè)層之間來(lái)回拷貝,這縮短了數(shù)據(jù)流路徑。2) Kernel-Bypass:應(yīng)用直接操作設(shè)備接口,不再經(jīng)過(guò)系統(tǒng)調(diào)用切換到內(nèi)核態(tài),沒(méi)有內(nèi)核切換開(kāi)銷。3) None-CPU:數(shù)據(jù)傳輸無(wú)須CPU參與,完全由網(wǎng)卡搞定,無(wú)需再做發(fā)包收包中斷處理,不耗費(fèi)CPU資源。這么多優(yōu)勢(shì)總結(jié)起來(lái)就是提高處理效率,減低時(shí)延。那如果其他網(wǎng)絡(luò)Fabric可以通過(guò)類似RDMA的技術(shù)滿足NVMe over Fabric的效率和時(shí)延等要求,是否也可以作為NVMe overFabric的Fab

5、ric呢?下面再看看NVMe-oF和NVMe的區(qū)別。NVMe-oF和NVMe之間的主要區(qū)別是傳輸命令的機(jī)制。NVMe通過(guò)外圍組件互連Express(PCIe)接口協(xié)議將請(qǐng)求和響應(yīng)映射到主機(jī)中的共享內(nèi)存。NVMe-oF使用基于消息的模型通過(guò)網(wǎng)絡(luò)在主機(jī)和目標(biāo)存儲(chǔ)設(shè)備之間發(fā)送請(qǐng)求和響應(yīng)。NVMe-oF替代PCIe來(lái)擴(kuò)展NVMe主機(jī)和NVMe存儲(chǔ)子系統(tǒng)進(jìn)行通信的距離。與使用本地主機(jī)的PCIe總線的NVMe存儲(chǔ)設(shè)備的延遲相比,NVMe-oF的最初設(shè)計(jì)目標(biāo)是在通過(guò)合適的網(wǎng)絡(luò)結(jié)構(gòu)連接的NVMe主機(jī)和NVMe存儲(chǔ)目標(biāo)之間添加不超過(guò)10微秒的延遲。此外,在技術(shù)細(xì)節(jié)和工作機(jī)制上兩者有很大不同,NVMe-oF是在N

6、VMe(NVMe over PCIe)的基礎(chǔ)上擴(kuò)展和完善起來(lái)的,具體差異點(diǎn)如下:命名機(jī)制在兼容NVMe over PCIe的基礎(chǔ)上做了擴(kuò)展,例如:引入了SUBNQN等。術(shù)語(yǔ)上的變化,使用Capsule、Response Capsule來(lái)表示傳輸?shù)膱?bào)文擴(kuò)展了Scatter Gather Lists (SGLs)支持In Capsule Data傳輸。此前NVMe over PCIe中的SGL不支持In Capsule Data傳輸。增加了Discovery和Connect機(jī)制,用于發(fā)現(xiàn)和連接拓?fù)浣Y(jié)構(gòu)中的NVM Subsystem在Connection機(jī)制中增加了創(chuàng)建Queue的機(jī)制,刪除了NVM

7、e over PCIe中的創(chuàng)建和刪除Queue的命令。在NVMe-oF中不存在PCIe架構(gòu)下的中斷機(jī)制。NVMe-oF不支持CQ的流控,所以每個(gè)隊(duì)列的OutStanding Capsule數(shù)量不能大于對(duì)應(yīng)CQ的Entry的數(shù)量,從而避免CQ被OverRunNVMe-oF僅支持SGL,NVMe over PCIe 支持SGL/PRP先談?wù)劜┛埔恢蓖瞥绲腇C Fabric,F(xiàn)C-NVMe將NVMe命令集簡(jiǎn)化為基本的FCP指令。由于光纖通道專為存儲(chǔ)流量而設(shè)計(jì),因此系統(tǒng)中內(nèi)置了諸如發(fā)現(xiàn),管理和設(shè)備端到端驗(yàn)證等功能。光纖通道是面向NVMe overFabrics(NVMe-oF)的Fabric傳輸選項(xiàng),

8、由NVMExpress Inc.(一家擁有100多家成員技術(shù)公司的非營(yíng)利組織)開(kāi)發(fā)的規(guī)范。其他NVMe傳輸選項(xiàng)包括以太網(wǎng)和InfiniBand上的遠(yuǎn)程直接內(nèi)存訪問(wèn)(RDMA)。NVM Express Inc.于2016年6月5日發(fā)布了1.0版NVMe-oF。國(guó)際信息技術(shù)標(biāo)準(zhǔn)委員會(huì)(INCITS)的T11委員會(huì)定義了一種幀格式和映射協(xié)議,將NVMe-oF應(yīng)用到光纖通道。T11委員會(huì)于2017年8月完成了FC-NVMe標(biāo)準(zhǔn)的第一版,并將其提交給INCITS出版。FC協(xié)議(FCP)允許上層傳輸協(xié)議,如NVMe,小型計(jì)算機(jī)系統(tǒng)接口(SCSI)和IBM專有光纖連接(FICON)的映射,以實(shí)現(xiàn)主機(jī)和外圍目

9、標(biāo)存儲(chǔ)設(shè)備或系統(tǒng)之間的數(shù)據(jù)和命令傳輸。在大規(guī)?;趬K閃存的存儲(chǔ)環(huán)境最有可能采用NVMeover FC。FC-NVMe光纖通道提供NVMe-oF結(jié)構(gòu)、可預(yù)測(cè)性和可靠性特性等與給SCSI提供的相同,另外,NVMe-oF流量和傳統(tǒng)的基于SCSI的流量可以在同一FC結(jié)構(gòu)上同時(shí)運(yùn)行。基于FC標(biāo)準(zhǔn)的NVMe定義了FC-NVMe協(xié)議層。NVMe over Fabrics規(guī)范定義了NVMe-oF協(xié)議層。NVMe規(guī)范定義了NVMe主機(jī)軟件和NVM子系統(tǒng)協(xié)議層。要求必須支持基于光纖通道的NVMe才能發(fā)揮潛在優(yōu)勢(shì)的基礎(chǔ)架構(gòu)組件,包括存儲(chǔ)操作系統(tǒng)(OS)和網(wǎng)絡(luò)適配器卡。FC存儲(chǔ)系統(tǒng)供應(yīng)商必須讓其產(chǎn)品符合FC-NVMe

10、的要求。目前支持FC-NVMe的主機(jī)總線適配器(HBA)的供應(yīng)商包括Broadcom和Cavium。Broadcom和思科是主要的FC交換機(jī)供應(yīng)商,目前博科的Gen 6代FC交換機(jī)已經(jīng)支持NVMe-oF協(xié)議。NVMe over fabric白皮書明確列出了光纖通道作為一個(gè)NVMeover Fabrics選擇,也描述了理想的Fabrics需要具備可靠的、以Credit為基礎(chǔ)的流量控制和交付機(jī)制。然而,基于Credit的流程控制機(jī)制是FC、PCIe傳輸原生能力。在NVMe的白皮書中并沒(méi)有把RDMA列為“理想”NVMe overFabric的重要屬性,也就是說(shuō)RDMA除了只是一種實(shí)現(xiàn)NVMeFabr

11、ic的方法外,沒(méi)有什么特別的。FC也提供零拷貝(Zero-Copy)技術(shù)支持DMA數(shù)據(jù)傳輸。RDMA通過(guò)從本地服務(wù)器傳遞Scatter-Gather List到遠(yuǎn)程服務(wù)器有效地將本地內(nèi)存與遠(yuǎn)程服務(wù)器共享,使遠(yuǎn)程服務(wù)器可以直接讀取或?qū)懭氡镜胤?wù)器的內(nèi)存。更多關(guān)于NVMe over FC的內(nèi)容,請(qǐng)參考“基于FC的NVMe或FC-NVMe標(biāo)準(zhǔn)”和“Brocade為何認(rèn)為FC是最好的Fabric”。接下來(lái),談?wù)劵赗DMA技術(shù)實(shí)現(xiàn)NVMe over fabric的Fabric技術(shù),RDMA技術(shù)最早出現(xiàn)在Infiniband網(wǎng)絡(luò),用于HPC高性能計(jì)算集群的互聯(lián)?;贗nfiniBand的NVMe傾向于吸

12、引需要極高帶寬和低延遲的高性能計(jì)算工作負(fù)載。InfiniBand網(wǎng)絡(luò)通常用于后端存儲(chǔ)系統(tǒng)內(nèi)的通信,而不是主機(jī)到存儲(chǔ)器的通信。與FC一樣,InfiniBand是一個(gè)需要特殊硬件的無(wú)損網(wǎng)絡(luò),它具有諸如流量和擁塞控制以及服務(wù)質(zhì)量(QoS)等優(yōu)點(diǎn)。但與FC不同的是,InfiniBand缺少發(fā)現(xiàn)服務(wù)自動(dòng)將節(jié)點(diǎn)添加到結(jié)構(gòu)中。關(guān)于更多RDMA知識(shí),請(qǐng)讀者參考文章“RDMA技術(shù)原理分析、主流實(shí)現(xiàn)對(duì)比和解析”。最后,談?wù)凬VMe/TCP協(xié)議選項(xiàng)(暫記為NVMe over TCP),在幾年前,NVMe Express組織計(jì)劃支持傳輸控制協(xié)議(TCP)的傳輸選項(xiàng)(不同于基于TCP的iWARP)。近日NVM Expr

13、ess Inc.歷時(shí)16個(gè)月發(fā)布了NVMe over TCP第一個(gè)版本。該Fabric標(biāo)準(zhǔn)的出現(xiàn)已經(jīng)回答了是否滿足承載NVMe協(xié)議標(biāo)準(zhǔn)的Fabric即可作為NVMe over fabric的Fabric的問(wèn)題。但是TCP 協(xié)議會(huì)帶來(lái)遠(yuǎn)高于本地PCIe訪問(wèn)的網(wǎng)絡(luò)延遲,使得NVMe協(xié)議低延遲的目標(biāo)遭到破壞。在沒(méi)有采用RDMA技術(shù)的前提下,NVMe/TCP是采用什么技術(shù)達(dá)到類似RDMA技術(shù)的傳輸效果呢?下面引用楊子夜(Intel存儲(chǔ)軟件工程師)觀點(diǎn),談?wù)劥偈沽薔VMe/TCP的誕生幾個(gè)技術(shù)原因:1. NVMe虛擬化的出現(xiàn):在NVMe虛擬化實(shí)現(xiàn)的前提下,NVMe-oF target那端并不一定需要真實(shí)

14、的NVMe 設(shè)備,可以是由分布式系統(tǒng)抽象虛擬出來(lái)的一個(gè)虛擬NVMe 設(shè)備,為此未必繼承了物理NVMe設(shè)備的高性能的屬性 。那么在這一前提下,使用低速的TCP協(xié)議也未嘗不可。2. 向后兼容性:NVMe-oF協(xié)議,在某種程度上希望替換掉iSCSI 協(xié)議(iSCSI最初的協(xié)議是RFC3720,有很多擴(kuò)展)。iSCSI協(xié)議只可以在以太網(wǎng)上運(yùn)行,對(duì)于網(wǎng)卡沒(méi)有太多需求,并不需要網(wǎng)卡一定支持RDMA。當(dāng)然如果能支持RDMA, 則可以使用iSER協(xié)議,進(jìn)行數(shù)據(jù)傳輸?shù)腃PU 資源卸載。 但是NVMe-oF協(xié)議一開(kāi)始沒(méi)有TCP的支持。于是當(dāng)用戶從iSCSI向NVMe-oF 轉(zhuǎn)型的時(shí)候,很多已有的網(wǎng)絡(luò)設(shè)備無(wú)法使用。

15、這樣會(huì)導(dǎo)致NVMe-oF協(xié)議的接受度下降。在用戶不以性能為首要考量的前提下,顯然已有NVMe-oF協(xié)議對(duì)硬件的要求,會(huì)給客戶的轉(zhuǎn)型造成障礙,使得用戶數(shù)據(jù)中心的更新?lián)Q代不能順滑地進(jìn)行。3. TCP OffLoading:雖然TCP協(xié)議在很大程度上會(huì)降低性能,但是TCP也可以使用OffLoading,或者使用Smart NIC或者FPGA。那么潛在的性能損失可得到一定的彌補(bǔ)。總的來(lái)說(shuō)短期有性能損失,長(zhǎng)期來(lái)講協(xié)議對(duì)硬件的要求降低,性能可以改進(jìn)。為此總的來(lái)講,接受度會(huì)得到提升。4. 相比Software RoCE:在沒(méi)有TCP Transport的時(shí)候,用戶在不具備RDMA網(wǎng)卡設(shè)備的時(shí)候。如果要進(jìn)行NVMe-oF的測(cè)試,需要通過(guò)Software RoCE,把網(wǎng)絡(luò)設(shè)備模擬成一個(gè)具有RDMA功能的設(shè)備,然后進(jìn)行相應(yīng)的測(cè)試。其真實(shí)實(shí)現(xiàn)是通過(guò)內(nèi)核的相應(yīng)模塊,實(shí)際UDP 包來(lái)封裝模擬RDMA協(xié)議。有了TCP transport協(xié)議,則沒(méi)有這么復(fù)雜,用戶可以采用更可靠的TCP協(xié)議來(lái)進(jìn)行NVMe-oF的一些相關(guān)測(cè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論