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