HOWTO/Ubuntu VM

From MCLab
Jump to: navigation, search

Contents

Making Your Own Ubuntu Machine on a PC

VirtualBox는 virtual machine(VM)들을 만들고 지원하고 관리하는 Oracle에서 제공하는 free software이다. 예를 들면, Windows가 설치된 PC나 노트북에 VirtualBox를 설치하여 Ubuntu나 Window XP 등을 운영체제로 갖는 VM을 만들어 이용할 수 있다. 이경우, PC나 노트북을 host라 하고 VM을 guest라 부르며, host에 설치된 Windows를 host OS라 하고 VM에 설치된 Ubuntu나 Windows XP를 guest OS라 한다.

설치할 PC가 32-bit/64-bit인지 먼저 확인하라
download할 파일명에서 보통 x86은 32 bit machine이고 AMD64나 x86-64는 64 bit machine을 의미한다.

VirtualBox 설치

VirtualBox는 가상머신을 만들거나 관리하는 SW이다. 가상머신을 이것을 설치한 후 만든다.

  1. 최신 VirtualBox for Windows hosts를 download하고 설치한다.
    참고: (VirtualBox VMs 폴더) VM들의 디스크 이미지를 저장할 폴더는 C 드라이브에 생긴다. VM을 여러개 설치하거나, VM을 복제 또는 변경사항을 snapshot을 뜨기위해 디스크 공간이 충분한 드라이브에 설치하는 게 좋다. (예를 들어 D: 드라이브) VM 폴더 위치를 변경하려면, VirtulaBox 실행 -> 파일> 환경설정 > 일반> 기본 머신 폴더를 변경한다. (USB 저장장치에 수록해서 들고 다닐 수도 있겠다.)

준비사항: Ubuntu OS download

  1. Guest OS를 미리 download하자. Ubuntu 18.04 LTS(Long-Term Support) 설치용 ISO파일을 download한다. (host machine이 32-bit인지 64-bit인지 확인해 보고 선택함)
    최신 버전인 Ubuntu 20.04 LTS가 나와 있지만, 다른 SW와 호환성이나 이용관련 구글링 등을 고려하면 너무 최신 버전을 고르면 애먹을 수 있다.

Guest Machine 만들기

VirtualBox를 실행시켜 Guest machine, 즉 가상 하드웨어를 만든다. 이는 Host machine의 하드웨어를 공유하거나 부분을 할당 받는 것을 의미한다. 화면 그림만 참고하세요.

  1. '새로 만들기' 버튼 클릭 하여 Guest machine 생성
    1. 종류: Linux, 버전: Ubuntu, 이름: ununtu <버전>
    2. 이후 default setting으로 계속 넘어 간다. 단. 가상 하드 드라이브 크기는 넉넉하게 20 GB 정도로 변경하자.
  2. Guest machine의 환경 설정 - VM의 CPU, memory와 주변기기 등을 VirtualBox가 어떻게 제공할지를 선택
    1. 설정할 VM을 선택하고 설정 버튼 click
    2. VM 시스템을 구성할 HW들을 선택하여 장착
      시스템> 마더보드: CD/DVD, 하드 디스크, 네트워크를 선택
      메모리 1024 MB는 보통의 경우 충분하다. 필요할 때 더 늘여도 된다.
    3. 설치용 Ubuntu .iso 파일을 CD/DVD 드라이브에 장착 (새 OS를 부팅하기 위함)
      저장소> 컨트롤러:IDE 비어있음을 선택 > 속성의 CD 아이콘 cllick >가상 CD/DVD 디스크 파일 선택 > 이미 download한 Ubuntu 설치용 iso 파일 선택
    4. 네트워크 어댑터 장착
      네트워크> 어댑터1은 NAT로 선택 ( Guest machine에서 internet으로 접속하기 위해)
      네트워크> 어댑터2는 호스트 전용어댑터를 선택 (Guest machine과 Host machine간 통신을 위해)
    5. Host와 Guest간에 파일들을 공유할 Host의 폴더를 지정한다. (Ubunutu 설치된 후 추가 작업을 해야 공유가 된다.)
      공유할 폴더를 Host에 만든다. 예) D:\share
      공유폴더> 머신폴더 선택 > Add ('+' 아이콘) > 경로를 지정하고 자동마운트 선택. 예) 경로: D:\share, 이름: share
      참고: 여기서 이름은 Guest OS에 알려 줄 식별자일 뿐임

Guest machine에 Ubuntu OS 설치

  1. VM을 시작시킨다: VM 선택 > 시작 버튼 (CD에 장착된 Ubuntu iso 파일로 부팅된다.)
  2. 언어를 '한국어'로 선택하고 'Ubuntu 설치' 버튼 click > 설치 중 업데이트 다운로드 체크 >디스크를 지우고 Ubuntu 설치 선택 > 지금 설치
    키보드 배치: 한국어 선택
    이름, 사용자 이름: 동일하게 설정하자. Ubuntu의 관리자 ID가 되며 'sudo' 명령어를 쓸 수 있다. (password를 잘 기억해 놓자.)
    컴퓨터 이름: 이름 + '-virtualBox' 로 나타나지만 장황하니 편의상 Guest machine 이름과 동일하게 하자. 'ubuntu16'
  3. Guest machine에 VirtualBox 관련 작업을 마무리한다.
    1. Guest Machine에 Guest OS에 맞는 VirtualBox 확장팩을 설치한다.
      Ubuntu가 booting되면, 장치 > 게스트 확장 설치를 선택하고 자동실행시킨다.
    2. Host와 Guest간 공유폴더 설정을 Ubuntu에서 마무리 한다. /media/sf_share라는 directory로 자동 마운트되었음을 확인할 수 있다. root만 read/write 가능하게 되어 있기 때문에 'sudo'를 항상 쓰던지, 아니면 group access 권한을 줘서 직접 읽을 수 있게 하자. 홈 directory에 link를 걸어놓자.
