上海立年信息科技有限公司
Aruba ESP 数据中心存储和无损以太网
来源: | 作者:上海立年 | 发布时间: 2024-07-31 | 184 次浏览 | 分享到:
Aruba 边缘服务平台 (ESP) 数据中心支持数据中心桥接 (DCB) 协议,可创建无损以太网 Fabric,以支持存储区域网络、大数据分析和人工智能 (AI) 应用。

Aruba 边缘服务平台 (ESP) 数据中心支持数据中心桥接 (DCB) 协议,可创建无损以太网 Fabric,以支持存储区域网络、大数据分析和人工智能 (AI) 应用。

一、基于以太网的存储挑战

传统的IEEE 802.3以太网依赖于如TCP等更高级别的协议来保证数据可靠传输。在这种网络中,从源主机发送到目标主机的数据可能会丢失,对于那些对数据丢失敏感的应用来说,这将导致性能下降。

存储性能对包丢失非常敏感。虽然TCP可以通过序列化数据段并在发生丢包时进行重传以确保运输层的数据交付,但这种为了存储而执行的TCP重传会显著降低依赖该存储器的应用性能。

存储技术的进步,如SSD闪存和非易失性存储快速通道(NVMe)协议,使得读/写存储器的性能超越了传统的FibreChannel等存储网络协议。在SAN中,性能瓶颈已从存储介质转向网络。

为此,开发出了远程直接数据存取(RDMA),它可以在两个联网主机之间提供高效的数据交换,并使用专有InfiniBand (IB) 网络。 IB不仅保证了数据访问无丢包,并需要一种特殊类型的主机总线适配器(HBA)进行通信。这种IB HBA利用专用硬件直接读取和写入主机内存,避免了传统协议解封装和CPU处理过程。这样既降低了延迟、提高了性能,又释放出CPU资源供其他应用使用。

以太网解决方案提供了高速的网络接口,如果能处理好可靠性问题,它们将是存储通信的理想选择。RDMA over Converged Ethernet (RoCE) 是一种由InfiniBand Trade Association (IBTA) 开发的协议,其目标是通过成本较低的以太网来扩展 RDMA 的可靠性和提升性能。融合网络适配器(CNA)负责将收到的数据直接写入内存,并使用以太网作为基础通信协议。通过改变以太网主机和交换机行为,可以创建支持 RoCE 的无损数据通信路径。

RoCE 版本1(RoCEv1)将IB 3层寻址和RDMA数据直接封装进一个以太网帧中。在这里,以太网取代了RDMA的一层和二层功能,并设定了一个独特的EtherType值来表示RDMA是以太网载荷。

RoCE版本2(RoCEv2)采用IP取代了IB的三层寻址方式,并将IB的四层和RDMA数据封装进UDP头部。这种策略使得RoCEv2能够在IPv4和IPv6网络上进行路由。因此,RoCEv2是最常见的RoCE实现方式。

CX交换机实现的无损以太网优化提升了使用RoCE和非RoCE协议(如标准iSCSI)应用在数据中心的性能。除了增强存储通信,RoCE还提高了数据库操作、大数据分析和AI生成的效率。

非易失性存储快速通道(NVMe)是一种设备内部数据传输协议,通过多通道数据路径和直接与CPU通过PCIe进行通信来处理大量数据,具有高速度和低延迟特点。NVMe专为固态硬盘(SSD)设计,作为历史悠久的串行先进技术附件(SATA)协议的替代品。NVMe over Fabric(NVMe-oF)将NVMe扩展到网络主机之间工作,并可以运行在包括RoCE在内的多个协议上。

RDMA在以太网上运行时面临最大挑战是解决链路拥塞问题,这也是现代以太网网络中丢帧最常见原因。链路拥塞发生于交换机接收帧速度超过出口端口发送速度时。两个常见原因:首先,交换机上接收与发送端口速度不匹配;其次,在多个接口上同时接收目标指向同一出口接口的帧数过多。这两种情况下,交换机会将多余帧排队至内存缓冲区,等待出口端口传输。若缓冲器内存满,则会丢弃额外的入站帧,导致TCP重传和应用性能下降。

