Virtual Machine

최민수·2023년 4월 5일
0

CS 전공지식

목록 보기
22/36


Virtualization?

Virtualization(가상화) 개념은 컴퓨터 분야 전반에 있어서 매우 중요한 개념이고 특히 인프라나 DevOps 분야에서는 매우 잘 알아야 하는 기술이라고 한다.

Virtual Machine도 이와 같은 개념 중 하나이다.
가상 머신을 이용하면 별도의 하드웨어 없이 Hypervisor 기술을 이용해 여러 개의 OS를 하나의 physical machine에서 사용할 수 있다.
MacOs, Windows, Linux 어떠한 조합도 가능하다.

가장 대표적인 가상 머신에는 오라클의 오픈소스 Virtual Box가 있다.

이러한 가상 머신은 실재하는 물리적인 하드웨어(하나의 컴퓨터)의 자원을 가져가 사용한다는 특징이 있다.
따라서 이름은 virtual(가상) 같은 느낌이지만 실제로 존재하는 자원에 대해 나눠받은 개념이라고 생각해야 한다. 이 자원을 이용해 쓰고자 하는 os의 구성(CPU, RAM, storage)을 만들게 된다.

또 하나의 특징은 한 대의 컴퓨터에 여러 개의 os를 올려도 각각은 서로에 대해 전혀 모르는 상태라는 점이다.
따라서 Linux를 설치한 가상 머신이 해킹을 당해도 Host os나 다른 MacOS를 올린 가상 머신이 영향을 받지 않는다.


가상 머신의 장점

  • OS 설치를 위해 다른 하드웨어(컴퓨터)를 구입할 필요가 없다.
  • main OS 손상 없이 사용 가능하다.
  • 다양한 os에서의 App Test 도 용이하다.

기업에서 주로 사용하는 가상 머신

Hypervisor 기술에는 2가지 타입이 있다.

위에서 설명한, 한 대의 하드웨어와 Host os 위에 Hypervisor를 올리고 그 위에 여러 개의 os를 설치하는 것이 Type2 이다.

Type1은 Host os 없이, 하드웨어 위에 바로 여러 개의 os를 올리는 Hypervisor 기술을 사용한다. (Vmware ESXi, Microsoft Hyper-v 등)

Type1 Hypervisor를 특히 기업에서 많이 사용하는 이유는 big server의 자원을 효율적으로 배분하고 쓰기에 좋기도 하기 때문이다.


Virtualization의 영향으로 바뀐 IT 분야

Virtualization 개념이 없었던 때는 기업들이 자신들의 서버를 직접 관리했다. Linux, Windows, MacOS 중 하나의 os를 직접 설치하고 application들을 하드웨어에 직접 설치했다.
그렇게 되면 OS 가 하드웨어에 tightly coupled 되기 때문에 하드웨어에 이상이 생기면 os와 application 모두에 이상이 생기는 것이다.

하지만 Virtualization 개념이 도입됨에 따라 OS 를 Virtual Machine Image로 불리는 하나의 portable file로 관리할 수 있게 되었다. 따라서 backup os를 여러 개 만들어 보관할 수도 있고 snapshot file을 통해 손쉽게 하드웨어에 os를 실행시킬 수 있게 되었다.


영상 출처: Virtual Machines explained in 15 Mins

profile
CS, 개발 공부기록 🌱

0개의 댓글