nested_kvm

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
nested_kvm [2020/09/13 04:30] – [확인] adminnested_kvm [2023/02/21 23:33] (현재) – [Nested IOMMU] koov
줄 7: 줄 7:
  
 먼저 중첩된 가상 머신에서 아래와 같은 명령을 치면 가상화 지원이 되는지 확인 가능하다. 먼저 중첩된 가상 머신에서 아래와 같은 명령을 치면 가상화 지원이 되는지 확인 가능하다.
 +  * Intel CPU의 경우 : ''vmx''
 +  * AMD CPU의 경우 : ''svm''
  
 <WRAP prewrap> <WRAP prewrap>
줄 15: 줄 17:
 </WRAP> </WRAP>
  
-위와같이 ''vmx'' 기능이 지원되는경우 중첩가상화가 사용가능한 상태이다. 하지만 ''vmx'' 플래그가 없는경우 호스트에서 아래 기능을 활성화 시킨다.+위와같이 ''vmx'' 또는 ''svm'' 기능이 지원되는경우 중첩가상화가 사용가능한 상태이다. 하지만 ''vmx'' 또는 ''svm'' 플래그가 없는경우 호스트에서 아래 기능을 활성화 시킨다.
  
 ===== 설정 ===== ===== 설정 =====
줄 25: 줄 27:
 <code bash> <code bash>
 $ cat /sys/module/kvm_intel/parameters/nested $ cat /sys/module/kvm_intel/parameters/nested
-Y+또는 1
 </code> </code>
 </WRAP> </WRAP>
줄 33: 줄 35:
 <code bash> <code bash>
 $ cat /sys/module/kvm_amd/parameters/nested $ cat /sys/module/kvm_amd/parameters/nested
-Y+또는 1
 </code> </code>
 </WRAP> </WRAP>
  
-위와같이 Y로 나오는경우 중첩가상화 기능이 활성화 된 상태이다. 하지만 결과같이 'N' 으로 나온다면 활성화 되지 않은 상태이므로 활성화 작업을 수행한다.+위와같이 ''Y'' 또는 ''1''로 나오는경우 **중첩가상화 기능이 활성화 된 상태**이다. 하지만 결과같이 ''N'' 또는 ''0'' 으로 나온다면 활성화 되지 않은 상태이므로 활성화 작업을 수행한다.
  
 === Intel === === Intel ===
줄 99: 줄 101:
 </WRAP> </WRAP>
  
-이후 VM을 부팅하여 'vmx'플래그가 지원되는지 확인해보도록 한다.+이후 VM을 부팅하여 ''vmx''플래그가 지원되는지 확인해보도록 한다. 
 + 
 + 
 +===== Nested IOMMU ===== 
 +''iommu'' 기능까지 VM에 nested 시키고 싶은경우 아래와 같이 설정한다 
 +당연한 얘기지만 host 머신이 ''iommu''를 지원해야 한다. 
 + 
 +''virt-manager''의 xml편집기능을 이용하거나 ''virsh edit''명령어를 이용해 만들어진 vm에 아래와 같은 옵션을 추가한다. 
 + 
 +<WRAP prewrap> 
 +<code xml> 
 +  <features> 
 +    <acpi/> 
 +    <apic/> 
 +    <vmport state="off"/> 
 +    <ioapic driver="qemu"/>        ## <<-- features 아래에 ioapic 속성을 추가해준다. 
 +  </features> 
 +... 
 +  <devices> 
 +    ... ## 아래와 같이 iommu 장치를 추가해준다. 지원되는 값은 intel(Q35 게스트의 경우) smmuv3(5.5.0 이후, ARM 가상 게스트의 경우) 및 virtio(8.3.0 이후, Q35 및 ARM 가상 게스트의 경우)입니다.. 
 +    <iommu model="intel"> 
 +      <driver intremap="on" caching_mode="on"/> 
 +    </iommu> 
 +    ... 
 +  </devices> 
 +</code> 
 +</WRAP> 
 + 
 +===== 참조링크 ===== 
 +  * https://libvirt.org/formatdomain.html 
 +  * https://gist.github.com/mcastelino/08f6e49f2faba295eb690a3a8ee44c70
  
  
  • nested_kvm.1599971446.txt.gz
  • 마지막으로 수정됨: 2020/09/13 04:30
  • 저자 admin