개발/ETC

Virtual Machine의 이해

GaonHeum 2023. 5. 22.

가상머신이란?


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

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

가상머신을 사용하는 이유


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

Virtual Box의 장점


  1. 무료로 사용
  1. 오픈 소스
  1. 다양한 플랫폼에서 사용이 가능하다.

기타 솔루션


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

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

guest : 가상머신에 설치한 운영체제 (가상머신 위에 설치된 운영체제)

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

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

Desktop vs Server


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

가상머신 USB 연결


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

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

스냅샷


  • 가상머신에서 중요한 특징 (사진에서 많이 쓰인다.)
    • 백업과도 같은 역할을 한다.
    • 컴퓨터의 상태(프로그램, 데이터, 실행중인 프로그램들을 그대로 보관하는 기능)를 저장한다.

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

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

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

복제


💡
컴퓨터의 현재 구동되어 있는 상태를 그대로 복사해서 똑같은 컴퓨터를 하나 더 만들 수 있는 가상화 기술의 핵심적인 기술

주요 핵심 기능이 스냅샷

스냅샷 : 예전으로 돌아갈 수 있는 지점        → 타임머신

복제 : 컴퓨터와 똑같은 컴퓨터를 만드는 것 → 복제

  • 사용시 가상머신이 종료되어 있어야 함
    1. 복제할 머신 선택
    1. 이름을 지정한 후 -> 모든 MAC 주소 초기화 선택
    1. 복제 방식
      • 완전한 복제 : standalone 완전히 독립된 운영체제를 새로 만든다.
        • 다른 컴퓨터에 가져가도 문제가 없다.
      • 연결된 복제 : 운영체제의 현재 상태를 스냅샷으로 찍고 변경상태를 추가하는 것
        • 장점
          1. 빠르게 복제파일을 만든다.
          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. 장치 - 공유폴더
  1. 폴더 경로 -> 기타 (호스트 운영체제의 구조를 보여줌) -> 확인
  1. 네트워크 -> host machine의 공유폴더가 나타남

네트워킹


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

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

출처: 생활코딩


https://opentutorials.org/course/173/1286


[ Uploaded by N2T ]

댓글