가상 머신이란 무엇입니까? (사용 이유와 시기)

  • 이 공유
Cathy Daniels

소프트웨어 업계에서 일하거나 그 주변에서 일하는 경우 가상 머신에 대해 들어보셨을 것입니다. 그렇지 않은 경우 가상 머신이 무엇이며 어떤 용도로 사용되는지 궁금할 수 있습니다.

소프트웨어 엔지니어로서 저는 매일 가상 머신을 사용합니다. 소프트웨어 개발에서 강력한 도구이지만 다른 용도로도 사용됩니다. VM이라고도 하는 많은 기업에서 유연성, 안정성 및 비용 효율성 때문에 VM을 사용합니다. 또한 폭주하는 소프트웨어 테스트로 인한 재해를 방지합니다.

가상머신이 무엇이고 왜 사용하는지 알아보겠습니다.

가상머신이란?

가상 머신은 컴퓨터의 기본 OS 내에서 실행되는 Windows, Mac OS 또는 Linux와 같은 운영 체제(OS)의 인스턴스입니다.

일반적으로 데스크톱의 앱 창에서 실행됩니다. 가상 머신은 모든 기능을 갖추고 있으며 별도의 컴퓨터 또는 머신처럼 작동합니다. 본질적으로 가상 머신은 호스트 머신으로 알려진 다른 컴퓨터 내에서 실행되는 가상 컴퓨터입니다.

이미지 1: 노트북에서 실행되는 가상 머신.

가상 머신은 하드웨어(메모리, 하드 드라이브, 키보드 또는 모니터)가 없습니다. 호스트 컴퓨터에서 시뮬레이션된 하드웨어를 사용합니다. 이 때문에 "게스트"라고도 하는 여러 VM을 단일 호스트 시스템에서 실행할 수 있습니다.

이미지 2: 여러 VM을 실행하는 호스트 시스템.

호스트 운영 방식이 다른 여러 VM을 실행할 수도 있습니다.Linux, Mac OS 및 Windows를 포함한 시스템. 이 기능은 하이퍼바이저라는 소프트웨어에 따라 달라집니다(위의 이미지 1 참조). 하이퍼바이저는 호스트 머신에서 실행되며 가상 머신을 생성, 구성, 실행 및 관리할 수 있습니다.

하이퍼바이저는 디스크 공간을 할당하고 처리 시간을 예약하며 각 VM의 메모리 사용량을 관리합니다. Oracle VirtualBox, VMware, Parallels, Xen, Microsoft Hyper-V 등의 애플리케이션이 바로 하이퍼바이저입니다.

하이퍼바이저는 랩탑, PC 또는 서버에서 실행할 수 있습니다. 로컬 컴퓨터나 네트워크에 분산된 사용자가 가상 ​​머신을 사용할 수 있도록 합니다.

여러 유형의 가상 머신과 환경에는 서로 다른 유형의 하이퍼바이저가 필요합니다. 그 중 일부를 살펴보겠습니다.

가상 머신 유형

시스템 가상 머신

종종 전체 가상화라고도 하는 시스템 VM은 하이퍼바이저에 의해 실행되며 다음을 제공합니다. 실제 컴퓨터 시스템의 기능. 호스트의 기본 운영 체제를 사용하여 시스템 리소스를 관리하고 공유합니다.

시스템 가상 머신에는 종종 고속 CPU 또는 다중 CPU, 대용량 메모리, 엄청난 양의 디스크 공간을 갖춘 강력한 호스트가 필요합니다. 개인용 또는 랩톱 컴퓨터에서 실행되는 일부는 대기업 가상 서버에 필요한 컴퓨팅 성능이 필요하지 않을 수 있습니다. 그러나 호스트 시스템이 적절하지 않으면 느리게 실행됩니다.

프로세스 가상머신

프로세스 가상 머신은 SVM과 상당히 다릅니다. 여러분의 머신에서 실행 중이지만 알지 못할 수도 있습니다. 애플리케이션 가상 머신 또는 관리형 런타임 환경(MRE)이라고도 합니다. 이러한 가상 머신은 호스트 운영 체제 내에서 실행되며 애플리케이션 또는 시스템 프로세스를 지원합니다.

