vmware 나 virtualbox 가 CPU 의 가상화 기능 있으면 더 ??
글쓴이: nonots / 작성시간: 수, 2010/01/13 - 5:28오후
노트북이 인텔 듀얼코어 P8700 인데 VT 기능이 있는 겁니다.
..
여기 윈도7 에서 vmware 나 virtualbox 로 게스트로 리눅스를 설치하려고 합니다.
..
이럴때 cpu에 가상화 기능 있고 없고에 따라서 성능이 차이가 나나요?
..
즉 vmware 나 virtualbox 가 cpu 가상화 기능을 사용하나요?
Forums:
성능은 모르겠는데 vbox는 cpu에서 지원하면 사용합니다/
즐린
시스템에 보면 관련 옵션이 있습니다.
cpu에서 지원안하면 선택못하게 되어있고.
즐린
http://communities.vmware.com
http://communities.vmware.com/docs/DOC-9150
이걸 보니 vmware 에서도 cpu 가상화 기능을 지원되는군요.
=== 건달의 경지를 꿈꾸며 ===
=== 건달의 경지를 꿈꾸며 ===
여기서 잠시... CPU의
여기서 잠시...
CPU의 가상화 기능은 Hypervisor에서 당연히 지원하는 기능인데, VT 기능은 조금 다른 목적으로 사용됩니다.
일반적으로, Full Virtualization이라고 부르는 것들 (VMware 가 대표적이죠)은 VT 기능의 있고 없고가 VM에서 전혀 중요한 요소가 아닙니다. 그 이유는, VM에서 내린 명령어중에서 물리적인 CPU에서 바로 수행되어야 할 것은 hypervisor에서 별도의 translation을 거치지 않고 bypass 하도록 처리하고(속도를 위해), 만약에 VM에서 CPU에 어떤 명령어를 내렸는데, (예를 들어 CPU halt) 이 명령어가 물리적인 CPU로 전달이 되면 VM의 vCPU가 halt 되는 것이 아니라, 물리적인 CPU가 halt 되므로, bypass하지 않고, hypervisor가 이를 적당한 명령어 (vCPU halt)로 변환하여 처리하도록 되어 있습니다.
반면에, paravirtualization의 경우는 hypervisor가 위와 같은 경우에 별도의 tranaslation을 처리하지 않으므로, 바로 물리적인 CPU로 명령어가 전달이 되어, 문제가 발생할 수 있습니다. 따라서, para virtualization의 경우에는 VM의 커널을 변경함으로써(리눅스 VM에서 Xen Kernel 등을 올리게 되죠... VM에서) 아예 VM에서는 물리적인 CPU에 영향을 끼치는 명령어를 전달하지 못하도록 합니다.
문제는 para virtualization의 경우에 Windows를 VM으로 설치할 경우, 리눅스와 달리 커널을 변경하는 것이 불가능하게 되므로, vCPU에 대한 명령어가 물리적인 CPU로 전달될 수 있습니다. 이를 방지하는 방법으로 고안된 것이 인텔의 VT 기능과 AMD의 AMD-V 인데, 이는 VM에서 CPU에 대해서 처리할 명령어가 hypervisor를 통해서 물리적인 CPU로 전달이 되면, CPU 자체의 VT 기능이 VM에서 내린 명령이라고 판단하여, VM으로 돌려주는 역할을 하게 됩니다.
VMware에서 VT를 사용한다는 것은 translation을 하지 않고, Xen과 유사하게 이를 Hardware CPU에서 전담하도록 bypass 하게 되어, Xen처럼 처리하겠다는 뜻입니다. 일장 일단이 있습니다. 리눅스의 경우 VT 기능을 사용하게 된다면 굳이 커널을 변경할 필요가 없게 되고 커널에 민감한 어플리케이션을 VM에서 돌리는데 문제가 없게 됩니다.
반면 kernel을 xen용으로 변경하게 되면 특정 버전의 커널에서만 돌아가는 어플의 경우, 문제가 생길 수 있겠지요.
그림 참조하세요~
--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러
--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러
좋은 글이군요..
좋은 글이군요.. 상세한 내용 잘 읽었습니다.
=== 건달의 경지를 꿈꾸며 ===
=== 건달의 경지를 꿈꾸며 ===
댓글 달기