1. 前言
在学习 kvm 的过程中,需要在虚拟机中再次开启虚拟机,这里就需要使用到嵌套虚拟化,做个记录吧。
2. 配置嵌套虚拟化
2.1 查看物理机是否支持嵌套虚拟化
cat /sys/module/kvm_intel/parameters/nested Y ##结果为Y表示当前的操作系统已经支持了嵌套虚拟化,使用跑虚拟化的程序直接使用就ok了 N ##那当然就表示当前操作系统未配置嵌套虚拟化喽
如果是 N ,则根据下面进行配置:
vim /etc/modprobe.d/kvm-intel.conf options kvm_intel nested=1 #打开KVM内核模块的Nested特性 options kvm-intel enable_shadow_vmcs=1 #没找到相关资料 options kvm-intel enable_apicv=1 #没找到相关资料 options kvm-intel ept=1 #没找到相关资料 配置好后保存退出 modprobe -r kvm_intel #协助掉内核中的kvm_intel模块,注意要在所有虚拟机都关闭的情况下执行 modprobe -a kvm_intel #重新加载该模块 之后就可以再查看下状态,看看是否支持了
2.2 修改已经存在的虚拟机开启嵌套虚拟化
virsh edit 192_168_118_14
# 原本的配置:
<cpu mode='custom' match='exact' check='partial'>
<model fallback='forbid'>Haswell</model>
<feature policy='disable' name='hle'/>
<feature policy='disable' name='rtm'/>
</cpu>
# 修改为:
<cpu mode='host-model' check='partial'>
<model fallback='allow'/>
</cpu>
virsh destroy 192_168_118_14
virsh start 192_168_118_14
# 登录 虚拟机查看
lscpu | egrep -i virt
Virtualization: VT-x
Virtualization type: full
以上,已开启嵌套虚拟化。