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共享内存的机制,提供了一种高效的块存储挂载的方法。guest os内核通过加载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公用相同的框架,来完成硬件卸载控制平面。
CES 2020对话西部数据:用户需求决定产品设计
变压器的负载与损耗的关系
英特尔德国厂将获100亿欧元补贴
STM32 启动流程的详细讲解
“智能化”将造就未来照明业“新贵族”
DPU应用场景系列(二) 存储功能卸载
人工智能计算器好不好
中国移动5G套餐用户达1540万户,将继续稳步实施”5G+”计划
一加首款智能手环将于1月11日正式发布
TSK-32-16C-12应力应变测试仪 Strain Gage Testing便携式应变仪
智能音箱市场争夺战正火热 三星暂时不会考虑推出Bixby智能音箱
间歇振荡电路分析
基于区块链技术的能源共享充电桩系统构架介绍
离线语音在智能家电上的应用
多重驱动,互联网迎来发展机遇期
寒武纪豪言壮语,3年后终端智能处理器集成超过10亿台设备
精锻科技:给大众(奥迪)配套总额没有下降
防静电门禁系统的原理、功能和使用方法
移远通信用科技手段赋能“智慧粮仓”建设
5G技术下智能家居行业将逐渐成为新的风口