PVM을 사용하는 이유는 무엇입니까? 특정 운영 체제나 하드웨어에 의존하지 않고 서비스를 수행합니다. 그들은 필요한 리소스만 있는 작은 OS를 가지고 있습니다. MRE는 별도의 환경에 있습니다. Windows, Mac OS, Linux 또는 기타 호스트 머신에서 실행되는지 여부는 중요하지 않습니다.

가장 일반적인 프로세스 가상 머신 중 하나는 여러분이 들어본 적이 있거나 실행되는 것을 본 적이 있는 머신입니다. 너의 컴퓨터. Java 애플리케이션을 실행하는 데 사용되며 줄여서 JVM(Java Virtual Machine)이라고 합니다.

하이퍼바이저 유형

우리가 관심을 갖는 대부분의 가상 머신은 에뮬레이션하기 때문에 하이퍼바이저를 사용합니다. 전체 컴퓨터 시스템. 베어 메탈 하이퍼바이저와 호스팅된 하이퍼바이저의 두 가지 유형의 하이퍼바이저가 있습니다. 둘 다 간단히 살펴보겠습니다.

베어메탈 하이퍼바이저

BMH는 기본 하이퍼바이저라고도 하며 호스트의 운영 체제 내에서 실행되는 대신 호스트의 하드웨어에서 직접 실행됩니다. 실제로 호스트의 운영 체제, 스케줄링 및각 가상 머신의 하드웨어 사용을 관리하여 프로세스에서 "중간자"(호스트의 OS)를 제거합니다.

기본 하이퍼바이저는 일반적으로 기업에서 직원에게 다음을 제공하는 대규모 엔터프라이즈 VM에 사용됩니다. 서버 자원. Microsoft Azure 또는 Amazon Web Services는 이러한 유형의 아키텍처에서 호스팅되는 VM입니다. 다른 예로는 KVM, Microsoft Hyper-V 및 VMware vSphere가 있습니다.

호스팅된 하이퍼바이저

호스팅된 하이퍼바이저는 우리 시스템에서 실행하는 다른 애플리케이션과 마찬가지로 표준 운영 체제에서 실행됩니다. 호스트의 OS를 사용하여 리소스를 관리하고 배포합니다. 이 유형의 하이퍼바이저는 컴퓨터에서 여러 운영 체제를 실행해야 하는 개별 사용자에게 더 적합합니다.

여기에는 Oracle VirtualBox, VMware Workstations, VMware Fusion, Parallels Desktop 등과 같은 애플리케이션이 포함됩니다. 최고의 가상 머신 소프트웨어 문서에서 호스팅된 하이퍼바이저에 대한 자세한 정보를 찾을 수 있습니다.

가상 머신을 사용하는 이유는 무엇입니까?

이제 가상 머신이 무엇인지 기본적으로 이해했으므로 몇 가지 뛰어난 애플리케이션을 생각할 수 있을 것입니다. 다음은 사람들이 가상 머신을 사용하는 주요 이유 중 일부입니다.

1. 비용 효율적

가상 머신은 다양한 상황에서 비용 효율적입니다. 가장 눈에 띄는 것 중 하나는 기업 세계입니다. 물리적 서버를 사용하여 직원에게 리소스를 제공하면 다음을 수행할 수 있습니다.매우 비싸다. 하드웨어는 저렴하지 않으며 유지 관리 비용은 훨씬 더 많이 듭니다.

가상 머신을 엔터프라이즈 서버로 사용하는 것이 이제 표준이 되었습니다. MS Azure와 같은 제공업체의 VM을 사용하면 초기 하드웨어 구매와 유지 보수 비용이 없습니다. 이러한 VM은 시간당 단돈 푼으로 설정, 구성 및 사용할 수 있습니다. 또한 사용하지 않을 때는 종료할 수 있으며 비용이 전혀 들지 않습니다.

머신에서 VM을 사용하면 비용도 크게 절약할 수 있습니다. 여러 운영 체제나 다른 하드웨어 구성에서 작업해야 하는 경우

하나의 호스트에서 여러 가상 머신을 사용할 수 있습니다. 각 작업을 위해 별도의 컴퓨터를 구입하거나 구입할 필요가 없습니다.

2. 확장성 및 유연성

