GPU 서버 재설치 프로세스

홍성우·2020년 4월 17일
0

OS 설치

(1) USB Drive를 꽂은 상태로 BIOS Boot option을 들어가 USB로 바꿔준다.

(2) 포맷 후 OS 설치

  • repo mirror를 카카오 mirror로 바꾸기 (다운로드 속도 향상 효과)
  • /etc/apt/sources.list에 기본 mirror 주소가 있고, 이를 변경.
$ sudo vi /etc/apt/sources.list
:%s/kr.archive.ubuntu.com/mirror.kakao.com

이후 apt-get update을 통해 적용.

네트워크 (고정 IP 설정)

vim /etc/netplan/*.yaml

#renderer 밑에

ethernets:
	enp6s0: #이부분은 네트워크 어댑터 포트명
      dhcp6: no
      addresses: [원하는 IP/24]
      gateway4: 192.168.197.1
      nameservers:
              addresses: [8.8.8.8, 8.8.4.4]
#추가 후 :wq

적용하기 위해서

$ sudo netplan apply

ip 확인하려면 net-tools 설치 이후 ifconfig으로 확인.

NVIDIA Driver 설치(여기가 뻘짓을 가장 많이 하는 구간인데, autoinstall을 통해 편하게 할 수 있다.

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
$ sudo ubuntu-drivers autoinstall
$ sudo reboot

# 만약 설치과정에서 기존 설치된 프로그램들과 충돌이 발생한다면 아래 명령어 설치.
$ sudo apt --purge autoremove nvidia*

CUDA toolkit 설치

NVIDIA에서 CUDA toolkit을 GPU 버전과 맞는 버전으로 검색.
deb(network)를 선택하여 밑에 있는 과정을 그대로 따라하면 된다.

$wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
$sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
$sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
$sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
$sudo apt-get update
$sudo apt-get -y install cuda

CUDA 설치 적용

export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH

위의 두 줄을 ~/.profile에 추가.

변경 사항 적용하기 위해서

source ~/.profile

NVIDIA Docker 설치

get.docker.com에 등록되어 있는 스크립트를 바로 로컬에서 실행하는데, 이 스크립트는 기본적으로 docker-ce(Community Edition) 레포지토리를 가르키고 있기 때문에 바로 실행시켜주면됨.

curl -fsSL https://get.docker.com/ | sudo sh

Docker 설치되면 nvidia-docker 설치.

# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker

# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:10.2-base nvidia-smi

위의 코드 해서 nvidia-smi 창이 뜨게 된다면 NVIDIA Docker 설치 완료.

우분투 기초세팅

이제 GPU 서버 완료가 되었으니, 우분투에서 사용자 만들기 및 사용자 권한 내리기에 대해서 알아보겠다.

사용자 만들기

$sudo adduser <ID>

도커 권한 내려주기

$sudo usermod -aG docker <ID>

디렉토리 권한 전부주기

$sudo chmod -R a+rws [디렉토리]

끝.

3개의 댓글

comment-user-thumbnail
2020년 4월 17일

쉘스크립트 버전도 만들어주세용

답글 달기
comment-user-thumbnail
2020년 4월 20일

root@아이디:
/home/아이디# docker run --runtime=nvidia --rm nvidia/cuda:10.2-base nvidia-smi
docker: Error response from daemon: Unknown runtime specified nvidia.
See 'docker run --help'.

nvidia docker 설치 시 맨 마지막 부분에서 이와 같은 에러가 발생합니다.

에러를 수정하기 위하여,

sudo systemctl restart docker
명령을 사용하였습니다.

참고 링크 : https://github.com/NVIDIA/nvidia-docker/issues/838

답글 달기
comment-user-thumbnail
2020년 4월 21일

docker 설치 시,
curl -fsSL https://get.docker.com/ | sudo sh

이 명령어 실행 했을 때 에러가 나서
root@아이디:/home/아이디# curl -fsSL https://get.docker/com | sudo sh
curl: (7) Failed to connect to get.docker port 443: 연결이 거부됨

< curl -fsSL https://get.docker.com | sudo sh >
https://get.docker.com/ 에서 https://get.docker.com 으로 /(슬래시) 하나 빼고 진행하니까
설치가 되었습니다.

답글 달기