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