엔터프라이즈 서버이든 랩탑에서 실행되는 VM이든 가상 머신은 확장 가능합니다. 필요에 맞게 리소스를 쉽게 조정할 수 있습니다. 더 많은 메모리나 하드 디스크 공간이 필요한 경우 하이퍼바이저로 이동하여 더 많은 공간을 갖도록 VM을 재구성하십시오. 새 하드웨어를 구입할 필요가 없으며 프로세스를 신속하게 완료할 수 있습니다.

3. 빠른 설정

새 VM을 빠르게 설정할 수 있습니다. 새로운 VM 설정이 필요한 경우를 관리하는 동료에게 전화를 걸어 1시간 이내에 사용할 준비가 된 경우가 있습니다.

4. 재해 복구

데이터 손실을 방지하고 재해 복구를 준비하려는 경우 VM은훌륭한 도구. 백업하기 쉽고 필요한 경우 다른 위치에 배포할 수 있습니다. Microsoft 또는 Amazon과 같은 제3자가 가상 ​​머신을 호스팅하는 경우 가상 머신은 오프사이트에 있게 됩니다. 즉, 사무실에 불이 나더라도 데이터가 안전합니다.

5. 재현하기 쉬움

대부분의 하이퍼바이저는 VM의 사본 또는 이미지를 만들 수 있습니다. 이미징을 사용하면 모든 상황에서 동일한 기본 VM의 정확한 복제를 쉽게 스핀업할 수 있습니다.

제가 일하는 환경에서 우리는 모든 개발자에게 개발 및 테스트에 사용할 VM을 제공합니다. 이 프로세스를 통해 필요한 모든 도구와 소프트웨어로 이미지를 구성할 수 있습니다. 새로운 개발자가 온보딩할 때 우리가 해야 할 일은 해당 이미지의 복사본을 만드는 것뿐이며, 작업에 필요한 것이 있습니다.

6. 개발/테스트에 완벽함

가상 머신 사용의 가장 큰 이점 중 하나는 소프트웨어 개발 및 테스트를 위한 완벽한 도구라는 것입니다. VM을 사용하면 개발자가 하나의 시스템에서 여러 플랫폼과 환경을 개발할 수 있습니다. 해당 VM이 손상되거나 파괴되면 새 VM을 신속하게 생성할 수 있습니다.

테스터는 모든 테스트 주기에 대해 깨끗한 새 환경을 가질 수 있습니다. 저는 새 VM을 생성하고, 최신 소프트웨어 버전을 설치하고, 필요한 모든 테스트를 실행하고, 테스트가 완료되면 VM을 삭제하는 자동 테스트 스크립트를 설정하는 프로젝트에서 일했습니다.

VM은 다음에 대해 훌륭하게 작동합니다.SoftwareHow.com에서 수행하는 것과 같은 제품 테스트 및 리뷰. 내 컴퓨터에서 실행 중인 VM에 앱을 설치하고 기본 환경을 어지럽히지 않고 테스트할 수 있습니다.

테스트가 끝나면 언제든지 가상 머신을 삭제하고 필요할 때 새 가상 머신을 생성할 수 있습니다. 또한 이 프로세스를 통해 Windows 시스템만 가지고 있어도 여러 플랫폼에서 테스트할 수 있습니다.

결론

보시다시피 가상 시스템은 비용 효율적이고 다양한 기능을 수행할 수 있는 도구입니다. 많은 응용 프로그램에 사용됩니다. 더 이상 테스터, 개발자 및 기타 사용자에게 서버 액세스를 제공하기 위해 값비싼 하드웨어를 구매, 설정 및 유지 관리할 필요가 없습니다. VM은 우리에게 필요한 운영 체제, 하드웨어 및 환경을 언제든지 쉽고 빠르게 생성할 수 있는 유연성을 제공합니다.

저는 Adobe Illustrator 전문가인 Cathy Daniels입니다. 저는 버전 2.0부터 소프트웨어를 사용해 왔으며 2003년부터 이에 대한 자습서를 만들어 왔습니다. 제 블로그는 Illustrator를 배우고자 하는 사람들이 웹에서 가장 많이 방문하는 곳 중 하나입니다. 블로거로서의 작업 외에도 작가이자 그래픽 디자이너이기도 합니다.