가상머신이란? | Virtual Machine, 하이퍼바이저, 필요성, 단점, 유형

    반응형

    안녕하세요. 은넨입니다.

    오늘은 과제를 하면서 공부한 가상 머신에 대해서 글을 써보려 합니다.

    가상 머신, VM.. 저도 많이 여기저기서 들어는 보았는데, 정확하게 가상 머신이 무엇인지, 왜 필요한지에 대해서는 전혀 알지 못하였습니다. 오늘은 이런 내용에 대해 다뤄보고자 합니다.

     

    🖥 가상머신이란?

    가상머신이란 하드웨어를 소프트웨어적으로 구현해서 그 위에서 운영체제가 작동하도록 하는 기술을 말합니다. 즉, 운영체제가 가상머신 프로그램(소프트웨어) 위에 설치됩니다.

    우리가 접하는 물리적 컴퓨터(노트북, 스마트폰, 서버 등)과 같이 CPU, 메모리, 디스크를 갖고 있는 컴퓨터지만, 물리적으로 만질 수 없는 가상의 컴퓨터라는 점이 차이점입니다. 즉, 물리적 서버 안에 코드로만 작성되어 구성된 컴퓨터라고 생각하시면 됩니다.

    가상 머신은 호스트 컴퓨터에서 생성되고, 하나의 호스트에 여러 개의 가상 머신이 동시에 존재하고 실행될 수 있습니다.

    https://azure.microsoft.com/ko-kr/resources/cloud-computing-dictionary/what-is-a-virtual-machine/#how-do-work

     

    위의 그림에서 가상머신이 올라가는 구조를 보시면 Host OS와 Guest OS 사이에 Hypervisor라는 구성요소가 있습니다. 이 하이퍼바이저에 따라 가상머신의 종류도 나뉘는데요, 하이퍼바이저에 대해 알아보겠습니다.

     

     

    🖥 하이퍼바이저 (Hypervisor)

    가상 머신 모니터(VMM; Virtual Machine Monitor)라고도 불리는 하이퍼바이저는 가상 머신을 생성하고 실행하는 프로세스입니다. 그래서 Host OS와 Guest OS의 매개체 역할을 한다고 볼 수 있습니다. 호스트 컴퓨터의 자원을 가상으로 공유하여 호스트 컴퓨터에서 여러 개의 Guest OS를 지원할 수 있도록 합니다.

    일반적으로 하이퍼바이저에는 두가지 유형이 있습니다.

    1. Bare-Metal Hypervisor (또는 Native Hypervisor)
      베어 메탈 하이퍼바이저는 호스트의 하드웨어에서 직접 실행되어 하드웨어와 가상머신을 관리합니다.
      Xen , Oracle VM Server for SPARC, Oracle VM Server for x86, Microsoft Hyper-V, VMware의 ESX / ESXi 등의 하이퍼바이저가 베어메탈 하이퍼바이저에 해당합니다.
    2. Hosting Hypervisor
      호스팅 하이퍼바이저는 다른 응용 프로그램처럼 호스트OS 위에서 작동하여 소프트웨어 계층으로 실행됩니다. 즉, 호스트 OS에 전적으로 의존하여 실행됩니다.
      일반적으로 개인이 가상머신을 설치할 때 대표적으로 사용되는 하이퍼바이저인 VMWare, Virtual Box, Parallel 등이 이 호스팅 하이퍼바이저에 속합니다.

    https://www.stackscale.com/blog/hypervisors/

    🖥 가상머신이 필요한 이유

    1. 다른 운영체제를 사용할 수 있음 (ex. 맥OS에서 윈도우, 윈도우에서 리눅스)

    맥OS 사용자라면 모두가 공감할 만한 내용이지만, 공공기관이나 은행 홈페이지의 보안 프로그램이 exe 파일인 경우 설치가 불가능하여 관련 서비스를 받지 못하는 경우가 있습니다. 이럴 때, 우리는 exe 파일을 실행할 수 있는 윈도우 환경이 필요한데, 이 때 가상 머신을 사용할 수 있습니다. 

    기업에게는 이 점이 매우 큰 비용 절감이 됩니다. 하나의 물리적 컴퓨터에서 여러 운영 체제 환경을 실행할 수 있다는 것 자체가 시간과 관리 비용(서버 관리, 전기 사용량 등), 그리고 물리적 공간을 절약할 수 있다는 의미입니다.

    2. 빠른 속도로 새로운 환경 제공

    모든 개발자에게 새로운 환경을 프로비저닝(provisioning; 특정 서비스를 제공받기 위하여 서비스 실행부터 시작해 서비스를 제공받기 전 단계까지 처리되는 일련의 절차)하는 것보다 훨씬 간단하고 쉽고 빠릅니다. 

    하나의 컴퓨터 안에 여러 개의 운영체제를 설치하여 사용자당 하나의 운영체제를 제공하면, 사용자가 훨씬 자유롭게 작업을 수행할 수 있습니다.

    3. 안전성

    독립된 작업공간이 필요한 경우, 우리는 가상머신을 사용할 수 있는데, 이런 경우 일반적으로 호스트 환경에서 수행하기 위험한 특정 작업을 수행할 수 있습니다. 예를 들면 바이러스에 감염된 데이터에 접근하거나 운영 체제를 테스트 하는 경우, 가상 머신을 사용하면 호스트 컴퓨터에 영향없이 마음 놓고 작업을 할 수 있겠죠? 

    또한 VM은 스냅샷이라는 이미지파일을 저장할 수 있기 때문에 백업의 기능도 수행할 수 있습니다. 

     

    🖥 가상머신의 단점

    1. 하나의 물리적 시스템에서 여러 가상 머신을 실행하다보니 성능이 불안정해질 수 있습니다.

    2. 물리적 컴퓨터보다 효율성은 떨어지며 실행 속도도 느립니다.

    따라서 기업의 IT 운영에서는 물리적 시스템과 가상 시스템 간의 적절한 균형점을 찾아서 운영하는 것이 바람직합니다.

     

     

     

    참고)

     

    가상 머신, 거의 모든 IT 혁신의 출발점

    클라우드 컴퓨팅, 엣지 컴퓨팅, 마이크로서비스와 같은 신기술은 물리적 컴퓨터에서 운영체제와 소프트웨어 인스턴스를 분리하는 가상 머신(Virtual Machine, VM) 개념에서 시작됐다. © Getty Images Ban

    www.itworld.co.kr

     

    가비아 라이브러리

    IT 콘텐츠 허브

    library.gabia.com

     

    가상 머신 정의 및 작동 방식 | Microsoft Azure

    비용을 줄이고 클라우드에서 운영 효율성을 실현할 수 있는 소프트웨어 기반 가상 컴퓨터인 VM(가상 머신)에 대해 자세히 알아보세요.

    azure.microsoft.com

     

    반응형

    댓글