av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

談談關于NVMe和NVMe-oF的那些事

談談關于NVMe和NVMe-oF的那些事

作者:架構師技術聯(lián)盟 2018-12-26 13:22:05

云計算

虛擬化 NVMe傳輸是一種抽象協(xié)議層,旨在提供可靠的NVMe命令和數(shù)據(jù)傳輸。為了支持數(shù)據(jù)中心的網(wǎng)絡存儲,通過NVMe over Fabric實現(xiàn)NVMe標準在PCIe總線上的擴展,以此來挑戰(zhàn)SCSI在SAN中的統(tǒng)治地位。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供臨淄網(wǎng)站建設、臨淄做網(wǎng)站、臨淄網(wǎng)站設計、臨淄網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、臨淄企業(yè)網(wǎng)站模板建站服務,十多年臨淄做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

 NVMe傳輸是一種抽象協(xié)議層,旨在提供可靠的NVMe命令和數(shù)據(jù)傳輸。為了支持數(shù)據(jù)中心的網(wǎng)絡存儲,通過NVMe over Fabric實現(xiàn)NVMe標準在PCIe總線上的擴展,以此來挑戰(zhàn)SCSI在SAN中的統(tǒng)治地位。NVMe over Fabric支持把NVMe映射到多個Fabrics傳輸選項,主要包括FC、InfiniBand、RoCE v2、iWARP和TCP。

然而,在這些Fabrics選項協(xié)議中,我們常常認為InfiniBand、RoCE v2(可路由的RoCE)、iWARP是理想的Fabric,其原因在于它們支持RDMA。

  • InfiniBand(IB):從一開始就支持RDMA的新一代網(wǎng)絡協(xié)議。由于這是一種新的網(wǎng)絡技術,因此需要支持該技術的網(wǎng)卡和交換機。
  • RDMA融合以太網(wǎng)(RoCE):一種允許通過以太網(wǎng)進行RDMA的網(wǎng)絡協(xié)議。其較低的網(wǎng)絡頭是以太網(wǎng)頭,其上網(wǎng)絡頭(包括數(shù)據(jù))是InfiniBand頭。這允許在標準以太網(wǎng)基礎架構(交換機)上使用RDMA。只有NIC應該是特殊的,并支持RoCE。
  • 互聯(lián)網(wǎng)廣域RDMA協(xié)議(iWARP):允許通過TCP執(zhí)行RDMA的網(wǎng)絡協(xié)議。在IB和RoCE中存在功能,iWARP不支持這些功能。這允許在標準以太網(wǎng)基礎架構(交換機)上使用RDMA。只有NIC應該是特殊的,并支持iWARP(如果使用CPU卸載),否則所有iWARP堆棧都可以在SW中實現(xiàn),并且丟失了大部分的RDMA性能優(yōu)勢。

那么為什么支持RDMA在選擇NVMe over Fabric時就具有先天優(yōu)勢?這要從RDMA的功能和優(yōu)勢說起。

RDMA是一種新的內(nèi)存訪問技術,RDMA讓計算機可以直接存取其他計算機的內(nèi)存,而不需要經(jīng)過處理器耗時的處理。RDMA將數(shù)據(jù)從一個系統(tǒng)快速移動到遠程系統(tǒng)存儲器中,而不對操作系統(tǒng)造成任何影響。RDMA技術的原理及其與TCP/IP架構的對比如下圖所示。

因此,RDMA可以簡單理解為利用相關的硬件和網(wǎng)絡技術,服務器1的網(wǎng)卡可以直接讀寫服務器2的內(nèi)存,最終達到高帶寬、低延遲和低資源利用率的效果。如下圖所示,應用程序不需要參與數(shù)據(jù)傳輸過程,只需要指定內(nèi)存讀寫地址,開啟傳輸并等待傳輸完成即可。RDMA的主要優(yōu)勢總結如下:

1) Zero-Copy:數(shù)據(jù)不需要在網(wǎng)絡協(xié)議棧的各個層之間來回拷貝,這縮短了數(shù)據(jù)流路徑。

2) Kernel-Bypass:應用直接操作設備接口,不再經(jīng)過系統(tǒng)調(diào)用切換到內(nèi)核態(tài),沒有內(nèi)核切換開銷。

3) None-CPU:數(shù)據(jù)傳輸無須CPU參與,完全由網(wǎng)卡搞定,無需再做發(fā)包收包中斷處理,不耗費CPU資源。

這么多優(yōu)勢總結起來就是提高處理效率,減低時延。那如果其他網(wǎng)絡Fabric可以通過類似RDMA的技術滿足NVMe over Fabric的效率和時延等要求,是否也可以作為NVMe overFabric的Fabric呢?下面再看看NVMe-oF和NVMe的區(qū)別。

NVMe-oF和NVMe之間的主要區(qū)別是傳輸命令的機制。NVMe通過外圍組件互連Express(PCIe)接口協(xié)議將請求和響應映射到主機中的共享內(nèi)存。NVMe-oF使用基于消息的模型通過網(wǎng)絡在主機和目標存儲設備之間發(fā)送請求和響應。

