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

转载于:https://www.cnblogs.com/aric2016/p/11453011.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值