문제

저는 여러 OS를 호스팅하기 위해 가상 머신을 사용하는 방법을 모색하고 있으며 많은 OS가 있는 무료 솔루션을 찾고 있습니다.하이퍼바이저가 무엇이고 "표준" 가상 머신과 다르거나 더 나은 이유가 무엇인지 혼란스럽습니다.표준을 의미할 때는 벤치마크 가상 머신 VMWare Server 2.0을 사용하겠습니다.

최대 3개의 VM을 실행할 수 있는 4GB RAM을 갖춘 듀얼 코어 시스템의 경우.최선의 선택은 무엇입니까?하이퍼바이저 또는 비하이퍼바이저, 그리고 그 이유는 무엇입니까?나는 이미 Wikipedia 기사를 읽었지만 기술적인 세부 사항은 내 머리 위에 있습니다.이러한 다양한 VM 버전이 나에게 어떤 역할을 할 수 있는지에 대한 기본적인 대답이 필요합니다.

내 주요 질문은 여러 환경에서 테스트를 수행하는 방법과 관련이 있습니다.동시에 여러 OS에서 애플리케이션을 테스트할 수 있도록 OS를 격리하는 것이 걱정됩니다.또한 실제 기계가 어떻게 작동하는지 더 자세히 경험할 수 있는 맛은 무엇입니까?

나는 다음을 고려하고 있습니다 :

(하이퍼바이저)

  • 하이퍼-V

(비하이퍼바이저)

  • 버추얼박스
  • VM웨어 서버 2.0
  • 가상 PC 2007

*나열한 VM의 분류가 정확하지 않을 수 있습니다.

도움이 되었습니까?

해결책

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

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

다른 팁

면책 조항, 아래의 모든 내용은 (대체로) 내 의견입니다.

가상 머신 모니터(하이퍼바이저)를 매우 작은 마이크로커널로 간주하는 것이 도움이 됩니다.이벤트 채널 모니터링, 게스트 도메인에 특정 리소스에 대한 액세스 권한 부여 등 기본 하드웨어에 액세스하는 것 외에는 작업이 거의 없습니다.일종의 스케줄러를 시행하는 동안.

모든 게스트 머신은 다른 머신을 전혀 인식하지 못합니다. 격리는 사실입니다.게스트는 권한이 있는 게스트(또는 서로)와 메모리를 공유하지 않습니다.따라서 이 경우 VMM에 관한 한 각 게스트(권한 있는 게스트 포함)를 하나의 프로세스로 (대략) 생각할 수 있습니다.일반적으로 첫 번째 게스트는 나머지를 관리할 수 있도록 추가 권한을 얻습니다.이는 가상 머신이 프로덕션에 투입되어 세상에 노출될 때 사용하기에 이상적인 기술입니다.

또한 일부 게스트는 하이퍼바이저를 인식하도록 패치를 적용하여 성능을 크게 향상시킬 수 있습니다.

반면에 호스트 커널을 사용하여 베어 메탈에 대한 액세스와 존재하기에 충분한 메모리를 제공하는 VMWare 및 QEMU와 같은 제품이 있습니다.그들은 모든 게스트에게 완전한 머신이 제공되어야 한다고 가정하며, 이를 제시하는 프로세스에 대한 제한은 (다소) 가상 머신의 한계가 됩니다.이렇게 말하는 이유는 장치 매퍼 QoS가 일반적으로 구현되지 않기 때문입니다.이는 다른 OS나 다른 아키텍처에서 코드를 시험해 볼 때 이상적인 솔루션입니다.많은 사람들이 QEMU, Simics 또는 때로는 VMWare(제품에 따라)를 '시뮬레이터'라고 부릅니다.

프로덕션 출시에는 Xen을 사용하고, 방금 크로스 컴파일한 것을 테스트하려면 QEMU, Simics 또는 VirtualBox를 사용합니다.

다양한 운영 체제 및 아키텍처에서 새로운 코드를 테스트/롤링하는 경우 #2를 적극 권장합니다.당신의 필요가 자기 성찰인 경우(예:게스트에서 나쁜 프로그램이 실행될 때 게스트 메모리가 변경되는 것을 지켜보는 중) ...대답하기 전에 더 많은 설명이 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top