Virtual Machine의 이해

2018. 8. 17. 15:25Programming/Virtual Machine


가상머신이란?


하드웨어를 소프트웨어적으로 구현해서 그 위에서 운영체제가 작동하도록 하는 기술


Download : https://www.virtualbox.org/



가상머신을 사용하는 이유
  1. 다른 운영체제를 사용해야 하는 경우
  2. 독립된 작업공간이 필요한 경우 (바이러스 회피, 백업)
    • 프로그램이 위험할 경우에 가상머신에 설치하여 실행하므로 실제 중요한 운영체제에서는 위험한 작업을 하지 않을 수 있다.
    • 스냅샷을 이용하여 백업의 의미를 가질 수 있다.
  3. 하나의 머신에서 여러명에게 운영체제 환경을 제공
    • 서버의 개념
    • 웹 호스팅
    • 하나의 웹서버 안에 하나의 운영체제에 깔려있고 운영체제에 계정을 만들어 사용자에게 주는 것이다.
  4. 가상 호스팅
    • 하나의 컴퓨터 안에 여러개의 운영체제를 설치하여 운영체제를 통채로 주어 자율도가 높다.

Virtual Box의 장점
  1. 무료로 사용
  2. 오픈 소스
  3. 다양한 플랫폼에서 사용이 가능하다.

기타 솔루션
  1. VMware
    • 유료...
  2. VirtualPC
    • 무료이지만 윈도우 사용자만 사용할 수 있다는 단점




host : 컴퓨터에 설치된 운영체제 (가상머신이 설치된 운영체제)
guest : 가상머신에 설치한 운영체제 (가상머신 위에 설치된 운영체제)

guest에서는 host의 복사된 내용을 붙여넣을 수 없다. 따라서 설치해야하는 프로그램이 있다.

  • 프로그램 : 게스트 확장
    1. 장치 - 게스트 확장 설치
    2. 윈도우 탐색기 -> cd를 삽입한 것과 같이 뜬다.
    3. 자동실행 -> VBoxWindowsAdition을 실행
    4. VirtualBoxGuestAdition
    5. reboot

Desktop vs Server
  1. Desktop : GUI 제공
  2. Server : GUI 제공X, 가볍다.
    • 굳이 GUI를 사용하지 않을 것이면 Server Version을 사용하는 것이 바람직하다.
    • 콘솔이 아닌 SSH를 통해 제어한다.
      1. 원격제어와 같은 방법으로 사용한다.
      2. SSH -> CLI를 통해 제어
      3. 원격제어 -> GUI를 통해 제어


가상머신 USB 연결

Download : https://www.virtualbox.org/wiki/Downloads

  1. Oracle VM VurtualBox Extension Pack -> All Platforms를 다운받는다.
  2. 가상머신을 종료한 뒤 실행
  3. 설치
  4. 설정 -> USB -> USB Controller 사용하기 -> USB 2.0 사용하기
  5. 파일 -> 환경설정 -> 확장 -> Oracle_VM_VirtualBox_Extension_Pack 선택 -> 확인 -> 설치


스냅샷

  • 가상머신에서 중요한 특징 (사진에서 많이 쓰인다.)  

백업과도 같은 역할을 한다.
컴퓨터의 상태(프로그램, 데이터, 실행중인 프로그램들을 그대로 보관하는 기능)를 저장한다.

  • 사용
    1. 믿음이 가지 않는 프로그램의 설치 ->host computer를 안전하게 지킬 수 있다.
    2. 스냅샷을 찍었던 지점으로 돌리면 찍은 상태로 완전히 돌아간다.
    3. 한 번만 쓸 프로그램일 경우
    4. 완전히 제거하여 프로그램이 느려지는 것을 방지
    5. 운영체제 상태를 프로그램 설치 직전으로 돌려놓는다.

  • 사용방법
    1. 머신 -> 스냅샷 찍기
    2. 가상머신을 종료
    3. 복원
      • 현재 가상 머신 스냅샷 만들기 -> 삭제한 상태의 스냅샷을 저장
      • 스냅샷을 만들지 않을 경우 -> 저장한 스냅샷을 잃어버림.
    4. 스냅샷을 구조화하여 저장할 수 있다.
    5. 복제
      • 가상머신이 종료되어 있어야 한다.
      • 새로운 가상머신을 만든다.
        1. FULL : 완전히 복사해서 새로운 운영체제를 만듦.
          • 현재 머신 상태 : 현재 실행되어 있는 머신의 상태를 저장
          • 모든 상태 : 스냅샷까지 모두 저장
        2. Linked Clone : 스냅샷인 동시에 별도로 분리되어 있는 가상머신과 같은 효과.
      • 실제로 많은 양의 데이터가 저장되기 때문에 스냅샷을 사용할 때는 신중해야 될 필요가 있다.
    6. 스냅샷 폴더 지정
      • 설정 -> 고급 -> 스냅샷 폴더

