본문 바로가기
[GPUaaS]/SLURM

[NCP & GPU & SLURM] 구축기 - 자주 터지는 실수 TOP 10

by METAVERSE STORY 2026. 2. 8.
반응형

 

 

 


✅ NCP 환경에서 자주 터지는 실수 TOP 10

기준: NCP VM + GPU + SLURM 직접 구축


🔴 1️⃣ /etc/hosts 설정 안 맞음 (가장 흔함)

증상

  • sinfo → 노드가 DOWN
  • slurmd는 떠 있는데 연결 안 됨

원인

  • hostname ↔ IP 매핑 불일치
  • master에서 보는 이름과 compute에서 보는 이름 다름

해결

 
 
 
 
Shell
 
# 모든 노드에서 동일하게
cat /etc/hosts
더 많은 선 표시
 
 
 
 
Plain Text
 
10.0.0.10 master
10.0.0.11 compute1
10.0.0.12 compute2
더 많은 선 표시

모든 노드에서 완전히 동일해야 함


🔴 2️⃣ munge 키가 서로 다름

증상

  • SLURM 데몬은 뜨는데 노드가 인증 실패
  • 로그에 Authentication error

원인

  • munge.key를 각자 생성함 ❌

정답

Master에서 1번만 생성 → 전 노드 복사

 
 
 
 
Shell
 
munge -n | unmunge
더 많은 선 표시

이게 모든 노드에서 같은 결과 나와야 정상


🔴 3️⃣ 시간 동기화 안 됨 (의외로 많음)

증상

  • munge 인증 실패
  • SLURM 통신 오류

원인

  • VM 생성 시간 다름
  • NTP 미설정

해결 (모든 노드)

 
 
 
 
Shell
 
sudo apt install -y chrony
sudo systemctl enable chrony
sudo systemctl restart chrony
더 많은 선 표시

확인:

 
 
 
 
Shell
 
timedatectl
더 많은 선 표시

🔴 4️⃣ 방화벽 / 보안 그룹 포트 미개방

필수 포트

용도포트
slurmctld 6817
slurmd 6818
munge 내부

증상

  • slurmd는 떠 있는데 master에서 안 보임

NCP 보안 그룹에서 반드시 허용


🔴 5️⃣ CPU / 메모리 값을 실제보다 크게 씀

 
 
 
 
Apache Config
 
NodeName=compute1 CPUs=32 RealMemory=128000
더 많은 선 표시

❌ 실제 서버:

  • CPU 16
  • 메모리 64GB

증상

  • 잡이 영원히 Pending

실제 값보다 작게 쓰는 건 OK, 크게 쓰면 ❌


🔴 6️⃣ GPU는 있는데 SLURM에 GPU 설정 안 함

증상

  • nvidia-smi는 보임
  • #SBATCH --gres=gpu:1 → Pending

원인

  • Gres=gpu:X 없음
  • gres.conf 없음

👉 GPU는 SLURM에 “등록”해야만 사용 가능

(이건 아래 ECC 다음 단계랑 같이 연결됨)


🔴 7️⃣ SLURM 데몬 재시작 안 함

증상

  • 설정 바꿨는데 반영 안 됨

정답

 
 
 
 
Shell
 
# Master
sudo systemctl restart slurmctld
 
# Compute
sudo systemctl restart slurmd
더 많은 선 표시

✅ slurm.conf 수정 후 항상 재시작


🔴 8️⃣ compute 노드에 slurmctld 띄움 ❌

올바른 구조

  • Master: slurmctld
  • Compute: slurmd

❌ 둘 다 띄우면 충돌


🔴 9️⃣ NVLink / IB 있다고 가정함

현실

  • NCP 환경은 IB 없는 경우 많음
  • NCCL이 자동으로 잘못된 인터페이스 선택

결과

  • 멀티 GPU / 멀티 노드 학습 실패

✅ 해결

 
 
 
 
Shell
 
export NCCL_SOCKET_IFNAME=eth0
export GLOO_SOCKET_IFNAME=eth0
더 많은 선 표시

🔴 🔟 ECC 관련 오해 (질문 주신 핵심)

“ECC 설정은 안 해?”

👉 결론부터 말하면:

✅ NCP GPU 환경에서는

ECC는 대부분 이미 켜져 있거나, 사용자가 건드릴 필요가 없습니다.


✅ ECC란 무엇인가? (초보자용)

ECC (Error Correcting Code)
→ GPU 메모리 오류를 자동으로 감지·수정

왜 중요한가?

  • 대규모 학습
  • 장시간 학습
  • 멀티 GPU

메모리 에러 = 학습 결과 망가짐


✅ ECC, 왜 직접 설정 안 하나?

이유 1️⃣

NCP에서 제공하는 GPU VM은

  • 대부분 ECC ON 상태로 제공
  • 또는 BIOS/펌웨어 레벨에서 고정

이유 2️⃣

ECC를 끄면:

  • 성능은 약간 좋아질 수 있음
  • ❌ 안정성 급락
  • ❌ 클라우드 환경에서 권장 ❌

✅ ECC 상태 확인 방법 (읽기 전용)

 
 
 
 
Shell
 
nvidia-smi -q | grep -i ecc
더 많은 선 표시

예:

ECC Mode
    Current                 : Enabled
    Pending                 : Enabled

✅ 이러면 아무것도 안 해도 됨


❌ ECC를 직접 만지는 경우 (권장 ❌)

 
 
 
 
Shell
 
sudo nvidia-smi -e 0 # ECC 끄기 (비추천)
sudo reboot
더 많은 선 표시

⚠️ NCP에서는

  • 권한 제한으로 안 되거나
  • 재부팅 시 원복되거나
  • 운영 정책 위반 가능

👉 초보자 + 운영 환경에서는 절대 권장 안 함


✅ SLURM + ECC의 실제 관계

  • SLURM ✅ ECC ❌ 직접 관계 없음
  • 하지만:
    • ECC 에러 → GPU fault
    • GPU fault → 노드 drain
    • SLURM 잡 실패

👉 그래서 ECC는 “안 만지는 게 정답”


✅ 한 장 요약 (현업 관점)

✅ NCP + SLURM 초보자 체크리스트

  • /etc/hosts 완전 동일
  • munge.key 하나만 생성
  • 시간 동기화
  • 보안 그룹 포트 개방
  • CPU/메모리 실제 값 이하
  • GPU GRES 설정
  • NCCL 인터페이스 명시
  • ECC 건드리지 않기

 

 

 

반응형

댓글