HPC 환경이나 대규모 서버 클러스터를 운영하다 보면 여러 노드에 동일한 명령을 실행해야 하는 상황이 자주 발생한다.
이럴 때 한 대씩 SSH 접속해서 명령을 실행하면 시간이 많이 걸린다.
이 문제를 해결하기 위해 사용하는 도구가 pdsh (Parallel Distributed Shell) 이다.
pdsh란?
pdsh (Parallel Distributed Shell) 는 여러 서버에 동시에 명령을 실행할 수 있는 병렬 쉘 도구이다.
즉, 하나의 명령어를 여러 노드에 동시에 실행할 수 있다.
주로 다음과 같은 환경에서 많이 사용된다.
- HPC 클러스터
- GPU 서버 클러스터
- DGX / HGX 서버 환경
- 대규모 서버 관리 환경
예)
Head Node
│
├── node01
├── node02
├── node03
├── node04
└── node05
Head node에서 pdsh 명령을 실행하면 모든 노드에서 동시에 명령이 실행된다.
pdsh 기본 명령어 구조
pdsh의 기본 구조는 다음과 같다.
pdsh -w <노드목록> <명령어>
예)
pdsh -w node01,node02,node03 hostname
실행 결과
node01: node01
node02: node02
node03: node03
각 노드에서 실행된 결과가 동시에 출력된다.
노드 범위 지정
pdsh는 여러 노드를 간단하게 표현할 수 있다.
예를 들어 node01부터 node08까지 있다면 다음과 같이 작성한다.
pdsh -w node[01-08] hostname
출력 예시
node01: node01
node02: node02
node03: node03
node04: node04
node05: node05
node06: node06
node07: node07
node08: node08
대규모 클러스터 환경에서는 매우 유용하다.
pdsh 실사용 예시
1. 모든 노드 hostname 확인
pdsh -w node[01-08] hostname
2. GPU 상태 확인
GPU 서버 환경에서는 다음과 같이 사용할 수 있다.
pdsh -w node[01-08] nvidia-smi
모든 노드의 GPU 상태를 동시에 확인할 수 있다.
3. 서버 온도 확인
BMC 센서 온도를 확인하는 경우
pdsh -w sp[01-08] ipmitool sdr type Temperature
여러 서버의 온도 센서를 한 번에 확인할 수 있다.
pdsh -w sp[01-08] ipmitool sensor get TEMP_AMBIENT
서버 내부 공기 온도(ambient temperature)만 확인할 수 있다.
4. 디스크 상태 확인
pdsh -w node[01-08] df -h
모든 서버의 디스크 사용량을 동시에 확인할 수 있다.
5. 시스템 업타임 확인
pdsh -w node[01-08] uptime
pdsh 동작 방식
pdsh는 내부적으로 SSH 기반으로 동작한다.
즉 다음과 같은 방식이다.
Head Node
│
├─ ssh node01 command
├─ ssh node02 command
├─ ssh node03 command
└─ ssh node04 command
하지만 일반 SSH처럼 순차적으로 실행되는 것이 아니라
여러 노드에서 동시에 실행된다.
그래서 수십 ~ 수백 개 노드도 빠르게 관리할 수 있다.
pdsh 사용 조건
pdsh를 사용하기 위해서는 다음 조건이 필요하다.
1. SSH 접속 가능
각 노드에 SSH 접속이 가능해야 한다.
2. Passwordless SSH 설정
보통 다음과 같이 SSH key 기반 로그인 환경을 구성한다.
ssh-keygen
ssh-copy-id node01
그래야 pdsh 실행 시 패스워드 입력 없이 명령이 실행된다.
pdsh 설치
Ubuntu 기준
sudo apt install pdsh
설치 확인
pdsh --version
pdsh vs ssh 차이
| 구분 | ssh | pdsh |
| 실행 대상 | 한 대 서버 | 여러 서버 |
| 실행 방식 | 순차 실행 | 병렬 실행 |
| 서버 관리 | 비효율적 | 매우 효율적 |
예를 들어 ssh로 실행하면
ssh node01 hostname
ssh node02 hostname
ssh node03 hostname
pdsh는 한 줄로 가능하다.
pdsh -w node[01-03] hostname
'🔧 Engineering > 📁 GPU & Hardware' 카테고리의 다른 글
| NVIDIA UFM(Unified Fabric Manager) (0) | 2026.03.23 |
|---|---|
| [HGX B200] M.2 NVMe 장애 → 물리 교체 작업 정리 (0) | 2026.03.18 |
| RDMA 테스트 방법 정리 (InfiniBand / perftest) (0) | 2026.03.13 |
| RDMA(Remote Direct Memory Access) (0) | 2026.03.12 |
| Supermicro B200 PSU 교체 + fd test (0) | 2026.03.12 |