가상머신 스냅샷을 이용하여 컴퓨터의 상태를 옮길 수 있으므로 아주 유용한 기능이다.


복제

컴퓨터의 현재 구동되어 있는 상태를 그대로 복사해서 똑같은 컴퓨터를 하나 더 만들 수 있는 기능

가상화 기술의 핵심적인 기술

주요 핵심 기능이 스냅샷

스냅샷 : 예전으로 돌아갈 수 있는 지점        -> 타임머신
복제 : 컴퓨터와 똑같은 컴퓨터를 만드는 것 -> 복제

  • 사용시 가상머신이 종료되어 있어야 함

  1. 복제할 머신 선택
  2. 이름을 지정한 후 -> 모든 MAC 주소 초기화 선택
  3. 복제 방식
    • 완전한 복제 : standalone 완전히 독립된 운영체제를 새로 만든다.
      • 다른 컴퓨터에 가져가도 문제가 없다.
    • 연결된 복제 : 운영체제의 현재 상태를 스냅샷으로 찍고 변경상태를 추가하는 것
      • 장점
        1. 빠르게 복제파일을 만든다.
        2. 스냅샷으로 찍어 이후의 상태를 추가해 나가는 것
      • 단점
        1. 연결된 복제 파일만을 다른 컴퓨터로 옮길 수 없다.

  • 사용법
  1. 깔끔한 운영체제를 복제하여 사용
      • 장점
        • 길고 복잡하고 지루한 과정을 넘길 수 있다.
: 즉, 운영체제 설치와 같이 오래 걸릴 수 있는 작업을 복제를 통해 생략이     가능하다.


가상머신 복제 - 네트워크 인터페이스 문제 해결

  • 우분투에서 복제 파일에서 네트워크에 문제가 있을 경우
대기상태에 머물다가 wationg for wetwork configuration...이 뜬다면...
1분 정도 기다리다가 우분투에서 알아서 다음 부팅 과정으로 넘어감

  • ifconfig를 했을 때 lo만 뜨고 et는 뜨지 않을 경우
이더넷 즉, 랜카드가 셋팅되어 있지 않다는 뜻

ifconfig -a
eth1 : 세팅은 되어있지만 연결은 되어있지 않다.

sudo nano /etc/network/interfaces -> password 입력 -> 관리자 권한으로 접속
eth0 -> eth1으로 변경 -> ctrl + x -> y -> enter
sudo /ect/init.d/networking restart -> ifconfig


공유폴더

호스트 컴퓨터의 접근에 대한 제한을 푸는 방법

  1. 장치 - 공유폴더
  2. 폴더 경로 -> 기타 (호스트 운영체제의 구조를 보여줌) -> 확인
  3. 네트워크 -> host machine의 공유폴더가 나타남

네트워킹

가상머신을 사용하여 리신을 사용하여 애플리케이션 서버를 설치하여 집에서 웹서비스를 운영할 경우

  1. 설정 -> 네트워크
  2. 어댑터
    • 가상화된 랜카드 4개를 꽂을 수 있다는 뜻
  3. 네트워크 어댑터 사용하기
    • 다음에 연결됨
      1. Bridged
        • host와 guest와의 연결이 가능
        • guest 운영체제
        • geust에 설치되어 있는 운영체제에 네트워크를 연결할 수 있고 인터넷 또한 연결할 수 있다.
        • 가장 자율도가 높은 방식
      2. Host Only
        • Guest와 Host와의 네트워크 연결은 가능하지만 인터넷은 연결할 수 없다.
      3. NAT
        • Host와 Guest와의 연결이 불가능하지만 인터넷은 연결이 가능하다.
        • VMware에서 제공하는 NAT 방식은 Network와 Internet 모두 연결이 가능하지만, VirtualBox에서만 불가능 하다는 단점이다.

  • 네트워크를 연결하려면 제일 먼저 IP를 알아내야 한다.
    • powershall -> ipconfig








작성일 : 2018.08.17

'Programming > Virtual Machine' 카테고리의 다른 글

Ubuntu Server - Anaconda Jupyter Notebook 원격  (0) 2020.05.21