컨텐츠 바로가기

05.20 (월)

“모든 신기술의 감초” 가상머신(VM)의 이해

댓글 첫 댓글을 작성해보세요
주소복사가 완료되었습니다
오늘날의 많은 IT 혁신이 가상머신(virtual machines, VM)과 가상화(하드웨어에서 소프트웨어를 분리하는 기술)에 뿌리를 두고 있다. 실제로 클라우드 컴퓨팅, 엣지 컴퓨팅, 마이크로서비스 등 오늘날의 많은 첨단 기술이 운영체제와 소프트웨어 인스턴스를 기본 물리적 컴퓨터에서 분리하는 VM 개념에서 시작됐다.
ITWorld

ⓒ Getty Image Bank

<이미지를 클릭하시면 크게 보실 수 있습니다>


VM의 정의

VM은 물리적 컴퓨터에 얽매이지 않고 프로그램이나 애플리케이션을 실행하는 소프트웨어다. VM 인스턴스에서는 하나 이상의 게스트 머신이 호스트 컴퓨터에서 실행될 수 있다. 각 VM은 자체 운영체제를 가지고 있으며, 같은 물리적 호스트에 있더라도 다른 VM과 별도로 작동한다. VM은 일반적으로 서버에서 실행되지만, 데스크톱 시스템이나 임베디드 플랫폼에서도 실행될 수 있다. 여러 VM이 CPU 주기, 네트워크 대역폭, 메모리 등 물리적 호스트의 리소스를 공유할 수 있다.

VM의 기원은 1960년대 메인프레임까지 거슬러 올라간다. 물리적 호스트 시스템에서 소프트웨어를 분리해 메인프레임 사용 시간을 공유했다. 이후 1970년대 초에는 가상머신이 "실제 컴퓨터 머신의 효율적이고 격리된 복제본"으로 정의됐다. 오늘날 우리가 알고 있는 VM은 지난 20년 동안 기업이 물리적 서버의 컴퓨팅 성능을 더 효율적으로 활용하고 물리적 서버의 수를 줄이며 데이터센터의 공간을 절약하기 위해 서버 가상화를 도입하면서 본격적으로 확산했다. 운영체제 요구 사항이 서로 다른 앱을 하나의 물리적 호스트에서 실행할 수 있어서 호스트마다 개별 서버 하드웨어가 필요 없는 것이 장점이다.

VM의 작동 방식

일반적으로 VM에는 2가지 유형이 있다. 단일 프로세스를 분리하는 '프로세스 VM'과 물리적 컴퓨터에서 운영체제와 애플리케이션을 완전히 분리하는 '시스템 VM'이다. 자바 가상머신, 닷넷 프레임워크, 패롯 가상머신 등이 대표적인 프로세스 VM이다.

시스템 VM은 소프트웨어에 하드웨어 리소스에 대한 액세스 권한을 부여하는 중개자로 하이퍼바이저(hypervisor)를 사용한다. 하이퍼바이저는 컴퓨터의 CPU, 메모리, 하드 디스크, 네트워크 및 기타 하드웨어 리소스를 에뮬레이션해 특정 요구 사항에 따라 개별 가상머신에 할당하는 리소스 풀을 생성한다. 하이퍼바이저는 서로 격리된 여러 가상 하드웨어 플랫폼을 지원하므로, 같은 물리적 호스트에서 리눅스와 윈도우 서버 운영체제를 VM으로 실행할 수 있다. 하이퍼바이저 분야의 주요 업체로는 VM웨어(ESX/ESXi), 인텔/리눅스 재단(Xen), 오라클(스파크용 MV 서버 및 x86용 오라클 VM 서버), 마이크로소프트(하이퍼-V) 등이 있다.

데스크톱 컴퓨터 시스템에서도 VM을 활용할 수 있다. 예를 들어 맥 사용자가 맥에서 가상 윈도우 인스턴스를 실행하는 경우가 대표적이다.

하이퍼바이저의 2가지 유형

