it-swarm-ko.tech

Xen vs. VirtualBox가 과중한 경우?

가상 서버, Xen 또는 VirtualBox에서 CPU 및 메모리 사용량이 많을 때 성능이 더 좋은 것은 무엇입니까?

10
chaos

VirtualBox는 게스트 OS가 가상 환경에서 실행되고 있음을 알지 못하는 방식으로 게스트 OS를 실행하기 때문에 Xen은 일반적으로 VirtualBox보다 성능이 훨씬 뛰어납니다. 즉, 게스트 OS가 가상으로 실행되도록 수정되지 않았습니다. 이 때문에 VirtualBox는 커널 유형 명령을 '트랩'하고 일부 사용자 지정 코드를 실행 한 다음 게스트에게 제어를 반환해야합니다. Intel 및 AMD에서 제공하는 하드웨어 가상화 지원을 사용할 수 있지만 그 후에도 오버 헤드가 증가합니다.

한편 Xen은 게스트 OS가 Xen 모델에 맞게 재 컴파일되었는지 확인합니다. 따라서 게스트 OS가 하드웨어에 직접 액세스 할 수 있다고 가정 할 필요없이 게스트 OS에서 하이퍼 바이저로 제어가 원활하게 진행됩니다.

성능 테스트 데이터를 포함하여 상당수의 가상화 기술에 대한 개요는 이 보고서 를 참조하십시오. Linux에 대해서만 이야기하지만 Linux-Vserver, Xen, OpenVZ, KVM, VirtualBox 및 QEMU를 다룹니다. Linux-Vserver와 Xen은 일반적으로 최고의 성능을 보였지만 보고서를 읽고 다양한 워크로드를 확인했습니다.

위의 모든 것을 말했지만 VirtualBox가 Xen을 능가하는 영역이있을 수 있습니다. 게스트 OS에 그래픽 창 계층이있는 경우 VirtualBox는 특히 게스트 OS에 일부 특수 VirtualBox 구성 요소를 설치하는 경우이를 지원합니다.

마지막으로 Xen은 수정 된 게스트 OS 만 실행한다는 점을 알고 있어야합니다. 수정되지 않은 게스트 OS는 실행할 수 없습니다.

25
Hamish Downer

Hamish Downer의 대답 마지막 요점에서 잘못되었습니다. Xen은 수정되지 않은 게스트를 실행할 수 있지만 완전히 가상화 된 HVM 게스트로 실행해야합니다. 이렇게하려면 호스트 컴퓨터가 Intel VT 또는 AMD-V 가능 CPU를 사용하는 하드웨어 가상화를 지원해야합니다.

Xen과 Virtualbox는 각각 장소가 있지만 두 가지 유형의 하이퍼 바이저입니다. Xen은 유형 1 하이퍼 바이저이며 Virtualbox는 유형 2 하이퍼 바이저입니다. Type 1 하이퍼 바이저는 데스크톱으로 상호 작용하는 여러 OS를 실행하는 데 Type 2 하이퍼 바이저가 더 일반적인 경향이있는 서버 환경에서 찾을 수있는 경향이 있습니다. 나는 이것이 주로 단순성과 더 나은 데스크탑 통합 때문이라고 생각합니다. 그러나 유형 2 하이퍼 바이저의 게스트는 기본 하드웨어에서 더 멀리 떨어져 있으며 유형 1 하이퍼 바이저의 게스트보다 속도가 느린 경향이 있습니다. 모든 것과 마찬가지로 규칙에는 항상 예외가 있습니다.

29
3dinfluence

Mac 데스크톱에서 Windows 시스템을 가상화하는 데 Virtualbox를 사용한 적이 있기 때문에 Xen에 대해서만 말할 수 있습니다.

다른 사람들이 언급했듯이 Xen (및 Xen을 기반으로하는 XenServer)은 CPU 및 메모리 바인딩 성능 특성을 대폭 향상시키는 반 가상화 커널을 사용합니다. 그러나 이것은 특수 커널이있는 Linux 호스트에만 해당됩니다. 이를 활용하려면 Xen이 활성화 된 커널이 필요합니다.

또한 Windows는 이러한 방식으로 가상화되는 것을 지원하지 않지만 해당 CPU의 Intel VT 및 AMD-V 확장은 Windows를 "포착"하여 반 가상화 방식으로 작동합니다. Windows 2003 및 Windows 2000은 가상화 된 상태로 실행되고 있다는 사실을 전혀 인식하지 못하는 반면 Windows 2008은이를 감지하여 Linux "반 가상화"모드와 비교할 수있는 이른바 "인식 화"모드로 실행합니다.

3
user1952