
Slurm down* 와 down 차이 완벽 정리 🚀
그리고 down* 원인이 slurmd 데몬 중지였을 때 복구 방법까지
Slurm 클러스터를 운영하다 보면 sinfo 명령어에서 노드 상태가 down, down*, mix, alloc, idle 등으로 표시됩니다.
그중에서 운영자가 자주 헷갈리는 상태가 바로 아래 두 가지입니다.
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
gpu_part* up infinite 2 down* gpu-node-a[01-02]
gpu_part* up infinite 1 mix gpu-node-b01
gpu_part* up infinite 3 alloc gpu-node-c[01-03]
gpu_part* up infinite 63 down gpu-node-d[01-63]
여기서 중요한 질문은 이것입니다.
down* 와 down 은 무슨 차이일까? 🤔
1. 결론부터 정리 ✅
상태의미
| down | Slurm이 해당 노드를 DOWN 상태로 관리 중 |
| down* | DOWN 상태이면서 노드 응답이 없거나 Slurm이 상태를 정상 확인하지 못하는 상태 |
즉, 둘 다 작업을 받을 수 없는 DOWN 상태입니다.
하지만 down* 는 단순 DOWN보다 더 주의해서 봐야 합니다.
2. down 상태란? 🧊
down 은 Slurm이 해당 노드를 사용할 수 없는 상태로 판단했다는 뜻입니다.
예를 들어 다음과 같은 상황에서 발생할 수 있습니다.
- 관리자가 수동으로 DOWN 처리한 경우
- 장애 발생 후 Slurm이 노드를 DOWN으로 변경한 경우
- GPU, 메모리, 디스크, 네트워크 문제로 노드를 제외한 경우
- 기존 장애 사유가 남아 있어서 RESUME 되지 않은 경우
예시:
gpu_part* up infinite 63 down gpu-node-d[01-63]
이 경우 Slurm 입장에서는 해당 노드들이 명확하게 DOWN 상태로 등록되어 있는 것입니다.
3. down* 상태란? ⚠️
down* 에서 핵심은 뒤에 붙은 별표 * 입니다.
Slurm에서 상태 뒤에 * 가 붙는 경우는 보통 다음 의미를 가집니다.
Slurm controller가 해당 노드 상태를 정상적으로 확인하지 못함
또는 노드가 응답하지 않는 상태
즉, down* 는 단순히 DOWN인 것뿐 아니라, Slurm과 노드 간 통신 또는 데몬 상태에 문제가 있을 가능성이 큽니다.
예시:
gpu_part* up infinite 2 down* gpu-node-a[01-02]
이 뜻은 다음과 같습니다.
gpu-node-a01, gpu-node-a02 노드는 DOWN 상태이고,
Slurm controller가 해당 노드의 상태를 정상적으로 확인하지 못하고 있음
4. 실제 확인 결과: slurmd 데몬이 죽어 있었음 💥
이번 사례에서는 down* 상태인 노드를 확인해보니, 원인은 Slurm compute node 데몬인 slurmd가 죽어 있었던 것이었습니다.
Slurm 구조를 간단히 보면 다음과 같습니다.
| 구성요소 | 역할 |
| slurmctld | Slurm controller 데몬 |
| slurmd | 각 compute node에서 실행되는 Slurm 데몬 |
| sinfo | 노드 상태 확인 명령어 |
| scontrol | Slurm 상태 제어 명령어 |
compute node에서 slurmd가 죽으면 controller는 해당 노드와 정상 통신하지 못합니다.
그래서 해당 노드가 down* 로 표시될 수 있습니다.
5. down* 상태 확인 방법 🔍
먼저 Slurm controller 또는 관리 노드에서 상태를 확인합니다.
sinfo
특정 노드 상세 정보는 다음 명령어로 확인할 수 있습니다.
scontrol show node gpu-node-a01
중요하게 봐야 할 항목은 아래입니다.
NodeName=
State=
Reason=
BootTime=
SlurmdStartTime=
LastBusyTime=
특히 Reason 항목에 아래와 비슷한 메시지가 있을 수 있습니다.
Not responding
Node unexpectedly rebooted
Slurmd not responding
DOWN 사유만 모아서 보고 싶다면 다음 명령어를 사용합니다.
sinfo -R
조금 더 보기 좋게 출력하려면 다음처럼 사용할 수 있습니다.
sinfo -R -o "%20N %10T %E"
예시 출력:
NODELIST STATE REASON
gpu-node-a01 down* Not responding
gpu-node-a02 down* Slurmd not responding
6. compute node에서 slurmd 상태 확인 🛠️
down* 상태인 노드에 SSH 접속이 가능하다면, 해당 노드에서 slurmd 상태를 확인합니다.
ssh gpu-node-a01
접속 후 다음 명령어를 실행합니다.
systemctl status slurmd
또는 더 간단히 확인하려면:
systemctl is-active slurmd
정상이라면 다음처럼 나와야 합니다.
active
하지만 문제가 있는 경우 아래처럼 나올 수 있습니다.
inactive
failed
dead
이 경우 slurmd 데몬이 정상 동작하지 않는 상태입니다.
7. slurmd 데몬 살리는 명령어 🔥
slurmd 데몬이 죽어 있다면 compute node에서 다음 명령어로 재시작합니다.
sudo systemctl restart slurmd
재시작 후 상태를 확인합니다.
sudo systemctl status slurmd
정상 상태 예시:
Active: active (running)
간단히 active 여부만 확인하려면:
systemctl is-active slurmd
정상이라면:
active
8. slurmd 자동 시작 설정 확인 ⚙️
서버가 재부팅된 뒤에도 slurmd가 자동으로 올라와야 합니다.
자동 시작이 설정되어 있는지 확인합니다.
systemctl is-enabled slurmd
정상이라면:
enabled
만약 disabled 라면 자동 시작을 활성화합니다.
sudo systemctl enable slurmd
즉, 운영 관점에서는 아래 명령어 세트를 자주 사용합니다.
sudo systemctl restart slurmd
sudo systemctl enable slurmd
sudo systemctl status slurmd
9. Slurm controller에서 노드 RESUME 처리 🚀
slurmd 데몬을 살렸다고 해서 항상 자동으로 노드가 정상 상태로 돌아오는 것은 아닙니다.
Slurm에 DOWN 상태가 남아 있으면 controller에서 RESUME 처리를 해줘야 합니다.
단일 노드 복구:
sudo scontrol update NodeName=gpu-node-a01 State=RESUME
여러 노드 복구:
sudo scontrol update NodeName=gpu-node-a[01-02] State=RESUME
복구 후 상태 확인:
sinfo
또는 노드별 상세 확인:
sinfo -N -l | grep gpu-node-a01
정상적으로 복구되면 상태가 아래처럼 변경될 수 있습니다.
idle
idle*
mix
alloc
여기서 idle 은 작업을 받을 수 있는 정상 대기 상태입니다.
10. 운영용 빠른 복구 절차 요약 📌
down* 상태를 발견했다면 아래 순서로 확인하면 됩니다.
1단계: Slurm 상태 확인
sinfo
sinfo -R
2단계: 노드 상세 확인
scontrol show node gpu-node-a01
3단계: 노드 접속 확인
ping gpu-node-a01
ssh gpu-node-a01
4단계: slurmd 상태 확인
systemctl status slurmd
5단계: slurmd 재시작
sudo systemctl restart slurmd
sudo systemctl status slurmd
6단계: 자동 시작 설정
sudo systemctl enable slurmd
systemctl is-enabled slurmd
7단계: Slurm controller에서 RESUME
sudo scontrol update NodeName=gpu-node-a01 State=RESUME
8단계: 최종 확인
sinfo
sinfo -N -l | grep gpu-node-a01
11. 여러 노드 한 번에 점검하는 명령어 예시 🧰
여러 compute node에서 slurmd 상태를 빠르게 확인하려면 반복문을 사용할 수 있습니다.
for node in gpu-node-a01 gpu-node-a02; do
echo "===== $node ====="
ssh $node "hostname; systemctl is-active slurmd; systemctl is-enabled slurmd"
done
출력 예시:
===== gpu-node-a01 =====
gpu-node-a01
active
enabled
===== gpu-node-a02 =====
gpu-node-a02
inactive
enabled
위 결과에서 inactive 인 노드는 slurmd 재시작이 필요합니다.
12. 여러 노드 slurmd 재시작 예시 ⚡
여러 노드에서 한 번에 slurmd를 재시작하려면 다음처럼 사용할 수 있습니다.
for node in gpu-node-a01 gpu-node-a02; do
echo "===== Restart slurmd on $node ====="
ssh $node "sudo systemctl restart slurmd && systemctl is-active slurmd"
done
정상 출력 예시:
===== Restart slurmd on gpu-node-a01 =====
active
===== Restart slurmd on gpu-node-a02 =====
active
이후 controller에서 RESUME 처리합니다.
sudo scontrol update NodeName=gpu-node-a[01-02] State=RESUME
최종 확인:
sinfo
13. down* 발생 시 같이 확인하면 좋은 항목들 🧪
slurmd 재시작만으로 해결되지 않는 경우도 있습니다.
그럴 때는 아래 항목도 같이 확인해야 합니다.
SSH 접속 가능 여부
ssh gpu-node-a01
네트워크 통신 여부
ping gpu-node-a01
호스트명 확인
hostname
hostname -f
시간 동기화 확인
timedatectl
Munge 데몬 확인
systemctl status munge
Slurm은 인증에 munge를 사용하는 경우가 많기 때문에, munge가 죽어 있어도 Slurm 통신 문제가 발생할 수 있습니다.
재시작 명령어:
sudo systemctl restart munge
sudo systemctl status munge
slurmd 로그 확인
journalctl -u slurmd -n 100 --no-pager
실시간 로그 확인:
journalctl -u slurmd -f
14. 장애 원인 정리 📝
이번 사례의 핵심 원인은 다음과 같습니다.
Slurm에서 일부 노드가 down* 상태로 표시됨
↓
해당 노드 확인 결과 slurmd 데몬이 죽어 있었음
↓
compute node에서 slurmd 재시작
↓
controller에서 노드 RESUME 처리
↓
노드 상태 정상화
즉, down* 상태는 단순히 노드가 DOWN인 것만 의미하지 않습니다.
운영자는 반드시 다음을 같이 확인해야 합니다.
- 서버가 살아 있는지
- SSH 접속이 되는지
- slurmd 데몬이 살아 있는지
- munge 데몬이 살아 있는지
- Slurm controller에서 RESUME 처리가 필요한지
15. 한 줄 요약 ✅
down = Slurm이 노드를 DOWN 상태로 관리 중
down* = DOWN 상태이면서 Slurm controller가 노드 상태를 정상 확인하지 못하는 상태
이번 사례처럼 down* 의 원인이 slurmd 데몬 중지라면, compute node에서 slurmd를 재시작하고 controller에서 RESUME 처리하면 복구할 수 있습니다.
운영 순서는 다음처럼 기억하면 좋습니다.
sinfo 확인 → scontrol show node 확인 → slurmd 상태 확인 → slurmd 재시작 → State=RESUME → sinfo 재확인
Slurm 클러스터 운영에서는 down* 를 발견했을 때 노드 데몬 상태부터 확인하는 습관이 중요합니다. 🚀
'[GPUaaS] > SLURM' 카테고리의 다른 글
| [NCP & GPU & SLURM] 구축기 - 자주 터지는 실수 TOP 10 (0) | 2026.02.08 |
|---|---|
| [SLURM 직접 설치] NCP VM + Ubuntu 기준 !! (0) | 2026.02.08 |
| [SLURM] 잡 스크립트 (sbatch) 예제!! (0) | 2026.02.08 |
| [SLURM] GPU 서버를 효율적으로 나눠 쓰게 해주는 작업 관리자!! (0) | 2026.02.08 |
댓글