Menu="OtherSettings" Title="VM Manager" Icon="icon-virtualization" Tag="columns" --- ".('Your hardware does not have Intel VT-x or AMD-V capability').". "._('This is required to create VMs in KVM').". "._('Please disable the VM function').". "; echo " "._('Click here to see the Unraid Wiki for more information')."

"; } function scan($area, $text) { return strpos($area,$text)!==false; } function detect(&$syslinux, $key) { $size = count($syslinux); $menu = $i = 0; $value = ''; // find the default section while ($i < $size) { if (scan($syslinux[$i],'label ')) { $n = $i + 1; // find the current requested setting while (!scan($syslinux[$n],'label ') && $n < $size) { if (scan($syslinux[$n],'menu default')) $menu = 1; if (scan($syslinux[$n],'append')) foreach (explode(' ',$syslinux[$n]) as $cmd) if (scan($cmd,$key)) {$value = explode('=',$cmd)[1]; break;} $n++; } if ($menu) break; else $i = $n - 1; } $i++; } return $value; } $syslinux = file('/boot/syslinux/syslinux.cfg',FILE_IGNORE_NEW_LINES+FILE_SKIP_EMPTY_LINES); $arrValidBridges = getNetworkBridges(); $pcie_acs_override = detect($syslinux, 'pcie_acs_override'); $vfio_allow_unsafe = detect($syslinux, 'allow_unsafe_interrupts'); $bgcolor = strstr('white,azure',$display['theme']) ? '#f2f2f2' : '#1c1c1c'; ?>
_(Enable VMs)_: : _(One or more paths do not exist)_ (_(view)_) :help105 > Stopping the VM Manager will first attempt to shutdown all running VMs. After 60 seconds, any remaining VM instances will be terminated. :end
get_connect_information()?> _(Libvirt version)_: : _(QEMU version)_: : _(Libvirt storage location)_: : :help106 > This is the libvirt volume. :end _(Libvirt vdisk size)_: : _(GB)_ :help107 > If the system needs to create a new libvirt image file, this is the default size to use specified in GB. > To resize an existing image file, specify the new size here. Next time the Libvirt service is started the file (and file system) will increased to the new size (but never decreased). :end _(Libvirt storage location)_: : _(Modify with caution: unable to validate path until Array is Started)_ _(Path does not exist)_ :help108 > You must specify an image file for Libvirt. The system will automatically create this file when the Libvirt service is first started. :end _(Default VM storage path)_: : _(Modify with caution: unable to validate path until Array is Started)_ _(Path does not exist)_ :help109 > Specify a user share that contains all your VM subdirectories with vdisks :end _(Default ISO storage path)_: : _(Modify with caution: unable to validate path until Array is Started)_ _(Path does not exist)_ :help110 > Specify a user share that contains all your installation media for operating systems :end
_(Default Windows VirtIO driver ISO)_ (_(optional)_): : placeholder="_(Click to Select)_" pattern="^[^\\]*\.(iso|ISO)$"> _(Remove)_ _(Download)_> :help111 > Specify the virtual CD-ROM (ISO) that contains the VirtIO Windows drivers as provided by the Fedora Project. > Download the latest ISO from here: fedoraproject.org > > When installing Windows, you will reach a step where no disk devices will be found. There is an option to browse for drivers on that screen. > Click browse and locate the additional CD-ROM in the menu. Inside there will be various folders for the different versions of Windows. > Open the folder for the version of Windows you are installing and then select the AMD64 subfolder inside (even if you are on an Intel system, select AMD64). > Three drivers will be found. Select them all, click next, and the vDisks you have assigned will appear. :end
_(Default network bridge)_: : :help112 > Select the name of the network bridge you wish to use as default for your VMs, > the setting 'virbr0' will let libvirt create a virtual bridge that utilizes NAT (network address translation) > and act as a DHCP server to hand out IP addresses to virtual machines directly. > More optional selections are present when virtual bridges are created under network settings. > > NOTE: You can also specify a network bridge on a per-VM basis. :end _(Upon host shutdown)_: : :help113 > When shutting down the server, this defines the action to take upon running VMs. If *Hibernate VMs* is chosen, > the VM will be instructed to hibernate (if supported) otherwise it will attempt a VM shutdown. :end _(VM shutdown time-out)_: : (int)$var['shutdownTimeout']):?> _(exceeds Disk Shutdown)_ s _(time-out)_ (_(edit)_) :help114 > When shutting down the server, this defines how long to wait in seconds for *graceful* VM shutdown before forcing shutdown to continue. > NOTE: It's recommended to shut down guest VMs from within the VM. :end _(PCIe ACS override)_: : *_(Setting disabled in **safe mode**)_* :help115 > *PCIe ACS override* allows various hardware components to expose themselves as isolated devices. > Typically it is sufficient to isolate *Downstream* ports. > A hardware component may need the setting *Multi-function* or *Both* to further isolate different hardware functions.
> A reboot is required for changes to this setting to take affect. > > **Warning: use of this setting could cause possible data corruption with certain hardware configurations.** > Please visit the [Lime Technology forums](https://forums.unraid.net/forum/51-vm-engine-kvm) for more information. :end _(VFIO allow unsafe interrupts)_: : *_(Setting disabled in **safe mode**)_* :help116 > If your system doesn't support interrupt remapping, these can be enabled by allowing unsafe interrupts.
> A reboot will be required for changes to this setting to take affect. > > **Warning: use of this setting could cause possible data corruption with certain hardware configurations.** > Please visit the [Lime Technology forums](https://forums.unraid.net/forum/51-vm-engine-kvm) for more information. :end
  : :help117 > View the log for libvirt: /var/log/libvirt/libvirtd.log :end
_(Libvirt volume info)_
_(btrfs filesystem show)_: : ".shell_exec("btrfs filesystem show /etc/libvirt").""?>
_(btrfs scrub status)_: : ".implode("\n", $scrub_status).""?>   : :help118 > **Scrub** runs the *btrfs scrub* program to check file system integrity. > If repair is needed you should check the *Correct file system errors* and run a second Scrub pass; this will permit *btrfs scrub* to fix the file system. :end   : :help119 > **Cancel* will cancel the Scrub operation in progress. :end