CodingBox 문서

스토리지용 무손실 Ethernet: DCB, PFC, ECN

이더넷은 혼잡해지면 프레임을 버리지만, Fibre Channel이나 RDMA를 위해 만들어진 스토리지 프로토콜은 프레임이 절대 버려지지 않는다고 전제합니다. 데이터 센터 브리징(DCB)은 우선순위별 흐름 제어와 대역폭 할당으로 이 간극을 메우며, RoCE는 그 위에 혼잡 시그널링을 더합니다. 결과물은 가장 약한 링크만큼만 무손실입니다: 백만 프레임 중 하나를 버리는 한계 상태의 광 모듈도 스토리지 장애로 이어집니다. 이 페이지는 그 메커니즘을 설명하고 이를 물리 계층 요구 사항으로 옮깁니다.

DCB 툴킷

표준이름기능
IEEE 802.1QbbPFC — 우선순위 기반 흐름 제어트래픽 클래스별(0–7) pause 프레임: 혼잡한 수신 측이 포트 전체가 아니라 클래스 하나만 멈춤
IEEE 802.1QazETS — 향상된 전송 선택클래스별 대역폭 보장 비율(예: 스토리지 50 %, LAN 50 %)
IEEE 802.1QazDCBX — DCB 교환스위치와 NIC 사이에서 LLDP 기반으로 PFC/ETS 설정을 협상
IEEE 802.1QauCN — 혼잡 알림거의 배치되지 않음
RFC 3168 + DCQCNECN 마킹 + 레이트 제어큐가 쌓이면 스위치가 패킷에 표시하고, RoCE NIC는 PFC가 필요해지기 전에 흐름을 늦춤

RoCE가 무손실을 유지하는 방법

  1. 스토리지/RDMA 트래픽은 DSCP나 802.1p를 통해 전용 우선순위(흔히 3 또는 4)로 태깅됩니다.
  2. 경로상의 모든 포트에서 그 우선순위에 대해서만 PFC가 활성화되며, 버퍼 헤드룸은 링크 속도와 케이블 길이(전송 중인 바이트 양)에 맞게 산정됩니다.
  3. ECN 임계값이 패킷을 조기에 표시하고, NIC는 DCQCN을 실행해 전송률을 낮추므로 PFC는 최후의 수단으로만 발동합니다.
  4. ETS는 LAN 부하가 있어도 스토리지 클래스에 대역폭을 보장합니다.
  5. DCBX는 NIC와 스위치 설정을 일치시킵니다; 설정이 어긋나면 무손실 특성이 소리 없이 깨집니다.

FC와 InfiniBand는 모든 링크에서 크레딧으로 기본적으로 이를 달성하지만, 이더넷은 이를 직접 설정하고 검증하고 모니터링해야 합니다(FC 프로토콜 기초, InfiniBand 트랜스포트).

무엇이 잘못될 수 있는가

문제영향탐지 방법
한 홉에서 PFC 비활성화 / 잘못된 우선순위부하 시 드롭; RDMA 재전송; 지연 급증0이 아니어야 할 pause 카운터가 0; 해당 클래스에서 드롭 발생
PFC 스톰멈춘 수신 측이 상류를 무기한 pause시킴; 혼잡이 패브릭 전역으로 확산pause 프레임 폭주; 워치독 카운터
PFC 데드락Clos 패브릭에서 버퍼 의존성이 순환 구조를 이룸; 해당 클래스의 모든 트래픽이 정지데드락 탐지/워치독으로만 해소 가능
긴 케이블/광 모듈에 비해 헤드룸이 부족PFC가 있어도 드롭 발생pause 카운터가 동작 중인데도 드롭
ECN 임계값이 부적절너무 이르면 처리량 손실; 너무 늦으면 PFC 폭주ECN 마크 카운터, NIC의 CNP 카운터
링크의 물리적 오류(CRC, FEC 정정 불가)흐름 제어로도 복구할 수 없는 프레임 손실포트 오류 카운터, FEC 카운터 — VDM과 FEC 지표

DCB 없는 iSCSI

iSCSI는 TCP 위에서 동작하며 손실을 견디지만, 그 대가로 지연과 재전송이 늘어납니다. DCB 여부와 관계없이 권장되는 방법은 다음과 같습니다.

  • 패브릭별 전용 VLAN/서브넷, 이중 패브릭, 호스트의 MPIO;
  • 종단 간 점보 프레임(MTU 9000);
  • 이니시에이터와 타깃 사이에 오버서브스크립션 없음; 어레이에 맞게 산정된 25G/100G 업링크;
  • 25G 이상 모든 링크에서 FEC 활성화; CRC 카운터 0 유지;
  • 마이크로버스트를 완화하기 위해 iSCSI 클래스에 선택적으로 PFC 적용(많은 어레이가 권장).

물리 계층 요구 사항

요구 사항이유실무
25G 이상 모든 링크에서 FEC 활성화 및 일치RoCE는 보호되지 않은 25G/50G 레인의 원시 BER을 견디지 못함FEC와 링크 트레이닝
CRC와 FEC 정정 불가 오류 = 0프레임을 하나 잃을 때마다 큐가 멈춤카운터가 조금이라도 증가하면 알림
Rx 파워가 마진을 두고 윈도우 안에 위치한계 상태의 광 모듈은 온도 변화에 따라 오류가 몰아서 발생Rx 파워와 링크 버짓
속도/듀플렉스/AN 일치DAC는 양쪽 끝 모두 AN + 링크 트레이닝 필요구리와 DAC
케이블 길이가 헤드룸 가정 범위 안헤드룸은 전송 중인 바이트 양으로 계산됨랙 내부는 DAC, 열 내부는 SR/AOC, 실 사이는 DR/LR 선호
NIC와 스위치가 식별 정보를 허용거부된 광 모듈은 링크 불가 또는 저속으로 대체벤더 락

모니터링 체크리스트

  • 포트별: 우선순위별 pause 프레임 송/수신, ECN 마크, 클래스별 드롭, CRC, FEC 정정/정정 불가, 링크 플래핑.
  • NIC별: CNP 송/수신, 재전송, 순서 어긋남, 타임아웃.
  • 광 모듈별: Rx/Tx 파워와 온도 추이(모니터링).
  • 스토리지의 테일 레이턴시 급증을 위 항목들과 연관 지어 살펴보십시오 — 어레이보다 물리 계층이 원인인 경우가 더 많습니다.

CodingBox에서

무손실 패브릭도 평범한 광 모듈로 만들어지며, 다만 더 높은 기준으로 관리될 뿐입니다. 벤치에서의 입고 검사 — 식별 정보, 체크섬, 표준값 대비 실시간 DDM, 기준값 저장 — 이 링크 하나의 결함이 애플리케이션의 지연 SLA를 무너뜨리는 패브릭에서 한계 상태의 모듈을 걸러내는 방법입니다(Check transceiver, DDM).

PFC와 ECN이 다른 포워딩 메커니즘 사이에서 어떤 위치를 차지하는지, 물리 계층 오류가 그 안에서 어떻게 드러나는지: 포워딩 기초.


이 문서에서 부정확한 내용이나 오류를 발견하면 해당 부분을 선택하고 Ctrl+Enter를 눌러 해 주세요.