하이퍼바이저는 리소스를 관리하고 VM에 리소스를 할당한다. 또한 하이퍼바이저와 VM이 구성된 방식에 따라 리소스 배포 방식을 예약하고 조정하며, 수요 변동에 따라 리소스를 재할당한다. 대부분의 하이퍼바이저는 다음 2가지 유형 중 하나다.
  • 유형 1. 베어메탈 하이퍼바이저는 물리적 호스트 머신에서 직접 실행되며 해당 하드웨어에 직접 액세스할 수 있다. 유형 1 하이퍼바이저는 일반적으로 서버에서 실행되며 유형 2 하이퍼바이저보다 효율적이고 성능이 우수하여 서버, 데스크톱 및 애플리케이션 가상화에 적합하다. 대표적인 것이 마이크로소프트 하이퍼-V와 VM웨어 ESXi다.
  • 유형 2. '호스트형 하이퍼바이저'라고도 한다. 유형 2 하이퍼바이저는 호스트 머신의 운영체제 위에 설치되며, 하드웨어 리소스에 대한 호출을 관리한다. 일반적으로 특정 사용례를 위해 최종 사용자 시스템에 배포된다. 예를 들어 개발자가 애플리케이션 구축을 위한 환경을 만들기 위해 타입 2 하이퍼바이저를 사용하거나, 데이터 애널리스트가 격리된 환경에서 애플리케이션을 테스트하기 위해 타입 2 하이퍼바이저를 사용한다. VM웨어 워크스테이션과 오라클 버추얼박스 등의 솔루션이 있다.

VM의 활용 용도

VM은 소프트웨어가 물리적 호스트 컴퓨터와 분리되므로, 단일 하드웨어에서 여러 운영체제 인스턴스를 실행되고 결과적으로 회사의 시간과 관리 비용, 물리적 공간을 절약할 수 있다. 또한, VM을 이용해 레거시 앱을 사용할 수 있으므로, 이전 앱을 업데이트하거나 다른 운영체제로 마이그레이션할 필요성과 비용을 줄이거나 없앨 수 있다.

또한 VM을 사용하면 개발자가 안전한 샌드박스 환경에서 앱을 테스트할 수 있다. 예를 들어 애플리케이션이 새 운영체제에서 작동하는지 확인하려면 새 하드웨어와 운영체제를 미리 구매하는 대신 VM을 활용해 소프트웨어를 테스트할 수 있다. 실제로 마이크로소프트는 최근 개발자가 기본 컴퓨터를 업데이트하지 않고도 윈도우 11에 포함된 평가용 VM을 다운로드해 운영체제를 사용해 볼 수 있는 무료 윈도우 VM을 업데이트하기도 했다. 이는 특정 VM 인스턴스를 감염시킬 수 있는 악성코드를 격리하는 데도 도움이 된다. VM 내부의 소프트웨어는 호스트 컴퓨터를 조작할 수 없으므로, 악성 소프트웨어가 더 큰 피해를 주는 것을 막을 수 있다.

VM의 단점

VM에는 몇 가지 단점이 있다. 하나의 물리적 호스트에서 여러 VM을 실행하면 특히 특정 애플리케이션의 인프라 요구 사항이 충족되지 않는 경우 성능이 불안정해질 수 있다. 또한, 물리적 컴퓨터와 비교할 때 효율성이 떨어지고, 물리적 서버가 다운되면 그 서버에서 실행 중인 모든 애플리케이션이 다운된다. 그래서 대부분 IT 조직은 물리적 시스템과 가상 시스템을 균형 있게 활용한다.

가상화의 또 다른 형태

서버 가상화가 큰 성공을 거두면서 스토리지, 네트워킹, 데스크톱 등 다른 영역에도 가상화가 확산했다. 실제로 데이터센터에서 사용 중인 하드웨어의 경우 애플리케이션 전송 컨트롤러처럼 이를 가상화하는 개념이 진행 중일 가능성이 크다.

예를 들어 네트워크 가상화 분야에서는, 상용 서버를 사용해 특수 네트워크 어플라이언스를 대체해 더 유연하고 확장 가능한 서비스를 가능하게 하는 서비스형 네트워크 옵션과 네트워크 기능 가상화(NFV)가 부상하고 있다. 이는 네트워크 제어 플레인과 포워딩 플레인을 분리해 더 자동화된 프로비저닝과 정책 기반 네트워크 리소스 관리를 가능하게 하는 소프트웨어 정의 네트워킹과 차별화된다. 가상 네트워크 기능도 있는데, 라우팅, 방화벽, 부하 분산, WAN 가속, 암호화와 같은 프로세스를 포함해 NFV 환경에서 실행할 수 있는 소프트웨어 기반 서비스다.