二、构建可靠的以太网

通过将一系列交换机和主机连接起来,并采用特定策略防止应用帧的丢失,可以构建无损以太fabric。

服务质量(QoS)有三种主要的管理策略来满足对缓冲内存和交换机端口带宽的需求:专为应用设立的交换机缓冲区、流量控制以及保证媒体访问。这三种策略共同实现了无损以太fabric,适合于存储等各类应用。

以下表格展示了Aruba数据中心交换机所支持的关键DCB协议。

除了前述协议,Aruba CX交换机还支持IP显式拥塞通知(ECN)。这是一种三层流量控制方法,允许路径中的任何交换机向流量接收器发送拥塞警告。在接收到此类警告后,接收主机会向数据源发送基于IP的拥塞通知以降低传输速率。

RoCE有两个版本。RoCEv1依赖于上述DCB协议,不支持基于路由的IP网络。而RoCEv2支持IP路由RoCE流量,并支持IP ECN,是最常被称为 “RoCE “的协议版本。

1、优先级流量控制

在IEEE 802.3x规范中,以太网暂停帧引入了链路级流控制(LLFC)到以太网网络。当需要时,流量接收器可以要求与其直接连接的流量源短暂停止传输,这样接收器就能处理队列中的帧并防止缓冲区耗尽。请求的暂停期结束后,流量源可恢复发送帧。如果不再需要暂停,接收器也可以通知源提前恢复发送。

优先级流控制(PFC)和服务质量(QoS)队列协同工作来增强以太网暂停帧功能。通过将应用与优先级值关联起来,PFC可以基于应用进行流量控制。当PFC对单个优先级值相关联的流量进行控制时,并不影响其他优先级的流量维持正常传输。

在一个链接上,CX交换机和附加设备都必须为应用流量本地分配一个优先级,并向链接上的对等方指示该优先级。使用802.1p Priority Code Point (PCP) 值或 Differentiated Services Code Point (DSCP) 值均可标识出流量优先级。

a、PCP优先级标记

IEEE 802.1Qbb标准通过在802.1Q头部使用802.1p PCP值,为应用流量设定优先级。3bit的PCP字段可以提供八个服务类别(CoS)的优先级值,范围从0到7。基于PCP的流控制协议(PFC)需要使用带有VLAN标签的trunk链接,以便在数据帧中添加一个802.1Q头部。

以下图解展示了如何在以太帧的802.1Q头部利用PCP bit来设定802.1p CoS的优先级。

在默认设置下,交换机上的CoS优先级与用于帧排队的本地优先级之间有直接对应关系。

b、DSCP优先级标记

无损行为要求在两个数据中心主机之间,以及数据路径中的所有交换机上都有一致的PFC配置。如果数据路径中只有路由接口,可以通过使用IP头部的DSCP bit来指定应用优先级,从而保持应用优先级不变。此外,DSCP bit也可用于标记802.1Q标签和未标记交换机接入端口上的应用流量优先级。

下图展示了位于IP头部传统服务类型(ToS)字段内的DSCP bit。

DSCP字段的6 bit可以提供64个DiffServ优先级值。默认情况下,这些DiffServ值被分为8组,每组对应一个本地优先级值。

CX交换机支持CoS和DSCP优先级混合使用,通过设定每个接口信任哪种QoS标记方法来实现。当不同端口上有策略混用时,可能需要在二层CoS优先级和三层DSCP之间重新标记流量。

随着Spine-Leaf数据中心架构以及VXLAN叠加的增长,更多主机和存储设备开始支持基于DSCP的优先级标记。这使得路由域内能保持一致的QoS标记,并无需在网络交换机上将二层CoS值转换为三层DSCP值。

除了CoS和DSCP外,CX交换机还可以将分类器策略应用于入站流量,并根据数据包头部字段数值(PCP、DSCP和本地)进行优先级分配。

