전자책 출간 알림 [마이크로서비스패턴 쉽게 개발하기]

티스토리 뷰

1. 목적

본 문서는 학습 목적으로 Oracle Virtualbox를 이용하여 VM을 자신의 PC에 만드려는 사람들을 위해 제작되었습니다.

ubuntu 18.04 이상을 기준으로 작성되었습니다.

 

사전준비사항

- Oracle Virtualbox 설치: https://www.virtualbox.org/wiki/Downloads

- MobaXTerm 설치: https://mobaxterm.mobatek.net/download-home-edition.html

MobaXTerm은 Window 전용 원격 터미널 프로그램입니다. Portable edition은 무설치 버전으로 압축만 해제하면 됩니다.

 

2 VM 만들기

2.1 VM Image 다운로드

VM image는 osboxes.org에서 무료로 다운로드 합니다.

Step 설명
VM 다운로드
압축풀기 적절한 디렉토리에 압축을 풉니다.
uuid 변경 각 vm image는 고유uuid가 있어 여러 번 사용할 수가 없습니다.
그래서 virtualbox명령을 이용해서 uuid를 바꿔줘야 합니다.


먼저 다운로드한 초기 image를 복사하여 생성할 VM 수만큼 새로운 vm image를 만듭니다. 예를 들면 아래와 같이요.

