가상머신 kvm과 vmware

ratmhun의 이미지

안녕하세요 윈도우에서 vmware를 사용하여 guest os로 리눅스를 설치해서 잘 사용했는데요 같은 PC에 리눅스를 설치해서 가상머신을 돌려보기로 했습니다 kvm이라는게 있더군요? 이걸 사용하려니 cpu가 가상화 기능을 지원해야 한다고 합니다

cat /proc/cpuinfo | grep vmx

이렇게 명령을 내렸을 때 저 처럼(PC가 오래 되긴 했습니다만... cpuinfo가 나오지 않으면 kvm을 쓸 수 없다는군요. ㅜㅜ
근데 궁금한 점은 같은 가상머신 기술 같은데 vmware는 잘 사용할 수 있는 반면 어째서 kvm은 사용할 수 없는걸까요?

ratmhun의 이미지

가상화를 지원하는 cpu목록입니다.
http://ark.intel.com/Products/VirtualizationTechnology

마잇의 이미지

쓰던데로 쓰세요.

리눅스 깔지 마시고.

힘들어요.


--
마잇

마잇의 이미지


--
마잇

mirheekl의 이미지

그리고 당연한 얘기지만 하드웨어적인 서포트가 많을 수록 퍼포먼스가 좋아지겠죠. 지원 내역은 가상화 프로그램마다 달라질수밖에 없고요.

뭐랄까.. 동영상으로 치면 소프트웨어 디코딩과 하드웨어 디코딩의 차이랄까요.

--

ratmhun의 이미지

제가 제대로 이해하고 있는지 모르겠습니다만,
kvm은 type 1 hypervisor, VMware는 type 2 hypervisor이기 때문에 이런 문제가 발생하는 것인가요?

검색해본 바에 따르면 type 1 hypervisor는 호스트 운영체제가 없이 vm을 돌리고 type 2 hypervisor는 호스트 운영체제 내에서 vm을 돌리더군요. VMware는 사용해본 경험이 있기 때문에 이해가 되는데요. kvm도 리눅스 내에서 돌아가기 때문에 결국 호스트 운영체제 내에서 돌아가는 것 아닐까요?(그럼 kvm도 VMware처럼 type 2 hypervisor라고 해야 하는 것 아닐까요?)

elflord의 이미지

vmware는 하이퍼바이져형(타입1)과 호스트형(타입2) 두가지가 있죠. 윈도우에 깔아쓰셨다니 호스트형을 쓰셨던거 같네요. 아마 Player? Player는 상당히 옛날부터 나온지라 CPU가 가상화를 지원하지 않아도 쓸수는 있을 겁니다. (최신버전의 경우는 가상화 지원CPU를 요구할 수도 있습니다) OS가 모든 가상머신의 명령을 에뮬레이트 해주니까요. vmware도 ESXi의 경우는 하이퍼바이져 형이라 CPU가 가상화를 지원하지 않으면 깔리지 않습니다.

하지만 KVM은 좀 특수하긴 하지만 일반적으로 하이퍼바이져형으로 분류합니다. 초기 인스톨한 OS가 그대로 쓰이니까 호스트형으로 착각하시는 분들도 계신데 KVM 위에서 돌아가는 모든 가상머신은 하이퍼 바이져 위에서 동작합니다. 가상머신의 QEMU가 KVM과 직접 통신하는데 KVM은 CPU의 가상화지원기능(Intel VT-x, AMD-V)이 필수입니다.


===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com

ratmhun의 이미지

친절한 답변 고맙습니다. 궁금했던게 한꺼번에 해결되었네요. 한 가지만 더요. 호스트형 vmware와 하이퍼바이저형 kvm에서 동일한 가상 머신을 돌려서 성능을 비교한다고 했을 때 하이퍼바이저형이 훨씬 더 나은 성능을 보여줄 수 있지 않을까요?

elflord의 이미지

성능이라는게 어디가 문제가 될 지 모르기 때문에 일률적으로 말하기 어려운 부분이 있습니다. CPU,메모리,버스방식,스토리지,네트웍...기타등등. 어느 하나만 보틀넥이 있어도 전체 성능이 떨어지죠. 반대로 성능을 올리려면 전체를 다 올려야 하고요.

하지면 하드웨어 성능이 완전히 동일하고 말씀하신 가상화 기반이 둘다 베스트 프랙티스로 구축되었다고 가정한다면 기본적으로 호스트형보다는 하이퍼바이져형이 한레이어를 덜 거치기 때문에 더 나은 성능을 보여줍니다. 수년전까지만 해도 확실하게 하이퍼바이져형이 더 낫다고 확언했는데 요즘에는 호스트형 가상화소프트도 CPU의 가상화지원 기능을 활용하기 때문에 차이가 꽤 좁혀지긴 했습니다.


===== ===== ===== ===== =====
그럼 이만 총총...[竹]
http://elflord.egloos.com

ratmhun의 이미지

답변 고맙습니다. 호스트형 가상화 소프트웨어가 가상화 기능을 지원하더라도... 실재 사용하는 CPU가 가상화 기능을 지원하지 않는다면 보나마나겠군요. 많이 배웠습니다. 고맙습니다.

vhgksl의 이미지

전 가상화, 반 가상화를 말하는 건가요? kvm은 전가상화 계열이고 xen이 반가상화죠.

전가상화 계열은 cpu에서 가상화를 지원해야 가능합니다. amd-v, intel 계열도 뭐가 있긴 한데 기억이 잘 ㅋㅋㅋ

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.