2009-03-07 7 views
2

가상 머신을 사용하여 여러 OS를 호스팅하는 방법을 찾고 있습니다. 많은 솔루션이있는 무료 솔루션을 찾고 있습니다. 저는 하이퍼 바이저가 무엇인지, 왜 "표준"가상 머신과 다른지 또는 더 나은지 혼란 스럽습니다. 표준을 의미 할 때 벤치 마크 가상 시스템 VMWare Server 2.0을 사용할 것입니다.Hypervisor VM의 이점은 무엇입니까?

최대 3 개의 VM을 실행할 수있는 4GB 램이 장착 된 이중 코어 시스템의 경우. 어떤 것이 최선의 선택입니까? 하이퍼 바이저 또는 비 하이퍼 바이저와 그 이유는 무엇입니까? 이미 Wikipedia 기사를 읽었지만 기술적 세부 사항은 내 머리 위로 끝납니다. 나는이 VM 버릇이 나를 위해 무엇을 할 수 있는지에 대한 기본적인 답을 필요로한다.

내 주요 질문은 여러 환경에서 테스트를 수행하는 방법과 관련이 있습니다. 나는 OSes의 격리에 대해 우려하고 있으므로 여러 OS에서 동시에 응용 프로그램을 테스트 할 수 있습니다. 또한 실제 기계가 어떻게 작동하는지 더 가까운 경험을주는 어떤 맛이 있습니까?

(하이퍼 바이저)

  • 의 Hyper-V

(비 하이퍼 바이저)

  • 버추얼 :

    나는 다음을 고려 중이 야

  • VM웨어 서버 2.0
  • 가상 PC 2007

*가 목록에 한 가상 머신의 분류가 잘못되었을 수 있습니다.

답변

5

가장 큰 차이점은 Hyper-V는 운영 체제에서 실행되지 않고 대신 하이퍼 바이저라고하는 얇은 계층에서 실행되는 시스템과 함께 실행된다는 것입니다. Hypervisor는 여러 운영 체제가 동시에 호스트 컴퓨터에서 실행될 수있게 해주는 컴퓨터 하드웨어 플랫폼 가상화 소프트웨어입니다.

다른 많은 가상화 솔루션은 에뮬레이션과 같은 다른 기술을 사용합니다. 자세한 내용은 Wikipedia을 참조하십시오.

+0

이렇게하면 하이퍼 바이저가 일반 VM만큼 고립되어 있지 않다는 뜻입니까? 또한 이것은 VM의 결함이 실제 OS로 유출 될 수 있음을 의미합니까? 그렇다면 하이퍼 바이저가 테스트 환경에서 원하는 것이 아닐 수도 있습니다. –

+0

@ 제레미, 그건 완전히 반대입니다. –

+0

에는 KVM (Kernel Based Virtual Machine)도 포함해야합니다. 이것은 기본적으로 표준 Linux 커널 코어에 내장 된 하이퍼 바이저입니다. 2.6.0 이후로 커널에 포함되었습니다. 자세한 정보는 http://www.linux-kvm.org/page/Main_Page를 참조하십시오. –

5

면책 조항, 아래 사항은 모두 (광범위하게) 내 의견입니다.

가상 컴퓨터 모니터 (하이퍼 바이저)를 매우 작은 마이크로 커널로 생각하면 도움이됩니다. 이벤트 채널 모니터링과 게스트 도메인에 특정 리소스에 대한 액세스 권한 부여와 같은 기본 하드웨어 액세스 이외의 작업은 거의 없습니다. 일정한 종류의 스케줄러가 시행됩니다.

모든 게스트 컴퓨터는 다른 컴퓨터를 완전히 인식하지 못하기 때문에 격리가 이루어집니다. 손님은 특권을 가진 손님 (또는 서로)과 메모리를 공유하지 않습니다. 따라서이 경우 VMM에 관한 한 각 게스트 (심지어 권한있는 게스트조차도)를 프로세스로 생각할 수 있습니다. 일반적으로 첫 번째 게스트는 나머지 권한을 관리 할 수 ​​있도록 추가 권한을 얻습니다. 가상 컴퓨터를 프로덕션 환경에 적용하고 전세계에 노출시킬 때 사용하는 이상적인 기술입니다.

또한 일부 게스트를 패치하여 하이퍼 바이저를 인식하고 성능을 크게 높일 수 있습니다.

반면 VMWare 및 QEMU는 호스트 커널에 의존하여 베어 메탈 및 충분한 메모리에 대한 액세스를 제공합니다. 그들은 모든 게스트가 완전한 머신을 제공받을 필요가 있다고 가정합니다. 가상 머신의 한계가 될 수있는 한계를 제시합니다. 장치 매퍼 QoS가 일반적으로 구현되지 않기 때문에 더 많거나 적게 말합니다. 이것은 다른 OS 또는 일부 다른 아키텍처에서 코드를 시도하기위한 이상적인 솔루션입니다. 많은 사람들이 QEMU, Simics 또는 때때로 VMWare (제품에 따라 다름)를 '시뮬레이터'라고 부를 것입니다.

생산 롤아웃을 위해 나는 QEMU, Simics 또는 VirtualBox를 사용하여 크로스 컴파일 한 것을 테스트하기 위해 Xen을 사용합니다.

새로운 운영 체제 및 아키텍처에서 새로운 코드를 테스트/롤업하는 경우 # 2를 적극 권장합니다. 내성 검사가 필요하다면 (즉, 게스트 프로그램에서 게스트 프로그램이 실행될 때 게스트 메모리가 변경되는 것을 보는 것) ... 대답하기 전에 더 많은 설명이 필요합니다.