zoukankan      html  css  js  c++  java
  • KVM虚拟机嵌套虚拟化

    KVM虚拟机嵌套虚拟化

    背景介绍

    ​ 在Arch linux的 KVM 虚拟机上启动来部署开源Iaas系统zstack时,需要开启虚拟机嵌套虚拟化。

    解决

    ​ KVM 嵌套式虚拟 Nested 是一个可通过修改内核参数来启用的功能,它能够使一台虚拟机具相同的有物理机 CPU 特性,支持 vmx|svm(AMD) 硬件虚拟化,该特性需要 Linux 内核版本大于 Linux 3.x。

    操作步骤

    1. 查看是否启动了 Nested

      cat /sys/module/kvm_intel/parameters/nested
      

      输出N(N没有开启,Y开启)

    2. 启用 Nested

      echo 'options kvm_intel nested=1' >/etc/modprobe.d/kvm-nested.conf
      
      # 卸载内核模块
      modprobe -r kvm_intel
       
      # 重新加载内核模块
      modprobe kvm_intel
      
    3. 如果希望已经存在的虚拟机支持嵌套虚拟化,还需要重新编辑虚拟机的 XML 文件,修改其 cpu mode。

      1. 命令模式修改

        virsh edit <virtual hostname>
        

        修改内容:

        <cpu mode='host-passthrough'>
        
      2. 用qemu图形管理界面修改

        在“首选项”中启动Enable XML editing;

        进入虚拟机详细中的“CPUs”的xml配置;

        找到“”节点,修该:mode='host-passthrough';

        点击应用保存。

    4. 在虚拟机中查看cpu嵌套是否生效

    ​ 实行命令:

    egrep '(vmx|svm)' /proc/cpuinfo
    

    输出(vmx或svm高亮):

    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms xsaveopt
    
  • 相关阅读:
    FPGA 在线调试方法概述
    Quartus II& Nios II 出错解决办法
    Verilog HDL--VGA显示
    常用电平转换方案
    Verilog HDL SPI通信——读
    Verilog HDL SPI通信——写
    Verilog HDL串口发送程序
    verilog HDL 串口接受程序
    关于AFNetworking中header的bug问题
    iOS项目的本地化处理(多国语言)
  • 原文地址:https://www.cnblogs.com/aric2016/p/11453011.html
Copyright © 2011-2022 走看看