DPU應用場景系列(二)存儲功能卸載
一、NVMe-oF硬件加速
NVMe over Fabric(又名NVMe-oF)是一個相對較新的協議規范,旨在使用NVMe通過網絡結構將主機連接到存儲,支持對數據中心的計算和存儲進行分解。NVMe-oF協議定義了使用各種通用的傳輸協議來實現NVMe功能的方式。
在NVMe-oF誕生之前,數據存儲協議可以分為三種:
(1)iSCSI:是一種基于IP的存儲網絡標準,在TCP/IP網絡上通過發送SCSI命令來訪問塊存儲服務。
(2)光纖通道(Fibre Channel):是一種高速的數據傳輸協議,提供有序無損的塊數據傳輸。主要用于關鍵高可靠要求的業務上。
(3)SAS(Serial Attached SCSI):一種點對點串行協議,通過SAS線纜傳輸數據。
上述數據存儲協議,在當今數據爆發的時代,已經無法滿足大數據量的傳輸。NVMe-oF的出現,不僅解決了上述協議的性能瓶頸問題,它還允許組織為高度分布式、高度可用的應用程序實施橫向擴展的存儲。通過將NVMe協議擴展到SAN設備,NVMe-oF提高了CPU的使用效率,同時提高了服務器和存儲應用程序之間的連接速度。
NVMe-oF主要支持三大類Fabric傳輸選項,分別是FC、RDMA和TCP,其中RDMA支持InfiniBand、RoCEv2和iWARP。
NVMe-oF/FC和第六代FC可以共存于同一基礎設施中,避免了數據中心的叉車升級。但是,NVMe-oF/FC不具有軟件定義存儲的能力。
NVMe-oF/RDMA利用了RDMA網絡的優勢,是理想的Fabric,提供了低延遲、低抖動和低CPU使用率低傳輸層協議,可以最大限度利用硬件加速,避免軟件協議棧開銷。同時,由于RDMA是一種內存讀寫技術,可以應用在眾多場景中,如GPUDirect Storage的應用場景。
NVMe-oF/TCP利用了TCP協議的可靠性傳輸的特點,以及TCP/IP網絡的通用性和良好的互操作性,可以完美的應用于現代數據中心網絡。在相對性能要求不是非常高的場景,NVMe-oF/TCP可作為備選。
NVMe支持Host端(Initiator或Client)和Controller端(Target或Server),目前DPU智能網卡硬件加速的場景中,包括如下四種情況:
(1)普通智能網卡硬件加速NVMe-oF Initiator。智能網卡支持NVMe-oF/TCP和NVMe-oF/RoCEv2作為Initiator,通過硬件卸載NVMe-oF/TCP或NVMe-oF/RoCEv2,用于計算和存儲之間,來達到較高性能。
(2)支持GPUDirect Storage的智能網卡加速NVMe-oF Initiator和Target。GPUDirect Storage是NVIDIA提出的GPU可以繞過CPU直接訪問存儲磁盤的技術,RDMA技術是GPUDirect Storage的基礎。這類網卡可以通過硬件卸載NVMe-oF/RDMA來實現GPU與遠端存儲服務的直接訪問。常見的如NVMe-oF/RDMA IB和NVMe-oF/RoCEv2。
(3)智能網卡硬件加速NVMe-oF Target。該場景主要是通過智能網卡提供PCIe Root Complex能力和NVMe-oF Controller端的硬件卸載加速,來實現NVMe存儲服務器。如Broadcom Stingray PS1100R是這個場景的代表之一。
(4)DPU芯片硬件加速NVMe-oF Target。該場景是通過DPU芯片提供多個PCIe Root Complex通道以及多個100Gbps的網卡實現的超大吞吐的存儲服務器。Fungible FS1600 12x100Gbps帶寬吞吐的存儲服務器是這個場景的典型代表。
圖NVMe-oF硬件卸載方式
OpenStack從Rocky版本已經支持了NVMe-oF,通過OpenStack Cinder通過消息在NVMe-oF Target上來創建,查詢和刪除卷等,OpenStack Nova在主機上通過NVMe-oF Initiator發現NVMe-oF存儲設備,并將存儲設備信息傳遞給Hypervisor來實現虛擬機掛載磁盤。另外,OpenStack集成Ceph做塊存儲和對象存儲已經非常成熟,Ceph的后端存儲也漸漸的從使用本地磁盤的方式轉向遠端NVMe存儲,這樣NVMe-oF為Ceph存儲服務提供了容量可伸縮的能力。
二、Virtio-blk硬件加速
基于virtio的virtio-blk是KVM-Qemu虛擬化生態中的虛擬化塊存儲的一種實現方式,利用了virtio共享內存的機制,提供了一種高效的塊存儲掛載的方法。GuestOS內核通過加載virtio-blk驅動,實現塊存儲的讀寫,無需額外的廠家專用驅動。Virtio-blk設備在虛擬機以一個磁盤的方式呈現,是目前應用最廣泛的虛擬存儲控制器。
圖基于vDPA架構的virtio-blk硬件卸載
由于virtio機制通過硬件實現加速已經是通用做法,所以利用這個優勢,virtio-blk卸載到硬件,已經是必然趨勢。在智能網卡中,將virtio-blk到后端映射到如NVMe-oF的遠端磁盤上,這樣相比較當前virtio-blk的用法,不需要在主機系統中掛載很多的遠端NVMe磁盤,由智能網卡直接完成映射,更加安全。
在2021年KVM論壇會議中,Redhat提出統一軟硬件卸載virtio-blk方案,正式將virtio-blk加入vDPA框架,同virtio-net公用相同的框架,來完成硬件卸載控制平面。
-
DPU
+關注
關注
0文章
358瀏覽量
24182
發布評論請先 登錄
相關推薦
評論