pve嵌套虚拟化

pve嵌套虚拟化

默认情况下,pve没有开启嵌套虚拟化,如果虚拟机想使用虚拟化的功能,则需要手动开启嵌套虚拟化

开启方法

Intel CPU开启嵌套虚拟化

  1. 首先查看是否开启,为N则未开启
1
2
# cat /sys/module/kvm_intel/parameters/nested 
N
  1. 手动开启

设置nested=1

1
echo 'options kvm_intel nested=1' >/etc/modprobe.d/kvm-nested.conf

需要重新加载kvm_intel内核模块,如果这时候有在运行的虚拟机,则需要先停止

1
2
modprobe -r kvm_intel
modprobe kvm_intel
  1. 查看是否开启,结果输出为Y,则开启成功
1
2
cat /sys/module/kvm_intel/parameters/nested
Y
  1. 使用嵌套虚拟化

创建虚拟机时,设置CPU为host模式即可

AMD CPU开启嵌套虚拟化

方法一样,也是设置nested=1

1
echo "options kvm-amd nested=1" > /etc/modprobe.d/kvm-amd.conf

然后重新加载kvm-amd内核模块即可

1
2
modprobe -r kvm-amd
modprobe kvm-amd

查看是否开启

1
cat /sys/module/kvm_amd/parameters/nested

使用

在配置文件中添加该参数

1
args: -cpu host,+svm