Bezstratny Ethernet dla pamięci masowej: DCB, PFC, ECN · Systemy pamięci masowej · Technologie · Dokumentacja · CodingBox
CodingBox Dokumentacja

Bezstratny Ethernet dla pamięci masowej: DCB, PFC, ECN

Ethernet odrzuca ramki, gdy jest przeciążony; protokoły storage zbudowane pod Fibre Channel albo RDMA zakładają, że nic nigdy nie jest odrzucane. Data Center Bridging (DCB) zamyka tę lukę sterowaniem przepływem dla każdego priorytetu i przydziałem pasma, a RoCE dokłada do tego sygnalizację przeciążenia. Wynik jest bezstratny tylko w takim stopniu, w jakim bezstratne jest jego najgorsze łącze: optyka na granicy parametrów, która gubi jedną ramkę na milion, to już incydent storage. Ta strona wyjaśnia te mechanizmy i przekłada je na wymagania warstwy fizycznej.

Zestaw narzędzi DCB

StandardNazwaCo robi
IEEE 802.1QbbPFC — priority-based flow controlramki pauzy dla każdej klasy ruchu (0–7): przeciążony odbiornik zatrzymuje jedną klasę bez zatrzymywania portu
IEEE 802.1QazETS — enhanced transmission selectiongwarantowany udział pasma dla każdej klasy (np. 50 % storage, 50 % LAN)
IEEE 802.1QazDCBX — DCB exchangenegocjacja ustawień PFC/ETS między przełącznikiem a kartą NIC oparta na LLDP
IEEE 802.1QauCN — congestion notificationrzadko wdrażane
RFC 3168 + DCQCNznakowanie ECN + kontrola przepływnościprzełącznik znakuje pakiety, gdy narastają kolejki; karty NIC RoCE zwalniają strumień, zanim potrzebny będzie PFC

Jak RoCE pozostaje bezstratny

  1. Ruch storage/RDMA jest znakowany dedykowanym priorytetem (często 3 albo 4) przez DSCP albo 802.1p.
  2. PFC jest włączony tylko dla tego priorytetu na każdym porcie wzdłuż trasy, z headroomem bufora dobranym do szybkości łącza i długości kabla (bajtów w locie).
  3. Progi ECN znakują pakiety wcześnie; karty NIC uruchamiają DCQCN, by zmniejszyć swoją przepływność, dzięki czemu PFC uruchamia się tylko w ostateczności.
  4. ETS gwarantuje klasie storage jej pasmo pod obciążeniem LAN.
  5. DCBX utrzymuje spójność ustawień NIC i przełącznika; niezgodności po cichu psują bezstratność.

FC i InfiniBand osiągają to samo domyślnie, dzięki kredytom na każdym łączu; w Ethernet trzeba to skonfigurować, zweryfikować i monitorować (Podstawy protokołu FC, Transport InfiniBand).

Co może pójść nie tak

ProblemSkutekWykrywanie
PFC niewłączony na jednym przeskoku / zły priorytetodrzucenia pod obciążeniem; RDMA retransmituje; skoki opóźnieńliczniki pauzy zerowe tam, gdzie nie powinny być; odrzucenia w danej klasie
Sztorm PFCzablokowany odbiornik wstrzymuje ruch w górę bez końca; przeciążenie rozchodzi się na cały fabriczalew ramek pauzy; liczniki watchdog
Zakleszczenie PFCcykliczna zależność buforów w strukturach fabric Clos; cały ruch danej klasy się zatrzymujewymaga wykrywania zakleszczeń / watchdog, by je przerwać
Zbyt mały headroom dla długich kabli/optykiodrzucenia mimo PFCodrzucenia przy aktywnych licznikach pauzy
Złe progi ECNzbyt wcześnie: utrata przepustowości; zbyt późno: zalew PFCliczniki znakowań ECN, liczniki CNP na kartach NIC
Błędy fizyczne na łączu (CRC, FEC niekorygowalny)utracone ramki, których nie odzyska żadne sterowanie przepływemliczniki błędów portu, liczniki FEC — Metryki VDM i FEC

iSCSI bez DCB

iSCSI działa po TCP i przeżywa utratę pakietów, ale płaci za to opóźnieniem i retransmisją. Dobre praktyki niezależnie od DCB:

  • dedykowane VLAN-y/podsieci dla każdego fabric, dwa fabric, MPIO na hostach;
  • ramki jumbo (MTU 9000) od końca do końca;
  • brak nadsubskrypcji między inicjatorami a targetami; uplinki 25G/100G dobrane do macierzy;
  • FEC włączony na każdym łączu 25G i wyżej; liczniki CRC na zerze;
  • opcjonalnie PFC na klasie iSCSI, by wygładzić mikro-bursty (wiele macierzy to zaleca).

Wymagania warstwy fizycznej

WymaganieDlaczegoPraktyka
FEC włączony i dopasowany na każdym łączu 25G i wyżejRoCE nie toleruje surowego BER niezabezpieczonych linii 25G/50GFEC i trening łącza
CRC i niekorygowalny FEC = 0każda utracona ramka blokuje kolejkęalarm przy każdym przyroście
Moc Rx w oknie, z zapasemoptyka na granicy parametrów generuje wybuchy błędów pod wpływem temperaturyMoc Rx i budżet mocy łącza
Spójna szybkość/dupleks/ANDAC wymaga AN + treningu łącza po obu stronachMiedź i DAC
Długość kabla w granicach założeń headroomuheadroom liczony jest z bajtów w lociepreferuj DAC w szafie, SR/AOC w rzędzie, DR/LR między pomieszczeniami
Dane identyfikacyjne akceptowane przez NIC i przełącznikodrzucona optyka kończy się brakiem łącza albo obniżoną szybkościąBlokada producenta

Lista kontrolna monitorowania

  • Na port: wysłane/odebrane ramki pauzy dla każdego priorytetu, znakowania ECN, odrzucenia dla każdej klasy, CRC, FEC skorygowany/niekorygowalny, przełączenia stanu łącza.
  • Na kartę NIC: wysłane/odebrane CNP, retransmisje, pakiety poza kolejnością, przekroczenia czasu.
  • Na optykę: trendy mocy Rx/Tx i temperatury (Monitorowanie).
  • Zestawiaj skoki skrajnych opóźnień storage z powyższymi danymi — warstwa fizyczna jest winna częściej niż macierz.

W CodingBox

Bezstratny fabric budowany jest ze zwykłej optyki, którą po prostu trzyma się w wyższym standardzie. Kontrola wejściowa na stanowisku — dane identyfikacyjne, sumy kontrolne, DDM na żywo zestawiony z typowymi wartościami, zapisana wartość bazowa — to sposób, by moduły na granicy parametrów nie trafiały do fabric, w którym jedno złe łącze kosztuje aplikację jej SLA opóźnienia (Check transceiver, DDM).

Gdzie PFC i ECN sytuują się wśród innych mechanizmów przekazywania i jak przejawiają się w nich błędy warstwy fizycznej: Podstawy przekazywania.


Jeśli znajdziesz nieścisłość lub błąd w tym materiale, zaznacz odpowiedni fragment i naciśnij Ctrl+Enter, aby .