vmware 나 virtualbox 가 CPU 의 가상화 기능 있으면 더 ??

nonots의 이미지

노트북이 인텔 듀얼코어 P8700 인데 VT 기능이 있는 겁니다.
..
여기 윈도7 에서 vmware 나 virtualbox 로 게스트로 리눅스를 설치하려고 합니다.
..
이럴때 cpu에 가상화 기능 있고 없고에 따라서 성능이 차이가 나나요?
..
즉 vmware 나 virtualbox 가 cpu 가상화 기능을 사용하나요?

hys545의 이미지

즐린

시스템에 보면 관련 옵션이 있습니다.
cpu에서 지원안하면 선택못하게 되어있고.

즐린

nonots의 이미지

http://communities.vmware.com/docs/DOC-9150

이걸 보니 vmware 에서도 cpu 가상화 기능을 지원되는군요.

=== 건달의 경지를 꿈꾸며 ===


=== 건달의 경지를 꿈꾸며 ===

mycluster의 이미지

여기서 잠시...
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용으로 변경하게 되면 특정 버전의 커널에서만 돌아가는 어플의 경우, 문제가 생길 수 있겠지요.

그림 참조하세요~

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

댓글 첨부 파일: 
첨부파일 크기
Image icon aaa.png38.29 KB

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

nonots의 이미지

좋은 글이군요.. 상세한 내용 잘 읽었습니다.

=== 건달의 경지를 꿈꾸며 ===


=== 건달의 경지를 꿈꾸며 ===

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.