NVMe-oF替代PCIe來擴展NVMe主機和NVMe存儲子系統(tǒng)進行通信的距離。與使用本地主機的PCIe 總線的NVMe存儲設備的延遲相比,NVMe-oF的最初設計目標是在通過合適的網(wǎng)絡結構連接的NVMe主機和NVMe存儲目標之間添加不超過10 微秒的延遲。

此外,在技術細節(jié)和工作機制上兩者有很大不同,NVMe-oF是在NVMe(NVMe over PCIe)的基礎上擴展和完善起來的,具體差異點如下:

  • 命名機制在兼容NVMe over PCIe的基礎上做了擴展,例如:引入了SUBNQN等。
  • 術語上的變化,使用Capsule、Response Capsule來表示傳輸?shù)膱笪?/li>
  • 擴展了Scatter Gather Lists (SGLs)支持In Capsule Data傳輸。此前NVMe over PCIe中的SGL不支持In Capsule Data傳輸。
  • 增加了Discovery和Connect機制,用于發(fā)現(xiàn)和連接拓撲結構中的NVM Subsystem
  • 在Connection機制中增加了創(chuàng)建Queue的機制,刪除了NVMe over PCIe中的創(chuàng)建和刪除Queue的命令。
  • 在NVMe-oF中不存在PCIe架構下的中斷機制。
  • NVMe-oF不支持CQ的流控,所以每個隊列的OutStanding Capsule數(shù)量不能大于對應CQ的Entry的數(shù)量,從而避免CQ被OverRun
  • NVMe-oF僅支持SGL,NVMe over PCIe 支持SGL/PRP

先談談博科一直推崇的FC Fabric,F(xiàn)C-NVMe將NVMe命令集簡化為基本的FCP指令。由于光纖通道專為存儲流量而設計,因此系統(tǒng)中內(nèi)置了諸如發(fā)現(xiàn),管理和設備端到端驗證等功能。

光纖通道是面向NVMe overFabrics(NVMe-oF)的Fabric傳輸選項,由NVMExpress Inc.(一家擁有100多家成員技術公司的非營利組織)開發(fā)的規(guī)范。其他NVMe傳輸選項包括以太網(wǎng)和InfiniBand上的遠程直接內(nèi)存訪問(RDMA)。NVM Express Inc.于2016年6月5日發(fā)布了1.0版NVMe-oF。

國際信息技術標準委員會(INCITS)的T11委員會定義了一種幀格式和映射協(xié)議,將NVMe-oF應用到光纖通道。T11委員會于2017年8月完成了FC-NVMe標準的***版,并將其提交給INCITS出版。

FC協(xié)議(FCP)允許上層傳輸協(xié)議,如NVMe,小型計算機系統(tǒng)接口(SCSI)和IBM專有光纖連接(FICON)的映射,以實現(xiàn)主機和外圍目標存儲設備或系統(tǒng)之間的數(shù)據(jù)和命令傳輸。

在大規(guī)?;趬K閃存的存儲環(huán)境最有可能采用NVMeover FC。FC-NVMe光纖通道提供NVMe-oF結構、可預測性和可靠性特性等與給SCSI提供的相同,另外,NVMe-oF流量和傳統(tǒng)的基于SCSI的流量可以在同一FC結構上同時運行。

基于FC標準的NVMe定義了FC-NVMe協(xié)議層。NVMe over Fabrics規(guī)范定義了NVMe-oF協(xié)議層。NVMe規(guī)范定義了NVMe主機軟件和NVM子系統(tǒng)協(xié)議層。

要求必須支持基于光纖通道的NVMe才能發(fā)揮潛在優(yōu)勢的基礎架構組件,包括存儲操作系統(tǒng)(OS)和網(wǎng)絡適配器卡。FC存儲系統(tǒng)供應商必須讓其產(chǎn)品符合FC-NVMe的要求。目前支持FC-NVMe的主機總線適配器(HBA)的供應商包括Broadcom和Cavium。Broadcom和思科是主要的FC交換機供應商,目前博科的Gen 6代FC交換機已經(jīng)支持NVMe-oF協(xié)議。

NVMe over fabric白皮書明確列出了光纖通道作為一個NVMeover Fabrics選擇,也描述了理想的Fabrics需要具備可靠的、以Credit為基礎的流量控制和交付機制。然而,基于Credit的流程控制機制是FC、PCIe傳輸原生能力。在NVMe的白皮書中并沒有把RDMA列為“理想”NVMe overFabric的重要屬性,也就是說RDMA除了只是一種實現(xiàn)NVMeFabric的方法外,沒有什么特別的。

FC也提供零拷貝(Zero-Copy)技術支持DMA數(shù)據(jù)傳輸。RDMA通過從本地服務器傳遞Scatter-Gather List到遠程服務器有效地將本地內(nèi)存與遠程服務器共享,使遠程服務器可以直接讀取或?qū)懭氡镜胤掌鞯膬?nèi)存。更多關于NVMe over FC的內(nèi)容,請參考“基于FC的NVMe或FC-NVMe標準”和“Brocade為何認為FC是***的Fabric”。

