CodingBox Documentação

Ethernet sem perdas para armazenamento: DCB, PFC, ECN

O Ethernet descarta quadros quando está congestionado; protocolos de armazenamento construídos para Fibre Channel ou RDMA presumem que nada nunca é descartado. O Data Center Bridging (DCB) fecha essa lacuna com controle de fluxo por prioridade e alocação de largura de banda, e o RoCE acrescenta sinalização de congestionamento por cima. O resultado é sem perdas apenas na medida do seu pior enlace: uma óptica no limite que descarta um quadro em um milhão já é um incidente de armazenamento. Esta página explica os mecanismos e os traduz em requisitos de camada física.

O conjunto de ferramentas do DCB

PadrãoNomeO que faz
IEEE 802.1QbbPFC — controle de fluxo baseado em prioridadequadros de pausa por classe de tráfego (0–7): um receptor congestionado para uma classe sem parar a porta
IEEE 802.1QazETS — seleção de transmissão aprimoradaparcelas de largura de banda garantidas por classe (por exemplo, 50% armazenamento, 50% LAN)
IEEE 802.1QazDCBX — troca de DCBnegociação baseada em LLDP das configurações de PFC/ETS entre switch e NIC
IEEE 802.1QauCN — notificação de congestionamentoraramente implantado
RFC 3168 + DCQCNmarcação ECN + controle de taxao switch marca pacotes quando as filas começam a crescer; as NICs RoCE reduzem o fluxo antes que o PFC seja necessário

Como o RoCE permanece sem perdas

  1. O tráfego de armazenamento/RDMA é marcado com uma prioridade dedicada (geralmente 3 ou 4) via DSCP ou 802.1p.
  2. O PFC é ativado apenas para essa prioridade em cada porta ao longo do caminho, com headroom de buffer dimensionado para a velocidade do enlace e o comprimento do cabo (bytes em trânsito).
  3. Os limiares de ECN marcam os pacotes cedo; as NICs executam DCQCN para reduzir sua taxa, de modo que o PFC só atue como último recurso.
  4. O ETS garante à classe de armazenamento sua largura de banda sob carga de LAN.
  5. O DCBX mantém as configurações da NIC e do switch consistentes; incompatibilidades comprometem, de forma silenciosa, a operação sem perdas.

O FC e o InfiniBand alcançam o mesmo resultado com créditos em cada enlace por padrão; o Ethernet exige que isso seja configurado, verificado e monitorado (Fundamentos de protocolo de FC, Transporte do InfiniBand).

O que pode dar errado

ProblemaEfeitoDetecção
PFC não ativado em um salto / prioridade erradadescartes sob carga; o RDMA retransmite; picos de latênciacontadores de pausa zerados onde não deveriam estar; descartes na classe
Tempestade de PFCum receptor travado pausa o fluxo a montante indefinidamente; o congestionamento se espalha por toda a fabricquadros de pausa inundando; contadores de watchdog
Deadlock de PFCdependência cíclica de buffer em fabrics Clos; todo o tráfego da classe paraexige detecção de deadlock / watchdog para desfazer
Headroom pequeno demais para cabos/ópticas longosdescartes apesar do PFCdescartes com contadores de pausa ativos
Limiares de ECN erradoscedo demais: perda de throughput; tarde demais: inundações de PFCcontadores de marcação de ECN, contadores de CNP nas NICs
Erros físicos em um enlace (CRC, FEC não corrigível)quadros perdidos que nenhum controle de fluxo consegue recuperarcontadores de erro de porta, contadores de FEC — Métricas de VDM e FEC

iSCSI sem DCB

O iSCSI roda sobre TCP e sobrevive a perdas, mas paga o preço em latência e retransmissão. Boas práticas independentemente do DCB:

  • VLANs/sub-redes dedicadas por fabric, duas fabrics, MPIO nos hosts;
  • quadros jumbo (MTU 9000) de ponta a ponta;
  • sem oversubscription entre iniciadores e alvos; uplinks de 25G/100G dimensionados para o array;
  • FEC ativado em todo enlace de 25G ou mais; contadores de CRC em zero;
  • opcionalmente, PFC na classe do iSCSI para suavizar microbursts (muitos arrays recomendam isso).

Requisitos de camada física

RequisitoPor quêPrática
FEC ativado e compatível em todo enlace de 25G ou maiso RoCE não tolera o BER bruto de lanes de 25G/50G desprotegidasFEC e treinamento de enlace
CRC e FEC não corrigível = 0cada quadro perdido trava uma filaalertar a qualquer incremento
Potência Rx dentro da janela, com margemópticas no limite produzem rajadas de erros com a variação de temperaturaPotência Rx e orçamento de potência
Velocidade/duplex/AN consistenteso DAC exige AN + treinamento de enlace nas duas pontasCobre e DAC
Comprimento de cabo dentro das premissas de headroomo headroom é calculado a partir dos bytes em trânsitopreferir DAC no rack, SR/AOC na fileira, DR/LR entre salas
Identidade aceita pela NIC e pelo switchópticas rejeitadas ficam sem enlace ou com velocidade reduzidaBloqueio do fabricante

Lista de verificação de monitoramento

  • Por porta: quadros de pausa enviados/recebidos por prioridade, marcações de ECN, descartes por classe, CRC, FEC corrigido/não corrigível, flaps de enlace.
  • Por NIC: CNPs enviados/recebidos, retransmissões, fora de sequência, timeouts.
  • Por óptica: tendências de potência Rx/Tx e temperatura (Monitoramento).
  • Correlacione picos de latência de cauda do armazenamento com o que foi listado acima — a camada física é a culpada mais frequentemente do que o array.

No CodingBox

Uma fabric sem perdas é construída com ópticas comuns que simplesmente são mantidas sob um padrão mais alto. A inspeção de entrada na bancada — identidade, somas de verificação, DDM em tempo real comparado aos valores típicos, com a linha de base registrada — é o que mantém módulos no limite fora de uma fabric onde um enlace ruim custa a uma aplicação seu SLA de latência (Check transceiver, DDM).

Onde o PFC e o ECN se encaixam entre os demais mecanismos de encaminhamento, e como os erros de camada física aparecem neles: Fundamentos de encaminhamento.


Se você encontrar uma imprecisão ou um erro neste artigo, selecione o trecho correspondente e pressione Ctrl+Enter para .