当帧被封装成VXLAN传输时,在外部VXLAN包IP头部会保留原始流量的QoS DSCP优先级,以确保正确排队。

c、PFC操作

CX数据中心交换机配备了一个专用的共享QoS缓冲池,用于无损流量分配。其中,CX 8325、10000和9300型号最多支持三个无损池。通常情况下,只定义一个无损队列来存储流量。每个无损池都有固定的大小、头部容量以及相应的本地优先级值。这些缓冲区是从设备可用总内存中划拨出来的,并默认被分配给单一有损池。对于规模较小的数据中心,CX 8100和8360则提供一个固定的无损池。

接收到的数据帧会根据PCP和DSCP值映射并赋予相应的本地优先级。如果该数据帧具有与无损队列相关联的本地优先级,它将被放入特殊的无损缓冲区中。当端口对共享无损能力即将耗尽时,系统会通知直接连接的发送者暂停传输同一优先级的数据帧以防止丢包情况发生。在此期间,头部容量可以保留下来,并在请求暂停后抵达接口处与相关优先级关联起来。

PFC功能在CX 8325、9300、10000、8360和8100上均得到支持。但是,对于流向CX 10000的流量,如果其QoS优先级与无损队列关联,则不会被转发至AMD Pensando分布式处理单元(DPU)进行策略执行或增强监控。

以下图解展示了在使用CoS优先级值定义两个队列的情况下,发送者与CX交换机接收器之间的排队顺序。所有优先级均被映射到默认的有损队列或唯一无损队列中。在CX平台上,利用两个队列可以实现最佳的排队深度和突发吸收能力。

PFC暂停通知通过关联优先级队列号,可以短暂地中止与单个应用的数据传输。

存储是无损以太网的主要应用。在这个场景中,所有存储流量都被标记为PCP值4,对应本地优先级4。当CX交换机接收到这些流量时,它们会被放入专门设定的无损QoS队列。分配给有损队列的流量不会影响无损存储流量的缓冲区使用情况。当CX交换机上的无损存储队列快满时,将发送暂停帧通知发送方只暂停传输存储流量。而来自发送者的其他所有流量仍然可以继续转发,并且如果还有可用缓冲区,则会放入共享有损队列中。

2、链路级流量控制 (LLFC)

PFC是优选的流量控制策略,但它需要数据中心主机能够正确标记流量优先级。PFC内嵌在专用的HBA中,并且是RoCE兼容性所必需的。

当与其他QoS组件(负责优先级设定、排队和传输)一起使用时,LLFC可以实现无损以太网。尽管许多虚拟和物理存储设备不支持PFC或其他DCB协议,但大部分标准的以太网网卡(NIC)都广泛支持LLFC。通过实施LLFC,我们可以将无损数据传输的优势扩展到那些不支持PFC和非RoCE协议的主机上。

所有通过LLFC交换机端口接收的流量都被认为是无损的。建议尽量减少从连接到使用LLFC链接的主机发送的有损流量。

当CX交换机向连接的设备发送LLFC暂停帧时,它会暂停来自该源的所有流量,而不仅是来自单一目标应用。这种传输暂停让交换机有时间在其无损队列中传输帧,从而防止帧丢失。

在通常情况下,应用流量的优先级并不是由链路级别的流控制器发出信号来限定的。相反,在CX入口端口上实施了分类策略以替代源标记流量优先级,这种策略通过匹配定义好的TCP/IP特性来识别哪些应用流量应该被放入无损队列。当接口同时也认可DSCP或CoS优先级值时,那么这些受信任的QoS标记将会得到利用,并且它们的优先级会高于自定义策略优先级。

3、增强传输选择(ETS)

ETS通过与优先级队列号的关联,为应用在链路上的传输时间分配一部分。这不仅确保了缓冲区的可用性,还通过保障应用流量有足够带宽来传输排队帧,降低了拥塞和丢帧的风险。

