티스토리 뷰
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 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 애자일
- 호모프롬프트
- agile
- 분초사회
- SAGA
- 돌봄경제
- 육각형인간
- 리퀴드폴리탄
- Event Sourcing
- 스포티파이
- spotify
- 스핀프로젝트
- API Composition
- AXON
- CQRS
- micro service
- 요즘남편 없던아빠
- 마이크로서비스 패턴
- 도파밍
- 디토소비
- 마이크로서비스
- 버라이어티가격
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함