接下來,談談基于RDMA技術實現(xiàn)NVMe over fabric的Fabric技術,RDMA技術最早出現(xiàn)在Infiniband網(wǎng)絡,用于HPC高性能計算集群的互聯(lián)?;贗nfiniBand的NVMe傾向于吸引需要極高帶寬和低延遲的高性能計算工作負載。InfiniBand網(wǎng)絡通常用于后端存儲系統(tǒng)內(nèi)的通信,而不是主機到存儲器的通信。與FC一樣,InfiniBand是一個需要特殊硬件的無損網(wǎng)絡,它具有諸如流量和擁塞控制以及服務質(zhì)量(QoS)等優(yōu)點。但與FC不同的是,InfiniBand缺少發(fā)現(xiàn)服務自動將節(jié)點添加到結構中。關于更多RDMA知識,請讀者參考文章“RDMA技術原理分析、主流實現(xiàn)對比和解析”。

***,談談NVMe/TCP協(xié)議選項(暫記為NVMe over TCP),在幾年前,NVMe Express組織計劃支持傳輸控制協(xié)議(TCP)的傳輸選項(不同于基于TCP的iWARP)。近日NVM Express Inc.歷時16個月發(fā)布了NVMe over TCP***個版本。該Fabric標準的出現(xiàn)已經(jīng)回答了是否滿足承載NVMe協(xié)議標準的Fabric即可作為NVMe over fabric的Fabric的問題。

但是TCP 協(xié)議會帶來遠高于本地PCIe訪問的網(wǎng)絡延遲,使得NVMe協(xié)議低延遲的目標遭到破壞。在沒有采用RDMA技術的前提下,NVMe/TCP是采用什么技術達到類似RDMA技術的傳輸效果呢?下面引用楊子夜(Intel存儲軟件工程師)觀點,談談促使了NVMe/TCP的誕生幾個技術原因:

1. NVMe虛擬化的出現(xiàn):在NVMe虛擬化實現(xiàn)的前提下,NVMe-oF target那端并不一定需要真實的NVMe 設備,可以是由分布式系統(tǒng)抽象虛擬出來的一個虛擬NVMe 設備,為此未必繼承了物理NVMe設備的高性能的屬性 。那么在這一前提下,使用低速的TCP協(xié)議也未嘗不可。

2. 向后兼容性:NVMe-oF協(xié)議,在某種程度上希望替換掉iSCSI 協(xié)議(iSCSI最初的協(xié)議是RFC3720,有很多擴展)。iSCSI協(xié)議只可以在以太網(wǎng)上運行,對于網(wǎng)卡沒有太多需求,并不需要網(wǎng)卡一定支持RDMA。當然如果能支持RDMA, 則可以使用iSER協(xié)議,進行數(shù)據(jù)傳輸?shù)腃PU 資源卸載。 但是NVMe-oF協(xié)議一開始沒有TCP的支持。于是當用戶從iSCSI向NVMe-oF 轉型的時候,很多已有的網(wǎng)絡設備無法使用。這樣會導致NVMe-oF協(xié)議的接受度下降。在用戶不以性能為首要考量的前提下,顯然已有NVMe-oF協(xié)議對硬件的要求,會給客戶的轉型造成障礙,使得用戶數(shù)據(jù)中心的更新?lián)Q代不能順滑地進行。

3. TCP OffLoading:雖然TCP協(xié)議在很大程度上會降低性能,但是TCP也可以使用OffLoading,或者使用Smart NIC或者FPGA。那么潛在的性能損失可得到一定的彌補。總的來說短期有性能損失,長期來講協(xié)議對硬件的要求降低,性能可以改進。為此總的來講,接受度會得到提升。

4. 相比Software RoCE:在沒有TCP Transport的時候,用戶在不具備RDMA網(wǎng)卡設備的時候。如果要進行NVMe-oF的測試,需要通過Software RoCE,把網(wǎng)絡設備模擬成一個具有RDMA功能的設備,然后進行相應的測試。其真實實現(xiàn)是通過內(nèi)核的相應模塊,實際UDP 包來封裝模擬RDMA協(xié)議。有了TCP transport協(xié)議,則沒有這么復雜,用戶可以采用更可靠的TCP協(xié)議來進行NVMe-oF的一些相關測試。 從測試部署來講更加簡單有效。

NVMe/TCP(NVMe over TCP)的協(xié)議,在一定程度上借鑒了iSCSI的協(xié)議,例如iSCSI數(shù)據(jù)讀寫的傳輸協(xié)議。這個不太意外,因為有些協(xié)議的指定參與者,也是iSCSI協(xié)議的指定參與者。另外iSCSI協(xié)議的某些部分確實寫得很好。 但是NVMe/TCP相比iSCSI協(xié)議更加簡單,可以說是取其精華。


分享標題:談談關于NVMe和NVMe-oF的那些事
瀏覽路徑:http://uogjgqi.cn/article/dhoosjd.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流