Port Counters | 포트 카운터
- 운영체제, 애플리케이션, 서비스 또는 드라이버가 얼마나 효율적으로 작동하는지 정보를 제공하는 데 사용
- 카운터 데이터(counter data)를 통해 시스템의 병목 현상을 분석
- 시스템 및 애플리케이션 성능을 최적화할 수 있음.
- 운영체제, 네트워크 및 장치는 카운터 데이터를 제공함.
- 이를 통해 사용자가 시스템 성능을 시각적으로 확인 가능함.
prefquery를 이용한 서버 포트 , 스위치 원격 포트 조회
# 아래의 명령어를 수행
- local on 인터페이스 디바이스 & 스위치 포트
- 포트 성능 카운터 조회
root # prefquery -x
Port Traffic Counter | 포트 트래픽 카운터
InfiniBand 네트워킁서 포트 트래픽 카운터는 포트별로 전송 및 수신된 데이터와 패킷수를 측정하는 데 사용됨.
# 주요 트래픽 카운터 설명
- XmtData : 해당 포트에 모든 VL을 통해 전송된 총 데이터 옥텟 수 (4로 나눈 값)
- RcvData : 해당 포트에 모든 VL을 통해 수신된 총 데이터 옥텟 수 (4로 나눈 값)
- XmtPkts : 해당 포트에서 모든 VL을 통해 전송된 패킷 수
- RcvPkts : 해당 포트에서 모든 VL을 통해 수신된 패킷 수
Error Counter | 에러 카운터
- 인피니밴드 네트워크에서 포트 오류(Error) 카운터는 네트워크 품질과 신뢰성을 측정하는 지표로 사용됨.
- 각 카운터 링크 오류, 패킷 손실, CRC 오류 등의 원인을 분석하는 데 도움이 된다.
# 주요 에러 카운터 설명
- SymbolErrors : 마이너 링크 오류의 총 개수
= 물리적 링크 오류 발생 횟수
- LinkRecovers : 포트 트레이닝 상태 머신이 링크 오류 복수를 성공적으로 완료한 횟수
- RcvError(Packet Level) : 포트에서 오류가 포함된 패킷을 수신한 총 개수
= 일반적으로 비트에러, 전송 오류, 신호 간섭으로 인해 발생
- XmtDiscards : 포트가 다운되거나 혼잡으로 인해 폐기된 아웃바운드 패킷 개수(일반적으로 HQQ* 시간 초과)
= 혼잡 발생 가능성이 있으므로, 스위치 또는 네트워크 대역폭 조정 필요
- PortRcvSwitchRelayErrors : 스위치가 패킷을 전달할 수 없어 폐기한 개수(루핑으로 인한 발생)
= 네트워크 구성 오류(LID / VL 테이블 확인 필요)
# 추가 에러 카운터
- LinkintegrityErrors
= 로컬 물리적 오류(LocalPhyErrors) 발생 횟수가 특정 임계 값을 초과한 횟수
= 링크 무결성 오류
= 케이블, 광모듈 문제, HCA 또는 스위치 포트 불량
- ExBufOverrunErrors
= 연속된 흐름 제어(Flow Control) 업데이트 기간 동안 1회 이상 오버런 오류가 발생한 횟수
= 포트 과부하 상태
= HCA 또는 SW가 버퍼를 충분히 확보하지 못한 경우
= 네트워크 병목 현상으로 인해 패킷이 정상적으로 처리되지 못하고 손실됨
- VL15 Dropped
= 포트의 리소스 부족(버퍼 부족)으로 인해 드롭된 VL15 관리 패킷의 개수
= SM와의 통신 문제
= 포트의 버퍼 부족 (buffer overflow)
= 과도한 VL15 패킷
Link Bit Error Rate(BER) 확인 방법
인피니밴드 네트워크에서 Bit Error Rate (BER)은 링크 품질을 평가흐는 중요한 지표이다. BER 값이 높으면 데이터 전송 오류, 패킷 손실, 네트워크 성능 저하 문제가 발생할 수 있다.
# 주요 BER 유형 설명
- RAW BER : FEC 적용 전 원시 비트 오류율
- EFFECTIVE BER : FEC 적용 후, PLR 없이 계산된 실제 BER
- Symbol BER : FEC + PLR 적용 후 최종 BER 값 (실제 네트워크에서 경험하는 오류율)
명령어 : ibdiagnet을 사용해서 BER 상태 조회
# BER 상태 조회 명령어
root # ibdiagnet -i mlx5_0 --get_phy_info
# BER 분석 파일 확인 명령어
root # cat /var/tmp/ibdiagnet2/ibdiagnet2.net_dump_ext
Cogestion-reated Counters | 혼잡 관련 카운터
인피니밴드 네트워크에서 네트워크 혼잡 상태를 분석하는 주요 카운터이다. 혼잡이 발생하면 데이터 전송이 지연되거나 패킷 손실이 발생할 수 있으므로, Xmitwait 및 XmtDiscards 값을 주의 깊게 모니터링 해야한다.
# 주요 혼잡 관련 카운터 설명
- XmtWait : 포트가 데이터를 전송할 준비가 되었지만, 크레딧 부족 또는 우선순위 조정 문제로 인해 전송되지 않은 Tick 수
- XmtDiscards : 포트가 다운되었거나 혼잡으로 인해 폐기된 총 패킷 수(HQQ* 시간 초과로 인해 발생)
- XmtPkts, RcvPkts : 해당 포트에서 전송(Xmt) 및 tntls(Rcv)된 총 데이터 패킷 수
Analyzing Congestion Using PM Counters | PM 카운터를 사용한 혼잡 분석 방법
1. pm 데이터 추출
- ibdiagnet 실행 후 csv 파일 확인
root # ibdiagnet2 -pm
2. ibdiagnet2.db_csv 파일에서 "PM_INFO" 데이터를 Excel로 복사
# 해당 명령어 수행
- 혼잡 분석에 필요한 데이터 필터링
- 출력된 데이터를 Excel 파일로 복사
root # cat /var/tmp/ibdiagnet2/ibdiagnet2.db_csv | grep "PM_INFO"
3. 혼잡 지수 (Congestion index 계산)
- 패킷이 HQQ에서 대기한 평균 Tick 수를 계산
# Congestion Index = XmitWait / XmitPackets
- XmitWait : 패킷이 전송되지 못하고 대기한 Tick 수
- XmitPackets : 전송된 패킷 개수
- congestion Index >= 10인 포트는 혼잡한 상태로 간주
4. 결과 분석 조치
# 혼잡 지수가 높은 포트 >= 10 : 병목현상 가능성 높음
# 혼잡 발생 시 조치 방법
- Adapting Routing 활성화
- HQQ time out 설정 조정
- 네트워크 부하 분산
- 고대역폭 링크 추가
Fabric Debug ibdiagnet and Counters | ibdiagnet 및 카운터를 활용한 디버깅
인피니밴드 네트워크에서 네트워크 오류를 식별하고 문제를 해결하는 과정에서 이 프로세스는 카운터를 초기화하고 일정 시간 동안 데이터를 수집한 후 , 임계값을 초과한 오류를 확인하고 문제를 해결하는 방식으로 진행된다.
# Fabric 디버깅 단계
1. 모든 카운터 초기화
명령어 : ibdiagnet -pc
설명 : 네트워크의 기존 모든 성능 및 오류 카운터를 초기화 한다.
root # ibdiagnet -pc
2. 일정 시간 대기 (30 ~ 60)
# 명령어 : sleep 3600
# 설명- 인피니밴드 네트워크에서 정상적인 트래픽이 흐르도록 30 ~ 60분 대기- MPI 트래픽 실행 시 네트워크 부하 테스트 가능
root # sleep 3600
3. 오류 발생 여부 확인# 명령어 : ibdiagnet -ls 50 -lw4x -P all=1# 설명- 오류가 50개 이상 발생한 링크를 분석- -lw4x : 오류 데이터 분석 시 4배 확장된 정보를 표시
- -P all=1 : 모든 포트에서 성능 카운터를 수집
root # ibdiagnet -ls 50 -lw4x -P all=1
4. 문제 해결(문제가 있는 링크 수정)
- 오류가 발생한 링크에 대해 다음 조치 수행
- 케이블 재장착 또는 교체
- 스위치 포트 변경 또는 HCA 교체
- 펌웨어 업데이트 확인 (mlxfwmanager 사용)
5. 다시 카운터 초기화 후 반복
6. 추가 옵션(--pm_pause_time)
# 명령어 : ibdiagnet -ls 50 -lw4x -P all=1 --pm_pause+time 600
# 설명
- --pm_pause_time 600 : PM(performance monitor) 카운터 수집 시 600초(10분) 동안 네트워크 부하를 낮추고 측정
- 네트워크 부하가 높은 경우, 카운터 수집을 조정하여 분석 정확도를 높일 수 있다.
'Network > NVIDIA' 카테고리의 다른 글
[NVIDIA] 수입검사 (0) | 2025.04.30 |
---|---|
[NVIDIA] HCA 펌웨어 업그레이드 (0) | 2025.04.10 |
[NVIDIA] OFED (0) | 2025.04.09 |
[NVIDIA] Leaf-Spine 토폴로지 및 라우팅 알고리즘 (0) | 2025.04.03 |
[NVIDIA] InfiniBand - Running SM(서버 , 스위치) (0) | 2025.04.03 |