클라우드 서버 리눅스 초기 설정

iwinv.kr 을 이용하여 서버를 구축한다.

절차는 다음과 같다.
가상서버선택 -> 운영체제 선택 -> 디스크 볼륨 추가 -> 방화벽설정 -> 설치

몇분후 가상서버 생성이 완료되는데 계정과 비밀번호는 등록된 관리자 email로 발송된다.

서버 생성 후 다음과 같은 초기 설정이 필요하다

1.  root 계정 비밀번호 변경
2. 앞으로 사용할 sudo 권한 유저 생성.(visudo사용편집)
3. ssh root 로그인 방지(/etc/ssh/sshd_config 파일수정 PermitRootLogin no)
4. apt-get update && apt-get dist-upgrade
5. (한국 서버로 패키지 저장소 변경..등 궂이 안해도 됨)

초기 설정 후 이미지를 저장해 놓고 가상 서버 추가 생성시 저장된 이미지를 이용하여 서버를 생성할 수 있다.
# 추가로 저장된 이미지로 서버를 생성하면 /dev/null 퍼미션 오류가 발생한다.  이때는 /dev/null 파일을 삭제 후 서버를 재시작 해주면된다.
(재시작시 생성되는데 시간이 좀 걸리므로 재시작 말로 아래 명령으로 생성해 주어도 된다.
mknod -m 0666 /dev/null c 1 3)
#또 /etc/hosts  및 /etc/hostname 도 수정

 

이제 docker를 설치한다.

openstack에서는 오버레이 네트워크 사용으로 오버해드가 발생하는 것을 방지하기 위해서 가상 네트워크의 mtu 값을 기본 1500에서 1450으로 낮추는 어서 설정하게 되어있다.

반면 docker 네트워크는 기본 설정인 1500으로 되어있기 때문에 패킷손실로 네트워크 오류가 발생한다. 때문에 docker 설치 후 반드시 mtu 기본값을 변경해 주어야 하며, docker-compose는 기본네트워크를 사용하지 않고 임의 네트워크를 생성하여 작동하는데 이때 기본 mtu값 1500이 변경이 불가능하여 수동으로 네트워크를 생성하여 mtu 값을 1450으로 지정하고 사용할 네트워크를 명시하여 지정하여야 한다.

 

docker 설치

1. 설치된 docker 제거

sudo apt-get remove docker docker-engine docker.io

2. apt https를 통한 저장소 사용을 하도록 추가 패키지 설치

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

3. Docker의 공식 GPG 키 추가

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4. 안정적인 저장소 추가

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5. apt 색인 업데이트

sudo apt-get update

6. docker-ce 설치

$ sudo apt-get install docker-ce

 

docker 설정

1. docker 그룹 생성

sudo groupadd docker

2. 사용자 추가

sudo usermod -aG docker $USER

3. sudo 명령 없이 docker 사용가능한지 확인( 재로그인 또는 재시작 필요)

docker run hello-world

4. 부팅할때 docker 시작 구성

sudo systemctl enable docker

5. 기타 다른 저장소, 커널호환성, DNS서버지정, 원격 API 접근허용 등 설정은 docker홈페이지 참조.

 

docker 네트워커 기본 mtu 변경(네트워크 문제해걸)

1. docker.service 파일 복사

sudo cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service

2. docker.service 설정 수정( –mut 1450 옵션추가)

sudo vi /etc/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// ExecStart=/usr/bin/dockerd -H fd:// --mtu 1450 # 옵션 추가

3. docker 재시작

sudo systemctl daemon-reload
sudo service docker restart

4. docker 네트워크를 생성할때 mtu변경 옵션 #참고 (mtu-1450은 네트워크이름)

docker network create -o "com.docker.network.driver.mtu"="1450" mtu-1450

 

docker-compose 설치

1. docker compose 다운로드 ( 최신 버전확인 후 아래 명령어의 버전정보 변경)

sudo curl -L https://github.com/docker/compose/releases/download/1.16.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2.  docker-compose 파일 실행권한 추가

sudo chmod +x /usr/local/bin/docker-compose

3. 설치 테스트

docker-compose --version

 

docker-compose 네트워크 생성 (mtu=1450)

docker network create -o "com.docker.network.driver.mtu"="1450"

# mtu-1450은 네트워크이름임

 

 

block storage 추가시 설정 및 확인

1. 추가된 block storage 확인

sudo parted -l

# 신규 디스크 추가시 Error: /dev/vdb: unrecognised disk label 오류 발생함.
/dev/vdb가 디스크 장치명임.( 이용중 장치 추가시 reboot 또는 /etc/init.d/networking restart 해줘야함)

2. 파티션 생성

# sudo parted /dev/vdb
parted) mklabel msdos
parted) mkpart primary 4 100%
parted) q

3. 파티션 포맷

/sbin/mkfs.xfs -f /dev/vdb

4. 파티션 마운트

mkdir /home/jinho/docker
mount /dev/vdb /home/jinho/docker
df -Th

5. 마운트 설정파일에 등록

디스크 상세정보 ID 값 및 이름 확인 
(ID: 39727e60-fff2-4d6c-8419-9dad2704aa4d )

vi /etc/mpoint 파일에 다음행 추가
39727e60-fff2-4d6c-8419-9dad2704aa4d /home/jinho/docker

# 오루발생 iwinv에서 가이드하고있는 mpoint로는 자동마운트가 되지 않음
vi /etc/fstab 파일에 다음행 추가
/dev/vdb /home/jinho/docker  xfs  defaults  0  0
#설정내용 바로 적용
sudo mount -a

6. 기타 디스크 삭제 분리 이동에 관련해서는 아래 링크 참조

iwinv 리얼서버 추가 디스크 관리

 

 

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.