서버 컴퓨터 세팅 매뉴얼
0. Network 연결상태 확인 필수
네트워크 없으면 Ubuntu 설치 후 필수 라이브러리 설치 안됨
- CUDA, Nvidia 등등
서버환경은 SSD+HDD 저장소가 있는 컴퓨터
1. Ubuntu 설치
1.1. 부팅 디스크 만들기준비물
- USB (최소 4GB 이상)
- Ubuntu image download
1.2. 바이오스 모드 진입
재부팅할 때 Del
키 연타 후 바이오스에서 부팅 순서 1순위로 USB 설정
1.3. 우분투 install
Install Ubuntu
선택
나라 및 언어 선택
Normal installation
선택
Other options
둘다 선택
디스크 파티션 수동으로 설정하기 위해서 Something else
선택
1.3.1. Disk 파티션 나누기
/boot
파티션: Primary (위치: SSD, 크기: 1,000MB)EFI
파티션: Primary (위치: SSD, 크기: 512MB)/
(루트) 파티션: Primary (위치: SSD, 크기: 최소 20,480MB 이상)swap
파티션: Logical (위치: SSD, 크기: 램(RAM) 크기의 2배)/var
파티션: Logical (위치: HDD, 크기: 500,000MB 이상)- Docker image가 여기 저장되서 용량 많이 필요
/tmp
파티션: Logical (위치: HDD, 크기: 10,240MB 이상)/home
파티션: Logical (위치: HDD, 크기: HDD 용량 전체)/datasets
추가 데이터 파티션(SSD 남은 용량): Logical (위치: SSD, 크기: SSD 용량 전체)
OS에서 돌리기 무겁고 빨리 실행되길 원하는 프로그램들은 SSD 저장.
백업이나 용량이 큰 데이터, 또는 유동적이지 않은 데이터는 HDD 저장.
스샷을 못찍어서 다른 이미지로 대체 설명
SSD (1TB)
SDD 파티션의 /freespace
클릭 후 밑에 +
버튼 눌러서 아래의 공간에 할당 해주면됨
이미지에 표시된 용량이 글로 써둔 용량과 다르기 때문에 글로 써둔 용량으로 설정할것
- /boot (10000MB)
- EFI (10000MB)
이런식으로 파티션 설정
1.4. 재부팅
USB 뽑은 후 재부팅
2. Network 설정
2.1. SSH 세팅
# Terminal
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential openssh-server openssh-client
# sudo apt install openssh-server
# sudo apt install openssh-client
sudo apt install vim
Default ssh port 번호는 22번.
sshd_config
파일 수정
sudo vim /etc/ssh/sshd_config
sshd_config
파일의 #Port 22
부분을 Port [신청한 포트번호]
로 변경
...
Include /etc/ssh/sshd_config.d/*.conf
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
...
...
Include /etc/ssh/sshd_config.d/*.conf
Port [설정할 포트번호]
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
...
ssh 서비스 재시작
sudo service ssh restart
local 에서 ssh [host]@[IPaddr] -p[Portnum]
으로 접속 확인
2.5. Ubuntu 22.10에서 SSH 설정
22년11월2일 기준으로 22.10 버전에서는 안정화가 덜 된 건지 기존 방식으로 포트 변경이 안됨.
2.4. 과정을 다 거친 뒤 SSH listen 항목을 수동으로 수정해줘야함
sudo mkdir -p /etc/systemd/system/ssh.socket.d
sudo vim /etc/systemd/system/ssh.socket.d/listen.conf
listen.conf
파일 생성 후 아래 작성
[Socket]
ListenStream=[ Port 번호]
SSH 재시작
sudo service ssh reload
local 에서 ssh [host]@[IPaddr] -p[Portnum]
으로 접속 확인
3. Conda 설치(By Script)
cd /tmp
ls /tmp | grep anaconda
-
[펼치기]
anaconda.sh
아무것도 안뜨는 경우 펼쳐서 명령어 실행sudo apt update && sudo apt upgrade -y sudo apt install curl curl https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh --output anaconda.sh # 무결성 확인 sha256sum anaconda.sh
스크립트 파일 실행
sh anaconda.sh
설치 진행 시 이런 글이 나오면 계속 엔터
Welcome to Anaconda3 2021.11
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>
license term 나오면 [yes]
type
Do you approve the license terms? [yes|no]
이 화면 나오면 엔터
Anaconda3 will now be installed into this location:
/home/sammy/anaconda3
- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below
[/home/{Username}/anaconda3] >>>
Initialize 할껀지 물어보면 yes
...
installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
그 다음 bashrc
파일 초기화
source ~/.bashrc
conda create -n test python==3.8
3.1 만약에 conda 명령어가 실행이 안될 시
(conda init 하면 자동생성됨)
Initialize 할 때 환경변수 등록이 안된거.
아래 명령어를 ~/.bashrc
에 붙여넣고
sudo vim ~/.bashrc
{Username} 본인껄로 바꿔야함
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/{Username}/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/{Username}/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/{Username}/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/{Username}/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
다시 source ~/.bashrc
실행
4. Cuda toolkit 설치
예시 : (https://towardsdatascience.com/installing-multiple-cuda-cudnn-versions-in-ubuntu-fcb6aa5194e2)
Nvidia-driver는 앞의 과정을 정상적으로 거쳤다면 자동으로 설치 되어있음.
Cuda toolkit archive 에서 버전 선택 후 매뉴얼 따라 설치(11.8 쓰면 됨)
CUDA11.8 예시sudo vim ~/.bashrc
- 마지막 sudo apt-get -y install cuda-[version] 입력하면 해당 버전으로 설치
- ex) sudo apt-get -y install cuda-11.8
설치 후 ~/.bashrc
파일에 cuda 환경변수 등록
{CUDA_version} 본인이 설치한 버전으로 바꿔줘야함 예시 : 11.8, 11.7 등등
sudo vim ~/.bashrc # 입력 후
# >>> cuda 11.7 >>>
export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# << cuda 11.7 <<
# >>> cuda 12.0 >>>
export PATH=/usr/local/cuda-12.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# <<< cuda 12.0 <<<
등록 후 source ~/.bashrc
명령어로 bashrc
파일 활성화
# nvcc -V로 CUDA 설치 확인
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
4.1. pytorch 확인
pytorch cuda 테스트를 위한 가상환경 생성
conda create -n test_cuda python==3.8
pytorch 설치 후 가상환경에서 python 실행
conda activate test_cuda
python
실행 후 cuda.available 확인
import torch
torch.cuda.is_available() # True 출력확인
exit()
True 출력 안될 시 재부팅 후 다시 시도.
5. Cudnn 설치
Cudnn 파일 다운로드는 여기에서
- login 필수(아이디 없으면 회원가입)
- 11.x 이후 선택
- ubuntu 버전+x86_64(아키텍쳐) 에 맞는 파일 다운로드
.tar
file or.deb
file
설치 매뉴얼 여기 보고 따라하면됨
deb
,tar
등등 각각 설치+설치 확인 방법 자세하게 설명되어있음.
6. 기타 에러사항
6.1. UUID error
I: The initramfs will attempt to resume from /dev/sda5
I: (UUID=09e25397-4a2c-4fb0-a605-a7013eecb59c)
I: Set the RESUME variable to override this.
라이브러리 설치 시 이런 에러가 뜬다면
blkid | awk -F\" '/swap/ {print $2}'
printf "RESUME=UUID=$(blkid | awk -F\" '/swap/ {print $2}')\n" | sudo tee /etc/initramfs-tools/conf.d/resume
sudo update-initramfs -u -k all
sudo Reboot
swap
UUID 번호를 세팅해줘야함.