各个流量类别被分配了带宽。ETS在CX交换机上通过使用QoS调度配置文件来实施,其中本地定义的队列被视为一个流量类别。将流量与队列关联是通过将其与本地优先级值绑定来实现的。可以根据DSCP优先级、CoS优先级或TCP/IP特征,使用分类器策略将流量映射到本地优先级。

Aruba CX 8325、10000和9300交换机通过赤字加权轮询(DWRR)策略来计算每个队列的带宽分配,这是通过在调度配置文件中为每个队列设置一个权重来实现的。下面的示例展示了与各队列相关联的集合权重所占的带宽百分比。


在上述示例中,存储流量被分配到队列1,确保其有能力消耗高达链路带宽的50%。如果某一流量类别未完全使用其分配额度,其他类别可以利用这部分资源。这样既使得链路能以满负荷运行,又为每个流量类别提供了保障性的分配。当链路饱和时,各类别只能消耗按照指定权重给予的带宽。

可以定义多个调度配置文件,但每个端口只能被分配一个用于控制其传输计划的配置文件。

下图解展示了交换机接收流量后如何将其分配到队列,以及出站端口每个队列的预设带宽。当出站端口达到饱和状态,且各类流量入口速率达到或超过在出站端口上设定的预留带宽时,系统会进行调度操作。

当出口端口未满载时,其传输速率可能会有所变化。一个类别中的闲置带宽可能被其他类别使用。例如,如果一个端口以75%的容量进行传输,其中60%来自队列0,20%来自队列1,5%来自队列2,则交换机无需执行调度算法。允许队列0中的流量消耗分配给其他流量类别的闲置容量,并以高于预设速率进行传输。

4、数据中心桥接交换 (DCBx)

DCBx能动态设定主机的PFC和ETS值,这些值由CX交换机广播。这保证了数据中心主机与其连接的交换机配置一致性。同时,DCBx将应用流量优先级映射通知给计算和存储主机,确保需要无损排队的流量得到适当标记。通过减轻在单个主机上配置PFC、ETS及应用优先级映射的管理负担,使得无损以太网配置变为即插即用操作。

DCBx是一个链路层通信协议,利用链路层发现协议(LLDP)来共享设置信息。PFC、ETS及应用优先级设置通过特定类型-长度-值(TLV)数据记录从交换机进行广播。在所有TLVs中,CX交换器将willing bit设为0, 表示它不愿意改变自身配置以匹配对等体的配置。CX交换器支持IEEE和收敛增强以太网(CEE)两种版本的DCBx。

5、IP显式拥塞通知 (ECN)

IP ECN是一种流量控制机制,它能在检测到网络交换机或路由器的拥塞信号时,降低主机间的数据传输速度。这种机制可以应用于通过多个网络设备连接的主机以及不同的路由段,并且是RoCEv2规范所必需。

支持IP ECN的主机会将IP头部中两个预留服务类型(ToS)bit之一设置为1。当通信路径中存在拥塞时,交换机或路由器会将剩余零ECN bit设为1,从而告知接收方存在通信路径拥塞情况。

当接收到拥塞通知时,流量接收器会通过发送一个IP单播消息将此信息传达给源头。源头会迅速响应并降低其数据传输速度

IP ECN在大多数情况下能够平滑流量,降低了触发全面暂停的PFC需求,除非它被用作处理微突发的快速响应机制。

同时,IP ECN也可以用来提升非RoCE协议(如iSCSI)的性能。

三、存储定位

数据中心的存储通常以SAN形式部署,作为超融合基础设施(HCI)的组成部分,或者是离散化的HCI(dHCI)。

SAN由一个或多个专用存储设备构成,这些设备通过网络与服务器相连。通常使用基于Fibre Channel等协议的专有网络来实现服务器和存储之间的连接。然而,基于以太网的IP解决方案提供了一种高带宽、低成本的选择,并且其采用速度正在加快。iSCSI和RoCE是常见的基于IP的SAN协议。

HCI解耦了标准x86架构的存储和计算能力,提供了类似于云资源管理的体验。在HCI环境中,每个x86主机都可以提供分布式存储和计算服务。集群内任何成员都可以使用HCI集群成员上的本地存储。这种模型简化了扩展过程,只需添加额外的x86节点即可同时增加集群的存储和计算能力。

