host、host-passthrough 或 透传。cat /sys/module/kvm_intel/parameters/nestedcat /sys/module/kvm_amd/parameters/nestedY 则已开启;如果输出为 N,则继续下一步。1modprobe -r kvm_intel
2modprobe kvm_intel nested=1
3echo "options kvm_intel nested=1" >> /etc/modprobe.d/modprobe.conf1modprobe -r kvm_amd
2modprobe kvm_amd nested=1
3echo "options kvm_amd nested=1" >> /etc/modprobe.d/modprobe.confhost 后,PVE 内部依然提示 KVM 不可用,说明超融合底层没有将虚拟化扩展(vmx/svm)完全暴露出来。此时可以通过添加自定义 QEMU 参数来强制透传:args: -cpu host,+vmxargs: -cpu host,+svm
先把结论讲清楚:
UIS 上给 PVE 开嵌套虚拟化,要做两层:① UIS 侧给 PVE 虚拟机透传 CPU 虚拟化指令(vmx/svm);② PVE 内部再打开 KVM 的 nested 支持。
下面按步骤来(Intel CPU 为主,AMD 类似)。
一、UIS 超融合平台侧(关键)
1. 先在 UIS 主机 BIOS 打开 VT-x/AMD-V
进入服务器 BIOS → CPU 设置 → 开启 Intel VT-x 或 AMD-V。
保存重启。
2. UIS 界面给 PVE 虚拟机开启嵌套(两种方式)
方式 A:界面有 “嵌套虚拟化” 勾选(新版 UIS)
登录 UIS 管理平台 → 资源池 → 虚拟机 → 选中你的 PVE 虚拟机。
编辑配置 → 硬件 → CPU / 高级。
勾选 开启嵌套虚拟化(vmx/svm),CPU 模式选 Host 透传(Host Passthrough)。
保存 → 重启 PVE 虚拟机。
方式 B:界面没按钮,改 XML(通用,必会)
登录 UIS 所在的 主机 / 后台(SSH 到 UIS 计算节点)。
找到 PVE 虚拟机 XML:
bash
运行
ls /etc/libvirt/qemu/
# 找到类似 pve-xxx.xml
编辑 XML,在 <cpu> 段加入 vmx(Intel):
xml
<cpu mode='host-passthrough' check='none'>
<feature policy='require' name='vmx' /> <!-- Intel -->
<!-- <feature policy='require' name='svm' /> AMD 用这个 -->
</cpu>
重新加载配置:
bash
运行
virsh define /etc/libvirt/qemu/pve-xxx.xml
启动 PVE 虚拟机。
二、PVE 系统内部开启 nested(必须)
进 PVE 命令行(root):
1. 检查是否已开
bash
运行
cat /sys/module/kvm_intel/parameters/nested
N:没开;Y:已开。
2. 临时开启(立即生效,重启失效)
bash
运行
# 先关掉所有 PVE 里的虚拟机
qm list
qm stop <vmid>
# Intel:
modprobe -r kvm_intel
modprobe kvm_intel nested=1
# AMD:
# modprobe -r kvm_amd
# modprobe kvm_amd nested=1
3. 永久开启(开机自动生效)
bash
运行
# Intel
echo "options kvm-intel nested=Y" > /etc/modprobe.d/kvm-intel.conf
# AMD
# echo "options kvm-amd nested=1" > /etc/modprobe.d/kvm-amd.conf
# 更新 initramfs 并重启
update-initramfs -u
reboot
4. PVE 虚拟机 CPU 设置
在 PVE Web 界面:
选中要嵌套的 VM → 硬件 → 处理器 → 类型选 host。
或者改配置文件 /etc/pve/qemu-server/<VMID>.conf:
plaintext
cpu: host,flags=+vmx
三、验证是否成功
在 PVE 内部 执行:
bash
运行
egrep "vmx|svm" /proc/cpuinfo
有 vmx(Intel)或 svm(AMD)输出 → 嵌套虚拟化正常。
四、常见坑
UIS 没透传 vmx/svm:PVE 里 egrep 无输出,怎么开 nested 都没用。
PVE 没开 nested:UIS 透传了,但 PVE 里不能再开 VM。
没关所有 VM 就 modprobe:报错 module is in use。
CPU 太老:部分老 Intel CPU 不支持嵌套。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
UIS 超融合平台