
GPU 서버와 스토리지 사이의 고속 통신 장애란?
GPU 서버를 운영하다 보면 커널 로그나 모니터링 알람에서 아래와 같은 메시지를 볼 수 있습니다.
Lustre RDMA failure
LustreError
LNetError
Request sent has timed out
connection lost to ... @o2ib
처음 보면 굉장히 어렵게 느껴지지만, 핵심은 간단합니다.
Lustre RDMA failure는 GPU 서버와 Lustre 스토리지 사이의 고속 네트워크 통신이 실패했다는 의미입니다.
즉, 서버가 스토리지에 파일을 읽거나 쓰려고 했는데, 그 과정에서 사용하는 InfiniBand / RDMA 네트워크 경로에 문제가 발생한 상태입니다.
1. Lustre가 뭐야? 📦
Lustre는 대규모 GPU 클러스터나 HPC 환경에서 사용하는 고성능 병렬 파일 시스템입니다.
쉽게 말하면 여러 대의 GPU 서버가 하나의 대용량 스토리지를 동시에 빠르게 사용할 수 있게 해주는 시스템입니다.
예를 들어 GPU 서버에서 아래 경로가 Lustre일 수 있습니다.
/mnt/lustre
/mnt/ddn
/home/user/data
/mnt/a2wbl
일반적인 로컬 디스크와 비교하면 아래와 같습니다.
| 구분 | 설명 |
| 로컬 디스크 | 서버 내부에 직접 장착된 디스크 |
| NFS | 여러 서버가 공유하는 일반 네트워크 스토리지 |
| Lustre | 수십~수천 대 서버가 동시에 사용하는 고성능 병렬 스토리지 |
GPU 학습 환경에서는 데이터셋, 체크포인트, 로그 파일 등을 Lustre에 저장하는 경우가 많습니다.
2. RDMA가 뭐야? ⚡
RDMA는 Remote Direct Memory Access의 약자입니다.
쉽게 말하면,
서버와 서버가 데이터를 주고받을 때 CPU 개입을 줄이고, 메모리 간에 빠르게 직접 전송하는 기술입니다.
일반 네트워크 통신은 보통 CPU와 운영체제 처리가 많이 들어갑니다.
애플리케이션
↓
운영체제
↓
CPU 처리
↓
네트워크 카드
↓
상대 서버
하지만 RDMA는 훨씬 빠른 방식으로 통신합니다.
서버 A 메모리
↓
RDMA / InfiniBand
↓
서버 B 메모리
그래서 AI 학습, GPU 클러스터, 대용량 스토리지 환경에서 RDMA를 많이 사용합니다.
3. @o2ib는 무슨 뜻이야? 🌐
Lustre 로그나 마운트 정보에서 아래처럼 보일 수 있습니다.
100.100.100.105@o2ib:/a2wbl /mnt/a2wbl lustre
여기서 중요한 부분은 이것입니다.
@o2ib
o2ib는 Lustre가 InfiniBand/RDMA 네트워크를 통해 통신한다는 뜻입니다.
| 용어 | 의미 |
| o2ib | Lustre over InfiniBand |
| InfiniBand | GPU/HPC 환경에서 쓰는 초고속 네트워크 |
| RDMA | 메모리 간 직접 전송 기술 |
| Lustre RDMA | Lustre 스토리지를 RDMA 방식으로 사용하는 구조 |
즉, @o2ib가 보이면 Lustre가 일반 TCP 네트워크가 아니라 InfiniBand 기반 고속 네트워크를 사용하고 있다고 보면 됩니다.
4. Lustre RDMA Failure란? 🚨
핵심 의미
Lustre RDMA failure는 아래 상황을 의미합니다.
GPU 서버 ↔ Lustre 스토리지 서버 간 RDMA 통신 실패
조금 더 쉽게 말하면,
GPU 서버가 Lustre 스토리지에 파일을 읽거나 쓰려고 했는데, 그 통신 경로인 InfiniBand/RDMA에서 문제가 발생한 것입니다.
5. 정상 구조를 그림으로 보면 🧭
정상적인 Lustre 통신 흐름은 아래와 같습니다.
GPU 서버
↓
Lustre Client
↓
LNet
↓
o2ib / RDMA
↓
InfiniBand 스위치
↓
DDN / Lustre Storage Server
↓
MDT / OST
여기서 Lustre RDMA failure가 발생하면 주로 아래 구간을 의심합니다.
GPU 서버
↓
Lustre Client
↓
LNet
↓
o2ib / RDMA ❌ 문제 발생 가능
↓
InfiniBand 스위치
↓
Lustre Storage Server
즉, 단순히 “파일시스템 오류”라기보다는 스토리지 통신 네트워크 장애에 가깝습니다.
6. MDT와 OST는 뭐야? 🧱
Lustre 로그를 보면 이런 이름이 나올 수 있습니다.
MDT0006
OST0012
a2wbl02-MDT0006-mdc
초보자 입장에서 가장 쉽게 구분하면 아래와 같습니다.
| 항목 | 역할 | 문제가 생기면 |
| MDT | 파일 이름, 디렉터리, 권한 정보 관리 | ls, stat, mkdir, rm이 느려짐 |
| OST | 실제 파일 데이터 저장 | 파일 읽기/쓰기 속도 저하, I/O error |
| MGS | Lustre 설정 정보 관리 | 마운트나 설정 처리 문제 가능 |
| Client | GPU 서버 | 사용자가 실제로 접속하는 서버 |
예를 들어 로그에 MDT0006이 반복된다면, 실제 데이터보다 파일 목록 조회나 디렉터리 접근 쪽 문제일 수 있습니다.
반대로 OST가 반복된다면 파일 읽기/쓰기 데이터 경로 문제일 수 있습니다.
7. 자주 보이는 로그와 의미 🧾
1) Request sent has timed out
ptlrpc_expire_one_request()
Request sent has timed out
의미는 다음과 같습니다.
Lustre 클라이언트가 스토리지 서버에 요청을 보냈지만, 정해진 시간 안에 응답을 받지 못했습니다.
쉽게 말하면,
“스토리지야, 파일 정보 좀 줘”
→ 응답 없음
→ timeout 발생
2) connection lost
connection lost to 100.100.100.105@o2ib
의미는 다음과 같습니다.
InfiniBand/RDMA 경로로 연결된 Lustre 서버와의 연결이 끊겼습니다.
이 경우 네트워크, 스위치, HCA 카드, 스토리지 서버 상태를 함께 봐야 합니다.
3) rc = -5
LustreError: rc = -5
-5는 일반적으로 Linux에서 I/O error를 의미합니다.
쉽게 말하면,
파일시스템 또는 스토리지 통신 처리 중 입출력 오류가 발생했다는 뜻입니다.
4) LNetError
LNetError
LNet은 Lustre의 네트워크 계층입니다.
Lustre 구조를 단순화하면 아래와 같습니다.
Lustre
↓
LNet
↓
o2ib
↓
InfiniBand / RDMA
그래서 LNetError가 나오면 Lustre 네트워크 계층 문제를 의심해야 합니다.
8. 왜 발생할까? 주요 원인 🔍
1) InfiniBand 포트 문제
InfiniBand 포트가 정상적으로 올라와 있지 않으면 Lustre RDMA 통신이 실패할 수 있습니다.
확인 명령어:
ibstat
정상 상태는 보통 아래처럼 보입니다.
State: Active
Physical state: LinkUp
비정상 상태는 아래처럼 보일 수 있습니다.
State: Down
Physical state: Polling
2) Mellanox / NVIDIA HCA 문제
InfiniBand 카드를 보통 HCA라고 부릅니다.
HCA 드라이버나 펌웨어에 문제가 있으면 RDMA 통신이 실패할 수 있습니다.
확인 명령어:
dmesg -T | grep -i mlx5
주의해서 볼 키워드입니다.
error
timeout
reset
port error
async error
3) InfiniBand 스위치 문제
여러 GPU 서버에서 동시에 Lustre RDMA failure가 발생했다면 단일 서버 문제가 아닐 수 있습니다.
이 경우는 아래 공통 구간을 의심합니다.
GPU 서버 여러 대
↓
InfiniBand 스위치
↓
Lustre / DDN 스토리지
특히 같은 시간대에 여러 노드에서 connection lost, timeout, LNetError가 발생하면 IB Fabric 또는 스토리지 공통 장애 가능성이 큽니다.
4) Lustre 서버 또는 DDN 스토리지 응답 지연
스토리지 서버의 MDT나 OST가 느려지면 클라이언트 입장에서는 timeout이 발생할 수 있습니다.
즉, 네트워크 장비가 정상이어도 스토리지 서버가 바쁘거나 문제가 있으면 RDMA failure처럼 보일 수 있습니다.
5) 대량 I/O로 인한 부하
많은 학습 작업이 동시에 대용량 데이터를 읽거나 쓰면 Lustre가 과부하될 수 있습니다.
예를 들어:
- 대규모 데이터셋 동시 로딩
- 많은 노드에서 checkpoint 동시 저장
- 수천~수만 개 작은 파일 동시 접근
- 여러 사용자의 대량 ls, find, du 실행
이런 상황에서는 MDT/OST 응답이 느려지고 timeout이 발생할 수 있습니다.
9. 장애가 발생하면 어떤 증상이 생길까? 💥
Lustre RDMA failure가 발생하면 사용자 입장에서는 아래 증상이 나타날 수 있습니다.
| 증상 | 설명 |
| ls 명령어가 멈춤 | 디렉터리 정보를 가져오지 못함 |
| df -h가 멈춤 | 마운트된 Lustre 응답 대기 |
| 파일 읽기/쓰기 실패 | 데이터 접근 불가 |
| Input/output error 발생 | I/O 처리 실패 |
| Notebook 멈춤 | /home, /mnt/ddn 접근 시 hang |
| 학습 작업 실패 | 데이터 로딩 또는 checkpoint 저장 실패 |
| Slurm Job stuck | 작업이 COMPLETING, DRAIN 등에 걸릴 수 있음 |
| NCCL timeout 연계 | 데이터 로딩 지연이 학습 통신 장애처럼 보일 수 있음 |
특히 Lustre 장애 시 아래 명령어도 멈출 수 있습니다.
ls /mnt/lustre
df -h
du -sh /mnt/lustre/*
find /mnt/lustre
그래서 점검할 때는 timeout을 붙이는 것이 안전합니다.
timeout 5 ls /mnt/lustre
timeout 5 df -h /mnt/lustre
10. 단일 노드 문제인지, 전체 장애인지 구분하는 법 🧪
Lustre RDMA failure에서 가장 중요한 것은 장애 범위 확인입니다.
단일 노드 문제 가능성
아래 상황이면 특정 GPU 서버 문제일 가능성이 큽니다.
| 조건 | 의미 |
| 특정 노드 1대에서만 발생 | 해당 서버 문제 가능 |
| 해당 노드만 ibstat 비정상 | IB 포트, 케이블, HCA 의심 |
| 해당 노드만 mlx5 에러 발생 | HCA 드라이버/펌웨어 문제 가능 |
| 재부팅 후 복구됨 | 로컬 드라이버나 커널 상태 문제 가능 |
이 경우 우선 해당 노드에서 확인합니다.
hostname
ibstat
ibdev2netdev
dmesg -T | grep -i mlx5
dmesg -T | egrep -i "lustre|lnet|o2ib|rdma|timeout"
여러 노드 공통 장애 가능성
아래 상황이면 공통 구간 문제일 가능성이 큽니다.
| 여러 노드에서 같은 시간대 발생 | 공통 네트워크/스토리지 문제 가능 |
| 같은 MDT/OST 대상 timeout 반복 | 특정 Lustre 타깃 문제 가능 |
| 같은 IP @o2ib 반복 | 특정 스토리지 서버 또는 경로 문제 가능 |
| 전체 노드에서 /mnt/lustre 지연 | Lustre/DDN 공통 장애 가능 |
이 경우 개별 노드를 계속 재부팅하기보다 InfiniBand Fabric, DDN/Lustre 서버, MDT/OST 상태를 먼저 봐야 합니다.
11. 바로 확인할 명령어 모음 ✅
1) Lustre 관련 로그 확인
dmesg -T | egrep -i "lustre|lnet|o2ib|rdma|ptlrpc|timeout|connection"
최근 1시간 로그를 볼 때:
journalctl -k --since "1 hour ago" | egrep -i "lustre|lnet|o2ib|rdma|ptlrpc|timeout|connection"
2) InfiniBand 포트 상태 확인
ibstat
정상 기준:
State: Active
Physical state: LinkUp
3) IB 디바이스와 OS 인터페이스 매핑
ibdev2netdev
예시:
mlx5_0 port 1 ==> ib0 (Up)
mlx5_1 port 1 ==> ib1 (Up)
4) Mellanox / NVIDIA HCA 로그 확인
dmesg -T | grep -i mlx5
추가로 에러만 필터링하려면:
dmesg -T | egrep -i "mlx5|error|timeout|reset|port"
5) Lustre 마운트 확인
mount | grep lustre
또는:
df -hT | grep lustre
장애 상황에서는 df가 멈출 수 있으므로 아래처럼 확인하는 것이 좋습니다.
timeout 5 df -hT | grep lustre
6) Lustre 디바이스 목록 확인
lctl dl
여기서 MDT, OST, MDC, OSC 정보를 확인할 수 있습니다.
7) Lustre NID ping 확인
로그에 아래처럼 대상이 보인다면:
100.100.100.105@o2ib
아래 명령으로 Lustre 네트워크 응답을 확인할 수 있습니다.
lctl ping 100.100.100.105@o2ib
응답이 없거나 timeout이면 Lustre LNet/RDMA 경로 문제 가능성이 큽니다.
12. 장애 분석 시 꼭 봐야 하는 5가지 🔎
1) 어느 노드에서 발생했는가?
hostname
단일 노드인지, 여러 노드인지 먼저 확인합니다.
2) 언제 발생했는가?
로그 시간대를 확인합니다.
Fri May 22 04:16:59 2026
여러 노드에서 같은 시간대라면 공통 장애 가능성이 높습니다.
3) MDT 문제인가, OST 문제인가?
MDT0006
OST0012
| MDT | 디렉터리 조회, 파일 생성/삭제, 권한 확인 |
| OST | 실제 파일 읽기/쓰기 |
| MGS | Lustre 설정, 마운트 관련 |
4) 같은 IP가 반복되는가?
예를 들어 아래 IP가 계속 반복된다면:
100.100.100.105@o2ib
해당 Lustre 서버 또는 그 경로를 집중적으로 확인해야 합니다.
5) 에러 키워드가 반복되는가?
아래 키워드가 반복되면 장애 가능성이 높습니다.
LustreError
LNetError
RDMA failure
connection lost
Request sent has timed out
rc = -5
o2ib
13. 운영자용 장애 판단 예시 🛠️
케이스 1. 특정 노드 한 대만 발생
특정 노드에서만 Lustre RDMA failure 발생
우선 의심할 것:
- 해당 노드 InfiniBand 포트
- HCA 카드 상태
- 케이블 또는 포트 불량
- mlx5 드라이버 문제
- 커널 모듈 상태
- 일시적인 노드 네트워크 hang
확인 명령어:
ibstat
ibdev2netdev
dmesg -T | grep -i mlx5
lctl ping <lustre-server>@o2ib
케이스 2. 여러 노드에서 동시에 발생
다수 노드에서 같은 시간대 Lustre RDMA failure 발생
우선 의심할 것:
- InfiniBand 스위치 장애
- IB Fabric 경로 문제
- Lustre 서버 장애
- DDN 스토리지 컨트롤러 문제
- 특정 MDT/OST 응답 지연
- 대량 I/O로 인한 스토리지 과부하
이 경우에는 개별 노드 재부팅보다 공통 구간 확인이 우선입니다.
14. 장애 보고용 문장 예시 📌
운영 보고서나 고객사 공유용으로는 아래처럼 정리할 수 있습니다.
Lustre RDMA failure는 GPU 노드와 Lustre 스토리지 간 o2ib/RDMA 통신 경로에서 발생한 통신 실패로 판단됩니다.
해당 로그는 Lustre 클라이언트가 MDT 또는 OST 서버로 요청을 전송했으나 지정 시간 내 응답을 받지 못하거나, LNet/RDMA 계층에서 연결이 불안정해 발생할 수 있습니다.
단일 노드에서만 발생한 경우 해당 노드의 InfiniBand HCA, 포트, 케이블, 드라이버 상태를 우선 확인해야 하며, 다수 노드에서 동일 시간대에 발생한 경우 InfiniBand Fabric 또는 DDN/Lustre 서버 측 공통 장애 가능성이 높습니다.
15. 초보자용 비유로 이해하기 🚗
Lustre RDMA 구조를 도로에 비유하면 쉽습니다.
GPU 서버 = 공장
Lustre 스토리지 = 대형 창고
InfiniBand/RDMA = 고속도로
Lustre 파일 요청 = 물건 배송 요청
정상 상황:
공장 → 고속도로 → 창고
빠르게 물건을 가져옴
장애 상황:
공장 → 고속도로 ❌ → 창고
중간 도로가 막히거나 끊겨서 물건을 못 가져옴
그래서 사용자는 이런 증상을 겪습니다.
파일 목록이 안 보임
파일 읽기가 느림
학습 작업이 멈춤
Notebook이 멈춤
I/O error 발생
즉, Lustre RDMA failure는 창고 자체가 사라진 것이라기보다, 창고로 가는 고속도로에 문제가 생긴 상황으로 이해하면 됩니다.
16. 핵심 요약 🧠
| 항목 | 설명 |
| 장애명 | Lustre RDMA failure |
| 의미 | Lustre 스토리지와 RDMA/InfiniBand 통신 실패 |
| 주요 경로 | GPU 서버 → LNet → o2ib → InfiniBand → Lustre 서버 |
| 관련 로그 | LustreError, LNetError, timeout, connection lost, rc=-5 |
| 단일 노드 원인 | IB 포트, HCA, 케이블, 드라이버 문제 |
| 다수 노드 원인 | IB 스위치, DDN/Lustre 서버, Fabric 문제 |
| 사용자 영향 | 파일 접근 지연, I/O error, 학습 중단, Notebook hang |
| 우선 확인 명령어 | ibstat, dmesg, lctl ping, lctl dl, mount |
마무리 ✅
Lustre RDMA failure는 단순한 파일 오류가 아니라, GPU 서버와 Lustre/DDN 스토리지 사이의 고속 네트워크 통신 장애로 보는 것이 좋습니다.
특히 로그에 아래 키워드가 함께 보이면 Lustre 네트워크/RDMA 경로 문제 가능성이 높습니다.
@o2ib
LNetError
RDMA failure
Request sent has timed out
connection lost
rc = -5
정리하면 다음과 같습니다.
한 노드에서만 발생하면 해당 노드의 InfiniBand/HCA/드라이버 문제를 먼저 의심하고, 여러 노드에서 동시에 발생하면 InfiniBand Fabric 또는 DDN/Lustre 스토리지 공통 장애를 우선 의심해야 합니다.
'[GPUaaS] > GPUmgt' 카테고리의 다른 글
| [GPU] KubeRay Operator란? 🚀 (2) | 2026.06.09 |
|---|---|
| [CUDA] NVIDIA GPU를 계산 작업에 사용할 수 있게 해주는 기술!! (1) | 2026.05.31 |
| [🚀GPU] VAST 스토리지 vs Lustre vs DDN 완전 정리 !! (0) | 2026.05.18 |
| [🚀 k9s 설치 방법] 실무 단축키 20개 완벽 가이드 (초보자용) (0) | 2026.04.29 |
| [k9s] Kubernetes를 터미널에서 쉽게 관리해주는 UI 도구 !! (0) | 2026.04.29 |
| [🚀 NVIDIA] NCCL, NVLink, InfiniBand 완벽 이해 (초보자용) (0) | 2026.04.29 |
| [🚀 GPU] Fabric Manager란 무엇인가? (1) | 2026.04.26 |
| [🚀 GPU] MLXP vs Run.ai vs Slurm 완전 정리 !! (1) | 2026.04.12 |
댓글