HPE SimpliVity的dHCI解决方案将计算和存储资源独立分配到各个物理主机,实现了资源的灵活扩展。相比于传统的HCI模型,在增加一个x86节点时,必须同时扩充存储和计算能力,这可能导致成本过高。例如,在HCI解决方案中,如果只需要额外的计算能力而存储已经足够,仍然会被迫增加大量不必要的存储空间。但是dHCI可以单独扩展计算或者存储,并且都使用x86硬件来提供服务。

所有上述存储模型在使用无损以太网时性能都会得到提升。

1、并行存储网络

传统上,存储网络和数据网络是分开部署的,它们依赖专用的网络硬件和协议来满足FibreChannel和InfiniBand等存储协议的可靠性需求。而基于TCP/IP的存储模型则允许我们向成本较低的以太网基础设施转移,并且使用一组并行运作的存储以太网交换机已经成为避免存储与数据主机之间争抢网络带宽的常见策略。

在构建基于以太网的专用存储网络时,可能会出现导致丢帧的拥塞问题。因此,建议部署完整的二层DCB协议(包括DCBx、PFS和ETS)来优化存储网络性能。

下图展示了一个与数据网络并行设置的专用以太网存储网络。即便在使用这种专用存储网络时,我们仍推荐采用无损以太网协议。

2、融合数据/存储网络

高速架顶交换机拥有大量端口,推动了存储和数据网络在同一物理以太网交换机基础设施上的整合。组织可以通过投资于一个能满足其数据和存储需求的网络来优化预算资源。

融合的存储和数据网络需要确定排队和传输优先级,以保证为高速存储性能正确分配网络资源。IP ECN 提供额外的流量控制选项,帮助平稳流量并提升性能。DCBx对自动化PFC和ETS主机配置非常有利。

下图展示了在两层数据中心模型中实现无损以太网所需的协议和定位。

Spine-Leaf网络架构通过线性扩展降低收敛比和对网络资源的争夺。这主要是通过增加Spine交换机来提升东西向网络的容量。在数据中心机柜间,Spine和Leaf网络采用3层协议,并需要将802.1p优先级映射到DSCP值,以确保整个网络基础设施中流量的QoS优先级一致。

3、iSCSI

iSCSI是众多通用存储区网络(SAN)解决方案中的一种常见选择。标准的iSCSI基于TCP协议,支持IP连接路由,但其发起者和目标通常都部署在同一个二层网络上。虽然无损以太网并非iSCSI所必需,但它能提升整体性能。许多配备10 Gbps或更高速度网络卡的iSCSI存储阵列支持优先流控制(PFC)和增强型传输选择(ETS)。

如果不支持PFC,则可以通过低延迟流控制(LLFC)来实现无损以太网fabric。为避免存储与计算流量之间产生竞争,可以采取独立交换机架构;而利用无损以太网则可实施单一融合网络策略,从而降低资本及运营成本。

以下图示展示了融合数据与iSCSI存储网络组件的结构。


四、高可用性

应用通常对组织的运营至关重要,因此它们经常使用无损以太网。为了保证应用的可用性和业务连续性,架顶交换机(ToR)提供冗余链接,确保在链路出现故障时主机仍能持续连接。我们采用一种数据中心网络设计方案,该方案为应用提供冗余通信线路和充足的带宽。你可以参考数据中心连接设计指南来了解更多关于网络设计的信息。





五、CX交换机无损以太网支持

下插图概述了HPE Aruba CX数据中心交换机对无损以太网和存储协议的支持情况,同时也列出了常见存储协议的主要特性。

六、HPE存储验证用于CX交换机

单点连接知识库(SPOCK)是一个数据库,收集了HPE存储组件的经过验证的兼容性信息,包括CX交换机。HPE Aruba Networking CX 8325和CX 9300系列交换机已通过SPOCK认证,并获得了HPE存储网络的批准。