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

        讓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號
        主站蜘蛛池模板: 国产精品VA在线观看无码不卡| 国产精品自拍一区| 国产精品186在线观看在线播放| 国产精品永久免费视频| 国产精品大白天新婚身材| 午夜欧美精品久久久久久久| 国产精品亚洲产品一区二区三区| 97国产精品视频| 久久精品国产99久久久 | 国产精品v片在线观看不卡| 亚洲国产精品无码久久青草 | 精品不卡一区二区| 亚洲中文字幕久久精品无码喷水| 久久久久久久久久免免费精品| 国产精品久久久久乳精品爆| 久久精品草草草| 国产精品视频一区二区三区经| 精品国产AV一区二区三区 | 久久精品国产免费一区| 69久久夜色精品国产69| 久久er99热精品一区二区| 亚洲精品无码成人AAA片| 正在播放酒店精品少妇约 | 久久精品国产72国产精福利| 国产精品视频全国免费观看 | 伊人久久精品无码二区麻豆| 自拍中文精品无码| 亚洲欧洲美洲无码精品VA| 一区二区国产精品 | 久久九九亚洲精品| 久草视频在线这里精品| 九九热精品在线| 999久久久免费国产精品播放| 热99re久久国超精品首页| 秋霞午夜鲁丝片午夜精品久| 亚洲精品私拍国产福利在线| 3级黄性日本午夜精品| 国产精品久久久久乳精品爆| 久久久久久亚洲精品不卡| 无码AⅤ精品一区二区三区| 亚洲七七久久精品中文国产|