Proxmox VE配置巢狀虛擬化

Proxmox VE(PVE)虛擬出來的主機CPU預設不支援巢狀虛擬化(vmx),參照KVM支援巢狀虛擬化的方法開啟nested。

cat /sys/module/kvm_intel/parameters/nestedN

顯示預設狀態下是未開啟。

開啟巢狀虛擬化需要關閉所有虛擬機器。

列出所有虛擬機器:

qm list

關閉虛擬機器:

qm stop

批次關閉:

for i in {100。。115};do qm stop $i;done #{}號中間填vmid的起止數字

開啟核心支援:

modprobe -r kvm_intel modprobe kvm_intel nested=1 #如果報錯Module kvm_intel is in use,請檢查你的虛擬機器是否全部關閉

現在再看看nested是否已開啟:

cat /sys/module/kvm_intel/parameters/nestedY

編輯配置檔案:

echo “options kvm_intel nested=1” >> /etc/modprobe。d/modprobe。conf

讓系統重啟自動載入netsted

最後,檢視虛擬機器啟動命令配置:

qm showcmd

找到-cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce

在後面加上+vmx,表示開啟vmx

加入配置檔案

vi /etc/pve/qemu-server/。conf

可以加到第一行,新增一個args引數,示例:

args: -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce,+vmxbootdisk: scsi0cores: 1ide2: d02:iso/proxmox-ve_5。4-1。iso,media=cdrommemory: 512name: pvenet0: virtio=7E:89:5B:25:10:59,bridge=vmbr0,firewall=1numa: 0ostype: l26scsi0: vms:vm-103-disk-0,size=8Gscsihw: virtio-scsi-pcismbios1: uuid=094fdd5d-ae0b-4af6-aa08-c23c445f9da0sockets: 1startup: down=0vmgenid: 8813ce4c-1248-4964-86da-83a3f1cd6738

為了簡化操作,我寫了個pve工具:

https://github。com/ivanhao/pvetools。git

其中就包含上面的內容而且是自動化配置,很方便實用。

如果好用請去github頁面點星點贊,