티스토리 뷰

1) Ubuntu 설치

차후 유지/보수를 위해 GUI가 지원되는 버전을 설치하거나 서버 버젼 설치하여도 무방함.

 

2) SSH 설정

SSH 설치

sudo apt-get update
sudo apt-get install ssh
sudo service ssh start

 

SSH가 제대로 실행 중인지 확인.

sudo service ssh status

 

서버 부팅시 SSH 자동실행 등록

sudo systemctl enable ssh.service

 

3) Nvidia Driver 설치 - https://codechacha.com/ko/install-nvidia-driver-ubuntu/

다음을 입력하고 recommend 된 드라이버를 확인

sudo ubuntu-drivers devices

 

해당 드라이버 설치

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-cache search nvidia | grep [드라이버 이름]
sudo apt-get install [드라이버 이름]

 

리부트 진행

sudo reboot

 

드라이버 설치 확인 (GPU 사용을 출력하면 정상 설치)

nvidia-smi

 

제거

드라이버 설치가 잘못되었거나 드라이버 버젼이 맞지 않아 재설치 할경우...

sudo apt-get --purge -y remove 'nvidia*'

 

4) CUDA Toolkit 설치

network 으로 설치 하거나 다운로드 받은 후 설치가 가능함.

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=debnetwork
https://hiseon.me/linux/ubuntu/cuda-install/

 

) 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

 

) runfile 설치

wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo sh cuda_10.2.89_440.33.01_linux.run

 

설치 확인

cat /usr/local/cuda/version.txt

 

CUDA 설치 이후 nvidia-smi가 실행되지 않는 경우, 서버 GUI에서 update-manager를 실행하여 프로그램을 업그레이드한다. (참고 - follower.tistroy.com/22).

 

CUDA 제거

CUDA 설치가 잘못되었거나 CUDA 버젼이 맞지 않아 재설치 할경우...

cd /usr/local/cuda/
sudo ./bin/cuda-uninstaller
sudo apt-get --purge -y remove 'cuda*'
sudo apt-get autoremove —purge cuda
cd /usr/local/
sudo rm -rf cuda*

 

5) 도커 설치 - https://subicura.com/2017/01/19/docker-guide-for-beginners-2.html

curl 설치

sudo apt-get update
sudo apt-get install curl

 

도커 설치

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

 

유저 권한 부여

sudo 명령 없이 docker 를 실행하도록 설정하는 기능으로 설정 후 재로그인 필요함.

sudo usermod -aG docker $USER

 

도커 설치 확인 (반응이 있고, 제대로 메시지를 띄운다면 정상 설치)

docker ps
service docker status

 

6) 도커 백업 및 복구

기존 설치된 서버에서 사용하던 docker 이미지 복사해서 사용하는 법.

Docker-Compose를 이용하여 이미지 생성하는 법은 별첨 참고.

) 백업

docker save -o rapids_docker.tar rapids_hangle_py37_ssh_image

 

) 복구

sudo docker load < rapids_docker.tar
docker images
docker run -v /etc/localtime:/etc/localtime:ro -p 2020:22 --name rapids_hangle_py37_ssh -td rapids_hangle_py37_ssh_image

 

7) nvidia-docker 설치

https://github.com/NVIDIA/nvidia-docker

https://jybaek.tistory.com/796

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
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 && sudo apt-get install -y nvidia-container-toolkit

 

도커 프로세스 종료 후 도커 서비스 실행

ps -ef | grep docker
sudo kill [실행 중인 도커 프로세스 ID]
sudo service docker start

또는

sudo service docker restart

 

8) docker-container-runtime 설치 - https://github.com/NVIDIA/nvidia-container-runtime

sudo apt-get install nvidia-container-runtime

sudo vi /etc/docker/daemon.json
{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

sudo pkill -SIGHUP dockerd
sudo service docker restart

 

9) 전체 과정 확인

CUDA 버전 확인

cat /usr/local/cuda/version.txt

 

도커 실행 확인

service docker status
sudo service docker restart
nvidia-docker 확인 (nvidia-smi와 같은 출력을 보이면 성공)
docker run --runtime nvidia nvidia/cuda:9.0-base nvidia-smi

 

도커 실행 여부 확인 및 컨테이너 확인

docker ps
docker ps -a

 

컨테이너 커밋

docker commit rapids_hangle_py37_ssh rapids_hangle_py37_ssh_image
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)

 

포트 포워딩

로컬의 포트에 Docker 포트 연결하는것으로 로컬의 [호스트 포트]로 접속시 Docker의 22번 포트로 연결됨.

docker run -v /etc/localtime:/etc/localtime:ro -p [호스트 포트]:22 --name rapids_hangle_py37_ssh -td rapids_hangle_py37_ssh_image
docker rmi $(docker images –q)

 

포트변경(필요시)

Docker 생성 후 생성시의 파라메터 값을 변경하고자 하는 경우...

/var/lib/docker/containers/xxx 폴더의 config.v2.json, hostconfig.json 파일에서 포트 변경 후 재기동

 

10) 도커 컨테이너 내부 환경 구성(가상환경 실행 및 SSH 설정)

컨테이너 접속

docker exec -it rapids_hangle_py37_ssh /bin/bash

 

GPU 사용 가능 여부 확인

만약 정상적인 출력이 되지 않는다면 해당 container를 제거하고 이미지를 다시 run 해본다.

nvidia-smi

 

가상환경 실행

conda activate rapids

 

SSH 설치 - 2)번 참고

 

SSH root 원격 접속 허용처리

PermitRootLogin 옵션의 주석처리를 제거하고, yes 로 수정 및 저장

cd /etc/ssh

vi sshd_config
#PermitRootLogin prohibit-password
PermitRootLogin yes

service ssh restart

 

root 비밀번호 변경

다음을 실행 후 새로운 비밀번호 입력

passwd

 

11) 기타 패키지 설치

학습 프로그램 실행을 위한 python 패키지 설치

pip install tensorflow
pip install pymysql
pip install openpyxl
pip install paramiko
conda install gpyopt
...

 

시간 출력 확인 (현재 시간과 일치하는지 확인)

date

UTC 로 나오는 경우 KST로 변경(asia → seoul)

sudo dpkg-reconfigure tzdata

'프로그램' 카테고리의 다른 글

Ubuntu에서 Docker를 이용한 GPU 개발환경설정  (0) 2020.09.29
스프링부트 소개  (0) 2020.03.02
MySQL, Maria DB 백업 쉘 스크립트  (0) 2020.03.02
우분투 한글 설치  (0) 2020.03.02
우분투 포트포워딩(rinetd)  (0) 2020.03.02
스프링부트 환경설정  (0) 2019.11.01
댓글
댓글쓰기 폼
공지사항
Total
82,734
Today
34
Yesterday
25
링크
«   2020/10   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함