Siwat2545 Posted March 12, 2018 Share Posted March 12, 2018 (edited) In this guide I will be tell you how to run Hardware accerated virturalization in Unraid VM Requirement Intel CPU that support vm-x NOTE : This won't work with Hyper-v on some case , I wouldn't try if I were you because if it fail It might corupt the vm ! First Go to Main Tab Click on The "Flash" text and an option to your sys linux Like the following BEFORE: AFTER: Reboot Then go to VM Tab and click on the vm you want to enable nested virturalization and click edit XML add <feature policy='require' name='vmx'/> and change model to custom like the following BEFORE: AFTER: click Apply Then Start, Done Edited March 12, 2018 by Siwat2545 1 Quote Link to comment
ren88 Posted July 1, 2018 Share Posted July 1, 2018 will this work on unraid 6.5.3 stable Quote Link to comment
Siwat2545 Posted August 7, 2018 Author Share Posted August 7, 2018 Yes this will work on 6.5.3 Quote Link to comment
johnarvid Posted November 22, 2018 Share Posted November 22, 2018 (edited) And just to confirm. (Since I did not find anything about vm-x) vm-x is Virtual Machine extensions? Also known as x86 virtualization? Or as unraid is reporting on System Profiler for the CPU, VME (Virtual mode extension)? Ref: https://en.wikipedia.org/wiki/VMX So if your cpu has VT-x (Intel) or AMD-V (AMD, doh) this would work? \John Edited November 22, 2018 by johnarvid VME Quote Link to comment
EDV Dave Posted July 17, 2019 Share Posted July 17, 2019 Hello guys, how to activate VMX for Qemu in Unraid 6.7.2.? Iam using Passtrough-Mode with the "kvm_intel nested=1" in Autostart to run MS Hyper-V 2016 on my Unraid Setup. Inside the HyperV 2016 Server i can use nested VMs without hassle when HyperV option enabled and pc-i440fx . But the performance is absolutely horrible and everthing is lagging behind. When i switch do QMEU64 / KVM CPU mode the Performance of my MS Hyper Server increases drastically. But the Intel VD-X Features are not exposed to it anymore, hence i cannot run nested VMs. How can i expose VMX to my HyperV Host running on QEMU CPU Mode. I Found the following: https://ahelpme.com/howto/qemu-full-virtualization-cpu-emulations-enable-disable-cpu-flags-instruction-sets/ https://stackoverflow.com/questions/39154850/how-do-i-emulate-the-vmx-feature-with-qemu https://stackoverflow.com/questions/43942033/nested-virtualization-with-kvm-enable-kvm-in-qemu-in-nested-virtualization?rq=1 Somehow it should be possible to make the CPUS Features visible to the VM. The XML commands above, mentioned by Siwat, do not work anymore. Error: XML error: Non-empty feature list specified without CPU model Cpu Mode "custom" does not exist anymore. But there is a mode called "Host-Model". How can i use QEMU emulated CPU Cores for my MS HyperV Server and passtrough the VMX Features to its VMS for nested Virtualization. best regards lukas Quote Link to comment
halogen55 Posted November 9, 2020 Share Posted November 9, 2020 Did you get a solution @EDV Dave? Quote Link to comment
[email protected] Posted December 27, 2020 Share Posted December 27, 2020 I have the exact same problem like @EDV Dave. Has anyone find a solution to this? P.S. I think (not surely) that current issue is related to Are there any suggestions? Quote Link to comment
jaylo123 Posted July 10, 2022 Share Posted July 10, 2022 (edited) Hi folks. I know it's an old thread but just sharing in case anyone else from Google searching ends up here. This seems to have done the trick for me (note that I'm not running Hyper-V or Windows in my VM so I cannot confirm on Hyper-V): https://stafwag.github.io/blog/blog/2018/06/04/nested-virtualization-in-kvm/ Specifically, editing the VM XML and changing the cpu mode section with this: <cpu mode='host-model' check='partial'> <model fallback='allow'/> </cpu> Of course, you also need to ensure the intel-kvm.nested=1 change is applied to your grub config, the first step OP mentioned. The link I shared shows how you can do this without rebooting as well. You can also of course just add the change to /boot/config/modprobe.d/<filename> as mentioned in the linked article (in Unraid, modprobe.d is in this location). My VM (proxmoxtest in this case) detects vmx as a CPU feature now, and the XML was updated automatically with all of the features: root@mediasrv:~# virsh dumpxml proxmoxtest|grep feature <features> </features> <feature policy='require' name='ss'/> <feature policy='require' name='vmx'/> <feature policy='require' name='pdcm'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='clflushopt'/> <feature policy='require' name='umip'/> <feature policy='require' name='md-clear'/> <feature policy='require' name='stibp'/> <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='ssbd'/> <feature policy='require' name='xsaves'/> <feature policy='require' name='pdpe1gb'/> <feature policy='require' name='ibpb'/> <feature policy='require' name='ibrs'/> <feature policy='require' name='amd-stibp'/> <feature policy='require' name='amd-ssbd'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='ibrs-all'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='require' name='tsx-ctrl'/> <feature policy='disable' name='hle'/> <feature policy='disable' name='rtm'/> <feature policy='disable' name='mpx'/> Edited July 10, 2022 by jaylo123 Quote Link to comment
ve_tower Posted July 23, 2023 Share Posted July 23, 2023 Hello, I changed the XML to the below and when the VM starts, I see the XML updates to.. <cpu mode='host-model' check='partial'> <model fallback='allow'/> </cpu> <cpu mode='custom' match='exact' check='full'> <model fallback='forbid'>EPYC-Milan</model> <vendor>AMD</vendor> <feature policy='require' name='x2apic'/> <feature policy='require' name='tsc-deadline'/> <feature policy='require' name='hypervisor'/> <feature policy='require' name='tsc_adjust'/> <feature policy='require' name='avx512f'/> <feature policy='require' name='avx512dq'/> <feature policy='require' name='avx512ifma'/> <feature policy='require' name='avx512cd'/> <feature policy='require' name='avx512bw'/> <feature policy='require' name='avx512vl'/> <feature policy='require' name='avx512vbmi'/> <feature policy='require' name='avx512vbmi2'/> <feature policy='require' name='gfni'/> <feature policy='require' name='vaes'/> <feature policy='require' name='vpclmulqdq'/> <feature policy='require' name='avx512vnni'/> <feature policy='require' name='avx512bitalg'/> <feature policy='require' name='avx512-vpopcntdq'/> <feature policy='require' name='spec-ctrl'/> <feature policy='require' name='stibp'/> <feature policy='require' name='arch-capabilities'/> <feature policy='require' name='ssbd'/> <feature policy='require' name='avx512-bf16'/> <feature policy='require' name='cmp_legacy'/> <feature policy='require' name='virt-ssbd'/> <feature policy='disable' name='lbrv'/> <feature policy='disable' name='tsc-scale'/> <feature policy='disable' name='vmcb-clean'/> <feature policy='disable' name='pause-filter'/> <feature policy='disable' name='pfthreshold'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> <feature policy='require' name='pschange-mc-no'/> <feature policy='disable' name='pcid'/> <feature policy='disable' name='svm'/> <feature policy='require' name='topoext'/> <feature policy='disable' name='npt'/> <feature policy='disable' name='nrip-save'/> <feature policy='disable' name='svme-addr-chk'/> </cpu> But when i try to power on a VM within the nested VM (ESXI) i get this message: Failed - This host does not support AMD-V Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.