lpd98 Posted August 8 Share Posted August 8 I have successfully added H310 with a single new drive attached (no changes to existing drives in array). However when array starts i first received error that VMs cannot autostart. I found this post https://old.reddit.com/r/unRAID/comments/15ctcvq/vm_autostart_disabled_due_to_vfiobind_error/ And tried the action from the 1st comment and now that error seems to have gone. However whenever i manually start a VM it causes immediate disk error. Situation sounds similar to this post However there is no solution provided there. The VM has no passthrough devices (It did have a GPU which i have since removed and set graphics back to VNC). I dont have the errors thrown on VM start logged right now, but they are PCI. Im guessing the VM config is trying to use a VFIO device ID that does not exist any more after the new controller was added. Is there a procedure to correctly handle VMs when making hardware changes? And, what can i do to the VMs now to start them safely? Thanks Quote Link to comment
lpd98 Posted August 8 Author Share Posted August 8 Diagnostics attached tower-diagnostics-20240808-1132.zip Quote Link to comment
JorgeB Posted August 8 Share Posted August 8 The AMD SATA controller is being passed through to the Windows VM, before adding the HBA that was likely the GPU, but the IDs can change, and usually do, when you add or remove hardware, so you need to adjust the XML. Quote Link to comment
lpd98 Posted August 8 Author Share Posted August 8 <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm'> <name>Windows 10</name> <uuid>71e2a2e1-bd64-1c72-5708-76caf3a92813</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>8</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='12'/> <vcpupin vcpu='2' cpuset='1'/> <vcpupin vcpu='3' cpuset='13'/> <vcpupin vcpu='4' cpuset='2'/> <vcpupin vcpu='5' cpuset='14'/> <vcpupin vcpu='6' cpuset='3'/> <vcpupin vcpu='7' cpuset='15'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-7.1'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/71e2a2e1-bd64-1c72-5708-76caf3a92813_VARS-pure-efi.fd</nvram> </os> <features> <acpi/> <apic/> <hyperv mode='custom'> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> <vendor_id state='on' value='none'/> </hyperv> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' cores='4' threads='2'/> <cache mode='passthrough'/> <feature policy='require' name='topoext'/> </cpu> <clock offset='localtime'> <timer name='hypervclock' present='yes'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/local/sbin/qemu</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/domains/Windows 10/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/Windows.iso'/> <target dev='hda' bus='sata'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/virtio-win-0.1.173-2.iso'/> <target dev='hdb' bus='sata'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0' model='qemu-xhci' ports='15'> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </controller> <controller type='pci' index='0' model='pci-root'/> <interface type='bridge'> <mac address='52:54:00:68:97:5b'/> <source bridge='br0'/> <model type='virtio-net'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <serial type='pty'> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'> <listen type='address' address='0.0.0.0'/> </graphics> <audio id='1' type='none'/> <video> <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x08' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> </memballoon> </devices> </domain> Understood, at least the theory Can you please direct me on what i need to change? Many Thanks Quote Link to comment
JorgeB Posted August 8 Share Posted August 8 Just now, lpd98 said: <address domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> Just now, lpd98 said: <address domain='0x0000' bus='0x08' slot='0x00' function='0x1'/> change the 0x08 to 0x09 in both and save Quote Link to comment
lpd98 Posted August 8 Author Share Posted August 8 The 0x09 comes from: [10de:2486] 09:00.0 VGA compatible controller: NVIDIA Corporation GA104 [GeForce RTX 3060 Ti] (rev a1) [10de:228b] 09:00.1 Audio device: NVIDIA Corporation GA104 High Definition Audio Controller (rev a1) ? Quote Link to comment
lpd98 Posted August 9 Author Share Posted August 9 Thank you, this worked and i understand whats going on. Your time and assistance massively appreciated! 1 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.