virtualbox가 설치된 디렉토리로 이동하여, 각 image에 대해 uuid변경 작업을 합니다.
VBOXMANAGE.EXE internalcommands sethduuid “`vid파일명”

 

2.2 VM 만들기

사용할 네트워크 어댑터를 만들고, VM을 만듭니다.

Step 설명
Virtualbox 실행 설치한 virtualbox를 실행합니다.
네트워크어댑터 생성 도구 > 네트워크를 선택합니다. 



'만들기'버튼을 눌러, Host-only Ethernet Adapter를 만듭니다.

만약 Mac에서 "vboxnetadpctl: error while adding new interface: failed to open /dev/vboxnetctl: no such file or directory" 에러가 나면 아래와 같이 조치하십시오.




-  "시스템 설정 > 보안 및 개인정보 보호 > 일반" 선택하고, 맨 아래 자물쇠 누르고 Mac어드민 암호 넣기 
- '세부사항' 클릭
- 'Oracle America, Inc.'체크하고 확인
- PC재시작 

 


DHCP사용을 uncheck하고, IPv4주소를 다른 곳에 기록해 놓습니다.


VM만들기
도구에서 '환영합니다'를 선택합니다. 



'새로 만들기'를 선택합니다. 




이름을 적절히 입력하고 종류는 'Linux'로 변경합니다. 


메모리 크기는 2048MB정도로 조정합니다. 메모리가 많다면 더 늘리셔도 됩니다. 


하드 디스크는 '기존 가상 하드 디스크 파일 사용'을 선택합니다. 


위 화면 맨 아래에 있는 폴더 아이콘을 클릭합니다. '추가'버튼을 누르고, 다운로드한 VM image를 지정합니다. 

끝으로, [만들기]를 눌러 VM을 생성합니다.


위 과정을 VM수만큼 반복하여 수행합니다.
VM설정하기 관련있는 VM은 그룹으로 묶습니다.
이렇게 하면 동시 시작, 중지가 가능하여 편합니다.



첫번째 VM을 선택하고, [설정]을 클립합니다.



메모리와 CPU수를 적절히 조정합니다.




네트워크: 어댑터1은 기본 그대로 NAT로 지정합니다.




네트워크: 어댑터2는 호스트 전용 어댑터로 선택하고, 미리 만들어 놓은 Ethernet Adapter를 지정합니다. 고급 > 무작위 모드는 '모두 허용'으로 변경합니다.



위 설정을 각 VM에 대해 수행합니다.



NAT는 VM 간 연결하기 위한 Adapter이고 Host-Only는 VM과 Host PC간 네트워크 연결을 위한 Adapter입니다.
NAT어댑터에는 private IP(10.0.2.x)가 부여되고, Host-only 어댑터에는 public ip(192.168.x.x)가 부여됩니다.

 

2.3 VM 네트워크 설정하기

VM을 실행하고 아래 작업을 통해 네트워크를 설정합니다.

화면이 매우 작을겁니다. 아래와 같이 'Scaled Mode'로 변경하여, 화면을 크게 만드십시오.

VM은 IP를 고정으로 지정합니다. 이래야 재시작해도 동일한 IP로 접근할 수 있습니다.

Step 설명
로그인 초기 계정인 osboxes로 로그인합니다.
- username: osboxes
- password: osboxes.org

암호변경 # passwd 명령으로 암호를 기억하기 쉽게 변경합니다.
root계정 암호를 변경합니다.
# sudo root passwd
네트워크 설정 # su - 명령으로 root로 로그인합니다.
# cd /etc/netplan 디렉토리로 이동
# ifconfig -a
enp0s3이 NAT 어댑터이고, enp0s8이 Host-only어댑터입니다.
# ip r | grep default 명령으로 NAT의 gateway IP를 구합니다.
# vi 50-cloud-init.yaml
아래와 같이 변경합니다.
bold체 부분은 자신의 VM에 맞게 변경해야 합니다.
indentation은 space bar로 반드시 하십시오. TAB으로 하면 잘 안될 수 있습니다.
- enp0s3 > addresses: gateway주소보다 크게 지정하면 됩니다.
- enp0s8 > addresses: 2.2 VM만들기에서 기록해 놓은 Host-only Ethernet Adapter IP보다 큰 값을 지정하면 됩니다.
- nameservers: 구글 DNS서버를 이용합니다.
network:
  ethernets:
    enp0s3:
      dhcp4: false
      addresses: [10.0.2.3/24]
      gateway4: 10.0.2.2
      nameservers:
        addresses: [8.8.8.8]
    enp0s8:
      dhcp4: false
      addresses: [192.168.56.3/24]
      version: 2
 
설정 적용 # netplan apply retry
테스트 # ifconfig
아래와 같이 지정한 ip로 셋팅되면 성공입니다.


인터넷이 되는지 테스트합니다.
# nslookup google.com

 

2.4 SSH 서버 설치

Virtualbox의 console은 copy-paste도 안되고 사용하기 힘듭니다.

편리한 Terminal툴인 MobaXTerm에서 각 VM을 연결하기 위해서는 VM에 SSH서버가 설치되어 있어야 합니다.

각 VM에서 아래와 같이 설치 하십시오.

Step 설명
OS 업그레이드 # apt-get update
# apt-get upgrade
위 작업은 네트워크 속도에 따라 10분 ~ 20분 정도 걸립니다.
ssh 설치 # apt-get install openssh-server
설정 변경 # cd /etc/ssh
# vi sshd_config
. PermitRootLogin 의 주석을 해제하고 값을 yes로 변경



# service ssh restart
MobaXTerm 설정
Host PC에서 MobaXTerm을 실행하십시오.
Mac사용자는 터미널을 열고 'ssh root@{VM IP}'명령을 실행하고, 변경한 root암호로 로그인하시면 됩니다. 


기본 에디터 지정

MobaXTerm에서 PC의 에디터를 지정하면, vi를 사용하지 않고 익숙한 에디터로 사용할 수 있습니다.


Terminal의 폰트종류와 크기를 지정합니다.
MobaXTerm에서 연결: master 새 폴더를 작성


새 연결 세션 작성



VM IP와 username을 root로 지정합니다.




Session name을 적절히 변경합니다.



[OK]를 누르면 연결을 시도할 겁니다.
root암호를 정확하게 입력하면, 암호 저장 여부를 묻는데 [Yes]를 클릭하여 저장하십시오.
그래야 앞으로는 암호를 묻지 않고 연결이 됩니다.
MobaXTerm에서 연결 나머지 Worker VM들은 master 설정을 복사하여 작성하면 편합니다.


   

 

'Infrastructure > VM관련' 카테고리의 다른 글

Oracle VirtualBox Centos VM만들기  (0) 2021.08.22
IBM Cloud VM 신청하기  (0) 2019.09.12
댓글

전자책 출간 알림 [마이크로서비스패턴 쉽게 개발하기]