sudo usermod -G vboxsf -a <your ID>  # 'vboxsf' group에 추가. 즉, 여러분은 share directory에 그룹권한을 갖게된다. 
ln -s /media/sf_share ~/share        # symbolic link를 편리한 위치에 만든다.

Ubuntu에 추가 SW 설치

참고
  • terminal 창 띄우기: 명령어를 치기 위해서 터미널은 대시홈(런처의 맨 위 아이콘)을 클릭해서 'term'을 쳐서 찾아보자. 런처에 항상설치 하려면, 아이콘을 런처로 드래그하고, 우 클릭하여 '런처에 고정'을 선택한다.
  • 최대화면 늘이기: VirualBox에서 머신을 선택하여 설정 > 디스플레이 > 비디오 메모리를 조금 늘이면 된다.
패키지 download 속도 향상을 위해
Ubuntu의 저장소를 ftp.daum.net으로 바꾸면 패키지 다운로드 속도가 빠르다. 따라하기
FTP server 설치하기
따라하기

설치 확인

'ifconfig' 명령을 내려보자. NAT로 설정된 어댑터(eth0)는 IP address가 10.0.x.y, 호스트 전용 어댑터(eth1)은 192.168.56.x 로 잡혔을 것이다. 둘 다 사설 IP 주소이기 때문에 외부에서 Guest machine에 접속이 불가능하다. 하지만, 전자는 인터넷에 접속할 때 사용되며, 후자는 호스트와 통신할 때 사용된다. 한편 Host machine에서 cmd 창에서 'ipconfig/all' 을 쳐보자. 호스트 전용 어댑터는 192.168.56.1로 나타날 것이다. Guest가 볼 때 Host 주소는 바로 이것이다.

Firefox browser를 띄어 보자. 웹 페이지를 볼 수 있다면, 네트워킹이 성공적으로 이뤄진 것이다.

VM간 통신

  1. Ubuntu VM에 필요한 SW 설치가 끝나면, 이를 복제한 VM을 만든다.
    • VirtualBox 관리자 창에서 원본 VM을 선택하고 머신>복제를 실행한다. 이때 MAC 주소 초기화를 체크해야 한다. 이렇게 하지 않으면 원본 VM과 복제된 VM이 함께 실행될 때, MAC 주소가 동일하여 충돌하게 된다.
    • 원본 VM과 복제된 VM은 이후 별개로 변경될 수 있다. 디스크 공간을 줄이고자 한다면, 연결된 복제를 선택해도 되지만, VM 내보내기할 때 원본도 내보내야 함.
  2. 두개의 VM을 실행시켜서 각각에서 IP address를 학인해 보자.
    • ifconfig
  3. VM의 네트워크 어댑터가 NAT로 되어 있을 것이므로 10..x.y.z라는 private IP address를 가질 것이다. 따라서 VM에서 외부 server로 connect할 수 있지만, 외부에서 이 VM으로 connect할 수 없다. 하지만, VirtualBox에 소속된 VM들은 같은 private network에 위치하므로 VM간 client/server간 통신할 수 있다.

VM 관리

VM의 Snapshot과 복제

새로운 SW를 설치하다 보면 시스템을 주기적으로 dump할 필요가 있으며, 예전으로 돌아가야 할 필요도 생긴다.

Snapshot - 최근 변경된 내용만 저장된다
원하는 VM을 선택하고 snapshot 버튼을 누른다.
VM의 복제
VM을 선택하고 머신 > 복제
완전한 복제 - 새로운 copy 본
연결된 복제 - 원본과 다른 내용만 복제하고 원본은 참조만

VM을 다른 PC에 설치하기

VirtualBox 관리자 창에서 파일 > 가상 시스템 내보내기... 를 선택하여 ova 파일로 생성한다. 이를 USB 메모리에 옮겨 담고 복제본을 설치할 PC에서 반대로 가상 시스템 가져오기를 실행하면 복제된 VM이 바로 설치된다.

같은 PC에서 또다른 Ubuntu machine의 생성과 이들간의 통신

  1. Ubuntu VM에 필요한 SW 설치가 끝나면, 이를 복제한 VM을 만든다.
    • VirtualBox 관리자 창에서 원본 VM을 선택하고 머신>복제를 실행한다. 이때 MAC 주소 초기화를 체크해야 한다. 이렇게 하지 않으면 원본 VM과 복제된 VM이 함께 실행될 때, MAC 주소가 동일하여 충돌하게 된다.
    • 원본 VM과 복제된 VM은 이후 별개로 변경될 수 있다. 디스크 공간을 줄이고자 한다면, 연결된 복제를 선택해도 되지만, VM 내보내기할 때 원본도 내보내야 함.
  2. 두개의 VM을 실행시켜서 각각에서 IP address를 학인해 보자.
    • ifconfig
  3. VM의 네트워크 어댑터가 NAT로 되어 있을 것이므로 10..x.y.z라는 private IP address를 가질 것이다. 따라서 VM에서 외부 server로 connect할 수 있지만, 외부에서 이 VM으로 connect할 수 없다. 하지만, VirtualBox에 소속된 VM들은 같은 private network에 위치하므로 VM간 client/server간 통신할 수 있다.