🔧 Engineering/📁 GPU & Hardware

pdsh (Parallel Distributed Shell 정리)

만두개 2026. 3. 13. 13:49
반응형
SMALL

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

 

반응형
LIST