가상 머신(Virltual Machine, VM)

문지원(JiwonMoon)·2023년 1월 23일
0

VM vs Container

목록 보기
1/2
post-thumbnail

가상 머신(VM)이란?

컴퓨터 상에 소프트웨어로 만들어낸 컴퓨터
하나의 물리자원(컴퓨터) 위에 하나의 OS만 있는 것을 효율화하고자 가상화층을 만들고 그 위에 OS를 새로 설치하는 기법

간단히 말해, 가상머신은 물리적 컴퓨터에서 실행하는 모든 소프트웨어를 실행하는 데 사용할 수 있는 소프트웨어 컴퓨터로 생각할 수 있고, 물리적 기계와 마찬가지로 가상머신에는 자체 운영 체제, 스토리지, 네트워킹 구성 설정 및 소프트웨어가 포함되어 있으며 해당 호스트에서 실행되는 다른 VM과 완전히 분리된다.

사용이유

실제로 있는 컴퓨터 시스템을 여러명의 사용자가 동시에 사용할 수 있게 하기 위해서

  • 따라서 하나의 컴퓨터를 여러명의 사용자가 동시에 사용할 수 있도록 여러 대의 작은 컴퓨터로 분할 사용하거나, 운영체제나 하드웨어 등의 구성을 달리하여 운영하고자 할 때 주로 사용된다.

장점

사용자는 자신만의 콘솔, 디스크, 등 갖춘 온전한 컴퓨터 시스템을 갖고 혼자서 사용하고 있는 것처럼 느끼게 된다

단점

1대의 컴퓨터상에서 여러개의 시스템을 동작시키는 것이 가능하므로 새로운 시스템의 개발등에 유리하지만 성능이 저하된다는 결점이 존재

가상화 유형

하드웨어 가상화:
컴퓨터 및 VM(운영 체제) 버전을 포함한 하드웨어를 가상화하면 하나의 가상화된 통합 기본 서버가 생성된다.

소프트웨어 가상화:
하나 이상의 게스트 OS가 물리적 호스트 시스템에서 실행될 수 있도록 하는 하드웨어를 포함한 컴퓨터 시스템을 만든다.

스토리지 가상화:
여러 개의 물리적 스토리지 디바이스를 통합하여 스토리지를 가상화하고, 이 장치는 단일 스토리지 단위로 제공되므로 성능 향상과 속도를 높일 수 있다.

네트워크 가상화:
물리적 네트워크 인프라에서 분리된, 전적으로 분산된 시스템 세트에 걸쳐 애플리케이션 기반 클라우드 가상 네트워킹을 지원한다. 네트워크 가상화는 채널 간 대역폭을 할당하여 서버 및 장치에 실시간으로 리소스를 제공합니다.

데스크톱 가상화:
데스크탑 환경을 물리적 장치에서 분리하고 원격 서버에 데스크탑을 저장하여 모든 장치에서 액세스할 수 있도록 합니다.

가상머신과 클라우드 컴퓨팅

가상화를 클라우드와 혼동하기 쉽다. 주된 이유는 둘 모두 네트워크 전체의 리소스에서 기능적 환경을 만드는 데 중점을 두기 때문이다. 그러나 가상화는 단일 하드웨어에서 여러 가상 시스템을 실행하는 기술이고, 하드웨어가 소프트웨어를 실행하므로 안전한 환경에서 동시에 독립적으로 실행할 수 있는 여러 운영 체제를 설치할 수 있어 성능이 저하되지 않는다.

반면, 클라우드는 네트워크에서 확장 가능한 리소스를 추상화, 풀링(pooling), 공유하는 IT 환경입니다.

가상화 기술에서 클라우드 컴퓨팅은 환경입니다. 가상화는 클라우드 컴퓨팅을 가능하게 하는 핵심 소프트웨어로서, 기업에서 이를 사용하지 않으면 경쟁에서 단점이 될 수 있을 만큼 필수적인 도구가 되었습니다.

가상머신과 컨테이너

컨테이너와 가상 머신은 개발자와 IT 전문가가 모두 소프트웨어를 테스트 및 개발하기 위해 격리된 가상 환경을 구축하는 데 사용된다. 가상 시스템은 호스트에 의존하여 전체 운영 체제를 실행하는 반면, 컨테이너는 호스트에서 응용 프로그램을 실행하는 격리된 것이다. 컨테이너는 운영 체제에 종속되지 않은 애플리케이션을 실행하며, 오히려 애플리케이션을 가상화하여 격리합니다.

컨테이너에 운영체제가 포함되어 있지 않으므로 컨테이너는 가상 머신보다 가볍고 휴대성이 뛰어납니다. 컨테이너는 이식 가능하지만 운영 체제의 제약을 받기 때문에 Linux에서 Windows용 컨테이너를 실행할 수 없습니다. 최종적으로 컨테이너 또는 가상 시스템 간의 결정은 가상 환경의 사용 방식에 따라 달라집니다

References (참고 자료)

0개의 댓글