Ethernet lossless per lo storage: DCB, PFC, ECN · Sistemi di storage · Tecnologie · Documentazione · CodingBox
CodingBox Documentazione

Ethernet lossless per lo storage: DCB, PFC, ECN

Ethernet scarta i frame quando è congestionata; i protocolli di storage costruiti per Fibre Channel o RDMA presumono che non venga mai scartato nulla. Data Center Bridging (DCB) colma il divario con controllo di flusso per priorità e allocazione della larghezza di banda, e RoCE aggiunge sopra una segnalazione di congestione. Il risultato è lossless solo quanto il suo collegamento peggiore: un’ottica al limite che scarta un frame su un milione è un incidente di storage. Questa pagina spiega i meccanismi e li traduce in requisiti del livello fisico.

Gli strumenti DCB

StandardNomeCosa fa
IEEE 802.1QbbPFC — controllo di flusso basato su prioritàframe di pausa per classe di traffico (0–7): un ricevitore congestionato ferma una classe senza fermare la porta
IEEE 802.1QazETS — selezione avanzata della trasmissionequote di larghezza di banda garantite per classe (per esempio 50 % storage, 50 % LAN)
IEEE 802.1QazDCBX — scambio DCBnegoziazione basata su LLDP delle impostazioni PFC/ETS tra switch e NIC
IEEE 802.1QauCN — notifica di congestioneraramente implementato
RFC 3168 + DCQCNmarcatura ECN + controllo della velocitàlo switch marca i pacchetti quando le code crescono; le NIC RoCE rallentano il flusso prima che serva il PFC

Come RoCE resta lossless

  1. Il traffico storage/RDMA è marcato con una priorità dedicata (spesso 3 o 4) tramite DSCP o 802.1p.
  2. Il PFC è abilitato solo per quella priorità su ogni porta lungo il percorso, con l’headroom del buffer dimensionato per la velocità del collegamento e la lunghezza del cavo (byte in transito).
  3. Le soglie ECN marcano i pacchetti in anticipo; le NIC eseguono DCQCN per ridurre la propria velocità, così il PFC scatta solo come ultima risorsa.
  4. ETS garantisce alla classe storage la propria larghezza di banda sotto carico LAN.
  5. DCBX mantiene coerenti le impostazioni di NIC e switch; le discrepanze compromettono silenziosamente il funzionamento lossless.

FC e InfiniBand ottengono lo stesso risultato con i crediti su ogni collegamento per impostazione predefinita; su Ethernet va configurato, verificato e monitorato (Nozioni di base del protocollo FC, Trasporto InfiniBand).

Cosa può andare storto

ProblemaEffettoRilevamento
PFC non abilitato su un hop / priorità sbagliatadrop sotto carico; RDMA ritrasmette; picchi di latenzacontatori di pausa a zero dove non dovrebbero esserlo; drop sulla classe
Tempesta PFCun ricevitore bloccato mette in pausa a monte indefinitamente; la congestione si propaga in tutta la fabricflooding di frame di pausa; contatori watchdog
Deadlock PFCdipendenza ciclica del buffer nelle fabric Clos; tutto il traffico della classe si fermaserve il rilevamento del deadlock o un watchdog per interromperlo
Headroom insufficiente per cavi/ottiche lunghidrop nonostante il PFCdrop con contatori di pausa attivi
Soglie ECN sbagliatetroppo presto: perdita di throughput; troppo tardi: flooding di PFCcontatori dei marchi ECN, contatori CNP sulle NIC
Errori fisici su un collegamento (CRC, FEC non correggibile)frame persi che nessun controllo di flusso può recuperarecontatori di errore della porta, contatori FEC — Metriche VDM e FEC

iSCSI senza DCB

iSCSI funziona su TCP e sopravvive alla perdita, ma la paga in latenza e ritrasmissioni. Buona pratica indipendentemente dal DCB:

  • VLAN/subnet dedicate per fabric, due fabric, MPIO sugli host;
  • frame jumbo (MTU 9000) end-to-end;
  • nessuna oversubscription tra initiator e target; uplink 25G/100G dimensionati per l’array;
  • FEC attivo su ogni collegamento 25G+; contatori CRC a zero;
  • facoltativamente PFC sulla classe iSCSI per smorzare i micro-burst (molti array lo raccomandano).

Requisiti del livello fisico

RequisitoPerchéPratica
FEC abilitato e corrispondente su ogni collegamento 25G+RoCE non tollera il BER grezzo di lane 25G/50G non protetteFEC e link training
CRC e FEC non correggibile = 0ogni frame perso blocca una codaavviso su qualsiasi incremento
Potenza Rx dentro la finestra con marginele ottiche al limite producono raffiche di errori al variare della temperaturaPotenza Rx e bilancio del collegamento
Velocità/duplex/AN coerentiil DAC richiede AN + link training su entrambe le estremitàRame e DAC
Lunghezza del cavo entro le ipotesi di headrooml’headroom si calcola dai byte in transitopreferisci DAC in rack, SR/AOC in fila, DR/LR tra sale
Identità accettata da NIC e switchle ottiche rifiutate ripiegano su nessun collegamento o velocità ridottaBlocco del produttore

Checklist di monitoraggio

  • Per porta: frame di pausa inviati/ricevuti per priorità, marchi ECN, drop per classe, CRC, FEC corretti/non correggibili, flap del collegamento.
  • Per NIC: CNP inviati/ricevuti, ritrasmissioni, fuori sequenza, timeout.
  • Per ottica: andamento di potenza Rx/Tx e temperatura (Monitoraggio).
  • Correla i picchi di latenza di coda dello storage con quanto sopra — il livello fisico è colpevole più spesso dell’array.

In CodingBox

Una fabric lossless è costruita con ottiche ordinarie che vengono semplicemente tenute a uno standard più alto. L’ispezione in ingresso sul banco — identità, checksum, DDM in tempo reale confrontato con i valori tipici, baseline memorizzata — è il modo in cui i moduli al limite vengono tenuti fuori da una fabric dove un collegamento difettoso costa a un’applicazione il suo SLA di latenza (Check transceiver, DDM).

Dove si collocano PFC ed ECN tra gli altri meccanismi di forwarding, e come gli errori del livello fisico vi emergono: Nozioni di forwarding.


Se trovi un’imprecisione o un errore in questo articolo, seleziona il passaggio corrispondente e premi Ctrl+Enter per .