반응형

1. 기존 Slurm 제거

Ubuntu 20.04의 기본 패키지 저장소에는 매우 구버전(예: Slurm 19.04)의 Slurm이 포함되어 있으므로, 최신 버전을 직접 설치해야 합니다. 먼저 기존 Slurm을 제거합니다.

sudo systemctl stop slurmctld slurmd
sudo apt-get remove --purge slurm-wlm

기존 설정 파일을 백업합니다.

sudo mv /etc/slurm-llnl /etc/slurm-llnl.bak

2. 의존성 패키지 설치

Slurm을 빌드하려면 여러 라이브러리가 필요하므로 이를 먼저 설치합니다.

sudo apt-get update
sudo apt-get install -y build-essential libssl-dev libmysqlclient-dev \
    libpam0g-dev libnuma-dev libhwloc-dev libreadline-dev \
    libncurses-dev libmunge-dev munge libmunge2 \
    libcurl4-openssl-dev libjson-c-dev man2html

3. Slurm 최신 버전 다운로드 및 빌드

최신 버전의 Slurm을 공식 웹사이트에서 다운로드하여 빌드합니다.

./configure --prefix=/usr/local/slurm
make -j$(nproc)
sudo make install

Prefix 설정 이유

기존 Slurm이 완전히 삭제되지 않았을 가능성이 있으므로, /usr/local/slurm 경로에 별도로 설치하여 충돌을 방지합니다. 또한, 향후 삭제 및 관리가 편리해집니다.

4. 설정 파일 복사 및 적용

Slurm이 실행될 때 필요한 설정 파일을 이동합니다.

sudo mkdir -p /usr/local/slurm/etc
sudo cp /etc/slurm-llnl.bak/* /usr/local/slurm/etc/

5. Slurm 데몬 실행 확인

설정이 올바른지 확인하기 위해 수동으로 실행해봅니다.

/usr/local/slurm/sbin/slurmd -D

별다른 오류 없이 실행되면, systemd 서비스를 수정하여 Slurm 데몬을 자동으로 실행하도록 설정합니다.

6. systemd 서비스 설정 수정

기존 Slurm 데몬 설정 파일을 수정하여 새로운 Slurm 실행 경로를 반영합니다.

sudo nano /lib/systemd/system/slurmd.service

ExecStart 항목을 아래와 같이 수정합니다.

ExecStart=/usr/local/slurm/sbin/slurmd

7. 환경 변수 설정

Slurm의 바이너리 및 라이브러리 경로를 모든 사용자에게 적용하기 위해 /etc/profile을 수정합니다.

echo 'export PATH=/usr/local/slurm/bin:$PATH' | sudo tee -a /etc/profile
echo 'export LD_LIBRARY_PATH=/usr/local/slurm/lib:$LD_LIBRARY_PATH' | sudo tee -a /etc/profile
source /etc/profile

8. Slurm 서비스 재시작 및 확인

설정을 적용하고 Slurm 데몬을 다시 시작합니다.

sudo systemctl daemon-reload
sudo systemctl restart slurmd
sudo systemctl restart slurmctld

이제 Slurm이 정상적으로 실행되는지 확인합니다.

sinfo
squeue

위 명령어에서 오류가 발생하지 않는다면, Slurm이 정상적으로 설치 및 동작하는 것입니다.

반응형

+ Recent posts