이런 기술을 활용해 제품을 개발하는 대표적인 기업이 버라이즌이다. 기업이 필요에 따라 새로운 서비스와 기능을 사용하는 가상 네트워크 서비스를 제공하기 위해 NFV를 사용한다. 구체적인 서비스에는 가상 애플리케이션, 라우팅, 소프트웨어 정의 WAN, WAN 최적화, VoIP 및 통합 커뮤니케이션과 같은 IP 기반 실시간 서비스가 있고, 이런 서비스를 중앙에서 관리하고 안전하게 배포하는 서비스형 세션 보더 컨트롤러(SBCaaS)도 있다.

VM과 컨테이너

VM의 확산은 컨테이너와 같은 기술의 발전으로 이어졌고, 이 개념은 한 단계 더 진화해 웹 애플리케이션 개발자 사이에서 인기를 얻고 있다. 컨테이너 환경에서는 단일 애플리케이션과 그 종속성을 가상화할 수 있다. VM보다 오버헤드가 훨씬 적은 컨테이너에는 바이너리, 라이브러리, 애플리케이션만 포함된다.

일부에서는 컨테이너의 개발로 인해 VM이 사라질 수 있다고 전망하지만, VM은 그만의 충분한 기능과 이점으로 인해 더 발전할 가능성이 크다. 예를 들어, 여러 애플리케이션을 함께 실행하거나 구형 운영체제에서 레거시 애플리케이션을 실행할 때 VM은 여전히 유용하다. 반면 컨테이너는 애플리케이션이 공유하는 운영체제가 하나뿐이지만 VM은 애플리케이션과 운영체제를 분리할 수 있으므로 컨테이너가 VM 하이퍼바이저보다 덜 안전하다고 생각하는 사람도 있다.

IDC의 소프트웨어 정의 컴퓨팅 담당 리서치 매니저인 게리 첸은 2019~2022년 전 세계 VM 소프트웨어 전망 보고서를 통해 "많은 기업이 클라우드 아키텍처와 컨테이너 기술을 검토하는 가운데 VM 소프트웨어 시장은 여전히 인프라 기술로 주목받고 있다. VM 소프트웨어 시장은 매우 성숙하고 포화 상태에 가까워졌음에도 놀라울 만큼 탄력적이며 향후 5년 동안 긍정적인 성장세를 지속할 것이다"라고 전망했다.

VM과 5G, 엣지 컴퓨팅

VM은 5G와 엣지 컴퓨팅 같은 신기술의 일부 요소이기도 하다. 예를 들어, 코로나 이후 하이브리드 워크가 확산하는 가운데 마이크로소프트, VM웨어, 시트릭스 같은 가상 데스크톱 인프라(VDI) 업체는 재택근무 중인 직원에게 VDI 시스템을 확장해 제공하는 솔루션을 판매하고 있다.

카네기멜론대학의 컴퓨터 과학 교수인 마하데브 사티아나라야난은 "VDI를 사용하면 키 입력과 마우스 움직임을 기본적으로 원격 데스크톱으로 전송하기 때문에 지연 시간이 매우 짧아야 한다"라고 말했다. 그는 지난 2009년 VM 기반 클라우드렛(cloudlet, 인터넷 가장자리에 있는 소규모 클라우드 데이터센터)을 사용해 모바일 기기에서 연산 기능을 제공하는 방법에 대한 이론을 제시했고, 이는 엣지 컴퓨팅의 개발로 이어졌다.

5G 무선 공간에서도 VM이 사용된다. 소프트웨어 정의 네트워킹과 NFV 기술을 사용하는 네트워크 슬라이싱 프로세스를 가상화된 서버의 VM에 네트워크 기능을 설치하고 기존까지 고가의 하드웨어에서만 실행할 수 있던 서비스를 제공할 수 있다. 5G와 엣지 컴퓨팅은 한 사례일 뿐이다. 오늘날 쓰이는 다른 기존 기술과 신기술 역시 수십 년 전에 도입된 최초의 VM 개념이 없었다면 나오지 못했을 것이다.
editor@itworld.co.kr

Keith Shaw editor@itworld.co.kr
저작권자 한국IDG & ITWorld, 무단 전재 및 재배포 금지
기사가 속한 카테고리는 언론사가 분류합니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.