站長資訊網
        最全最豐富的資訊網站

        讓Proxmox VE支持嵌套虛擬化

        目前公司的測試環境使用Proxmox VE(PVE),PVE虛擬出來的主機CPU默認不支持vmx,即不支持嵌套虛擬化,在虛擬機中使用egrep “vmx|svm” /proc/cpuinfo驗證,無輸出,那么如何讓他支持呢?其實PVE的內核還是采用了KVM+Qemu的方式模擬,那么參照如何讓KVM支持嵌套虛擬化的方法操作,開啟nested即可

        nested是一個可通過內核參數來啟用的功能。它能夠使一臺虛擬機具有物理機CPU特性,支持vmx或者svm(AMD)硬件虛擬化。Proxmox VE是運行于Debian操作系統上的,也是支持嵌套式虛擬nested的,但默認情況下并未開啟。開啟nested很容易,我們可以通過命令檢驗嵌套虛擬化功能是否已被開啟(實驗環境,PVE4.4):

        cat /sys/module/kvm_intel/parameters/nested
        N

        可見默認狀態下是未開啟的,下面讓我們來打開嵌套虛擬化,首先需要關閉所有虛擬機

        列出所有虛擬機:

        qm list

        關閉虛擬機:

        qm stop <vmid>

        以上操作也可以在PVE網頁控制臺操作

        開啟內核支持:

        modprobe -r kvm_intel 
        modprobe kvm_intel nested=1

        執行modprobe -r kvm_intel時如果報錯Module kvm_intel is in use,請檢查你的虛擬機是否全部關閉

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

        cat /sys/module/kvm_intel/parameters/nested
        Y

        編輯配置文件:

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

        這樣系統重啟也會自動加載netsted

        查看虛擬機啟動命令行,下面以我的環境中vmid為100的虛擬機為列:

        # qm showcmd 100
        /usr/bin/kvm -id 100 -chardev socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait -mon chardev=qmp,mode=control -pidfile /var/run/qemu-server/100.pid -daemonize -smbios type=1,uuid=a1f4fefc-3d14-41c7-aeb1-bf9b79ef03df -name ops-test-172.16.30.20 -smp 2,sockets=1,cores=2,maxcpus=2 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vga cirrus -vnc unix:/var/run/qemu-server/100.vnc,x509,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 4096 -k en-us -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:6775cf970ba -drive file=/var/lib/vz/template/iso/CentOS-7-x86_64-DVD-1611.iso,if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200 -device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5 -drive file=/dev/pve/vm-100-disk-1,if=none,id=drive-scsi0,format=raw,cache=none,aio=native,detect-zeroes=on -device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100 -netdev type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=D2:15:25:81:73:BD,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300

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

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

        -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,+vmx,enforce

        關閉虛擬機:

        qm stop 100

        重新啟動虛擬機:

        /usr/bin/kvm -id 100 -chardev socket,id=qmp,path=/var/run/qemu-server/100.qmp,server,nowait -mon chardev=qmp,mode=control -pidfile /var/run/qemu-server/100.pid -daemonize -smbios type=1,uuid=a1f4fefc-3d14-41c7-aeb1-bf9b79ef03df -name ops-test-172.16.30.20 -smp 2,sockets=1,cores=2,maxcpus=2 -nodefaults -boot menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg -vga cirrus -vnc unix:/var/run/qemu-server/100.vnc,x509,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,+vmx,enforce -m 4096 -k en-us -device pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e -device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f -device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 -device usb-tablet,id=tablet,bus=uhci.0,port=1 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 -iscsi initiator-name=iqn.1993-08.org.debian:01:6775cf970ba -drive file=/var/lib/vz/template/iso/CentOS-7-x86_64-DVD-1611.iso,if=none,id=drive-ide2,media=cdrom,aio=threads -device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200 -device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5 -drive file=/dev/pve/vm-100-disk-1,if=none,id=drive-scsi0,format=raw,cache=none,aio=native,detect-zeroes=on -device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=100 -netdev type=tap,id=net0,ifname=tap100i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on -device virtio-net-pci,mac=D2:15:25:81:73:BD,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300

        列出虛擬機:

        qm list

        發現vmid為100的虛擬機狀態已變更為running

        進入該虛擬機,使用命令驗證是否已開啟vmx:

        #egrep “vmx|svm” /proc/cpuinfo
        flags          : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow vnmi flexpriority ept vpid
        flags          : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow vnmi flexpriority ept vpid

        至此,成功在PVE中開啟了嵌套虛擬化。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: www.精品| 亚洲精品欧美二区三区中文字幕| 中文字幕亚洲精品无码| 无码国内精品久久人妻麻豆按摩| 久久噜噜久久久精品66| 无码国产亚洲日韩国精品视频一区二区三区 | 精品无码一区二区三区亚洲桃色| 欧美成人精品高清在线观看| 成人区人妻精品一区二区不卡网站 | 精品一区二区三区免费毛片爱 | 亚洲第一极品精品无码久久| 九九精品99久久久香蕉| 久久精品国产99国产精品澳门 | 中文字幕无码精品亚洲资源网久久| 99久久精品国内| 久久久久国产精品麻豆AR影院| 欧美精品久久久久久久自慰| 999国产精品色在线播放| 最新国产精品无码| 国产精品麻豆入口| 精品国产午夜理论片不卡| 国产色精品vr一区区三区| 精品无码av一区二区三区| 国产在线观看高清精品| 国精品午夜福利视频不卡 | 999成人精品视频在线| 欧美亚洲日本久久精品| 国产在线不卡午夜精品2021| 最新国产精品拍自在线观看| 国产精品99久久久久久宅男| 精品一区二区三区无码免费视频| 国产综合精品久久亚洲| 久久精品成人免费看| 国产色婷婷五月精品综合在线| 偷拍精品视频一区二区三区| 国产精品无码DVD在线观看| 99麻豆久久久国产精品免费| 亚洲欧洲美洲无码精品VA| 免费观看四虎精品成人| 国产乱人伦偷精品视频| 久久免费国产精品一区二区|