February 10, 20233 yr I have an Unraid install that has been working fine for my Unraid server for years. I have used docker containers and VPN on this server, but never a traditional VM until today. When I install a VM, I dont get an option to choose a network or even a network card on the VM. I even copied a working VM from a second working UnRaid server but once moved to the problem UnRaid, there's no NIC shown in the config nor in the Windows VM. lspci shows the NIC: 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c) I am actually about to replace the motherboard in this Unraid in a few days, so if it's a hardware incompatibility, maybe it'll self resolve, but I feel like this should be working. I have seen people say to stop the Docker and VM services and restart, but nothing seems to be working.. Any help is greatly appreciated!!
February 10, 20233 yr Community Expert 4 minutes ago, 172pilot said: I have an Unraid install that has been working fine for my Unraid server for years. I have used docker containers and VPN on this server, but never a traditional VM until today. When I install a VM, I dont get an option to choose a network or even a network card on the VM. I even copied a working VM from a second working UnRaid server but once moved to the problem UnRaid, there's no NIC shown in the config nor in the Windows VM. lspci shows the NIC: 02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c) I am actually about to replace the motherboard in this Unraid in a few days, so if it's a hardware incompatibility, maybe it'll self resolve, but I feel like this should be working. I have seen people say to stop the Docker and VM services and restart, but nothing seems to be working.. Any help is greatly appreciated!! Are you able to screen print the vm template?
February 10, 20233 yr Author 29 minutes ago, SimonF said: Are you able to screen print the vm template? Here (attached) is what I see now.. Currently I have bonding and bridging turned off in the network config - I had previously tried with the other 3 options of those 2 settings. There is only one 1G network card on the host, so I am assuming the bonding setting is irrelevant, but I will say that I looked, and on the working UnRaid, the bonding is on, even though it also only has one physical interface. I will turn the VM off, re-enable bonding and bridging and see if that makes a difference, but it didn't before.. Thanks! FS1_UpdateVM.pdf
February 10, 20233 yr Author OK.. After shutting down VM and docker subsystem, I have the configs set as shown, and even shut down there's no option to configure a NIC on the VM screen. One thing I dont understand is the difference on the VM environment config where the default network source is br0 or virtbr0. I have tried both with identical unsuccessful results, but am leaving it on br0 because that's what I see the nic belongs to at the bottom of the network configuration. 3 Config screens attached below -Steve NetworkSettings.pdf VMNetworkConfig.pdf VMConfigShutDown.pdf
February 11, 20233 yr Community Expert Solution 11 hours ago, 172pilot said: OK.. After shutting down VM and docker subsystem, I have the configs set as shown, and even shut down there's no option to configure a NIC on the VM screen. One thing I dont understand is the difference on the VM environment config where the default network source is br0 or virtbr0. I have tried both with identical unsuccessful results, but am leaving it on br0 because that's what I see the nic belongs to at the bottom of the network configuration. 3 Config screens attached below -Steve NetworkSettings.pdf 106.42 kB · 0 downloads VMNetworkConfig.pdf 82.83 kB · 1 download VMConfigShutDown.pdf 175.66 kB · 1 download Are you able to post full diagnostics? You can add into the XML, there is an issue if the nic is removed then you cannot add back in from the GUI. Fixed in 6.12 example XML. The PCI nic may not show if in a IOMMU group that is shared. <interface type='bridge'> <mac address='52:54:00:18:64:6b'/> <source bridge='br0'/> <model type='virtio-net'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface>
February 18, 20233 yr Author On 2/11/2023 at 6:05 AM, SimonF said: Are you able to post full diagnostics? You can add into the XML, there is an issue if the nic is removed then you cannot add back in from the GUI. Fixed in 6.12 example XML. The PCI nic may not show if in a IOMMU group that is shared. <interface type='bridge'> <mac address='52:54:00:18:64:6b'/> <source bridge='br0'/> <model type='virtio-net'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </interface> Sorry.. Just saw this.. Yes, diagnostics attached. Before seeing this, I thought to try to add the interface to the XML manually too, so I copied basically what you have above from a different UnRaid server with a working VM, and put it into the XML of the broken one. I changed a digit on the MAC address just to be different. I did this with the VM engine turned off so there would be no conflicts with open files, and then when I went to turn on the VMs again I got "Libvirt Service failed to start".. Continued to get the Libvert error even after removing NIC from XML. In a desperate attempt to solve w/o figuring out what went wrong, I deleted the Libvert image through the GUI, and then it recreated the image and properly started. When I went back to recreate the VM, the NIC was listed in the initial configuration screen, but once I got done adding the disks and started the VM, the VM showed no NIC again, and looking at the XML now while the VM is running, there's no NIC entry. The only thing odd I can say is that this VM has an unreasonable number of disks defined.. I think 18 of them. all but 4 are on the local filesystem, and 4 of them are mounted via a non-array SMB share to the other UnRaid server, so I'm wondering if there's an XML parsing problem, or a limit to how many disks you can have before the NIC is missing? I have not been able to find a documented limit in either UnRaid or generic KVM documentation. Does that make any sense? Thanks for the help!! fs1-diagnostics-20230217-2220.zip
February 18, 20233 yr Author To do some further testing to see if the number of drives are involved with the problem, I created a new VM. During the initial creation screen, I see the NIC in the config. I left every default, scrolled down and simply unchecked the "Start VM After creation" checkbox and clicked to create the VM. Going directly back into the VM config (edit) the NIC is gone, so somehow something is preventing it from including it in the XML file. I'm not sure what this means, or what could be causing it. Hopefully there will be something in the diagnostic pack I uploaded above. Is there a way to, and reason to somehow rebuild the network config for the whole server? Networking is working fine for the fundamental UnRaid functions, as well as the docker or two that I have, but I'm not sure what else to do. I dont know what differences the different OS templates mean, but I have done the above with Win11, Win10, Server2012, and Ubuntu, and they all do the same thing. Thanks!! Edited February 18, 20233 yr by 172pilot
February 18, 20233 yr Community Expert 1 hour ago, 172pilot said: To do some further testing to see if the number of drives are involved with the problem, I created a new VM. During the initial creation screen, I see the NIC in the config. I left every default, scrolled down and simply unchecked the "Start VM After creation" checkbox and clicked to create the VM. Going directly back into the VM config (edit) the NIC is gone, so somehow something is preventing it from including it in the XML file. I'm not sure what this means, or what could be causing it. Hopefully there will be something in the diagnostic pack I uploaded above. Is there a way to, and reason to somehow rebuild the network config for the whole server? Networking is working fine for the fundamental UnRaid functions, as well as the docker or two that I have, but I'm not sure what else to do. I dont know what differences the different OS templates mean, but I have done the above with Win11, Win10, Server2012, and Ubuntu, and they all do the same thing. Thanks!! So when you create a new vm i.e. just linux. Initially it shows with MAC/Source/Model? But if you create with Start VM unchecked and edit the nic has gone?
February 19, 20233 yr Author As I am creating it, the NIC settings are shown, but as soon as I save it (even without running it) and go back into the edit screen to see what was saved, there's no NIC shown..
February 20, 20233 yr Author Is there possibly something in my unraid config or hardware that potentially could do this? I am actually just about to upgrade the motherboard, which means it's going to be a different integrated NIC, but I've never had to worry about that before. I assume if Unraid supports a NIC, the VM engine should support it?
February 20, 20233 yr Author So.. Made some progress.. I still dont know what the root cause, but after removing a bunch of the drives I didn't need anymore on the VM, I decided to try again to edit the XML file. I had edited it manually previously, but this time when I edited it, I noticed it says it should be edited with "virsh edit Backup" (the machine name). Trying that, and pasting the xml into the file, it returned "error: XML error: Invalid PCI address 0000:01:00.0. slot must be >=1" and asked me if I wanted to try again, so I did, and edited the XML to include: <interface type='bridge'> <mac address='52:54:00:18:64:6b'/> <source bridge='br0'/> <model type='virtio-net'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/> </interface> with the slot =0x01 and now I have a NIC. I am still a bit confused, because in my ipconfig, where it would usually show "Ethernet adapter Ethernet" before listing the parameters, it is showing "Ethernet Adapter Ethernet Instance 0" which I have never seen before, but it's working.. I'd love to know why the creation isn't working by default (repeatable and demonstrable) but for the moment the one VM I need on this machine is working, so I guess I'm considering it done.. Thanks for all who helped!! -Steve
February 21, 20233 yr 9 hours ago, 172pilot said: it returned "error: XML error: Invalid PCI address 0000:01:00.0. slot must be >=1" and asked me if I wanted to try again, so I did, and edited the XML to include: <interface type='bridge'> <mac address='52:54:00:18:64:6b'/> <source bridge='br0'/> <model type='virtio-net'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/> </interface> In your last diagnostics you defined a i440fx machine type vm. Unless you changed it to q35, you cannot have in the target vm bus 1, so either you changed the machine type or the host automatically changed the target address to be on bus 0 (machine type i440fx has only bus 0!). i440fx: only bus 0, choose first available slot, each address must be unique q35: bus 0 for built-in devices, choose first available slot, bus>0 for not built-in devices (bus X means it's attached usually to pcie-root-port or pcie-to-pci-bridge defined in xml, with index X), each address must be unique
February 21, 20233 yr Author So, looking at the config as it is working, it is showing i440fx-7.1 and the NIC is working. In the XML I verify that, and the working NIC is configured: <interface type='bridge'> <mac address='52:54:00:18:64:6b'/> <source bridge='br0'/> <model type='virtio-net'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> The machine type is something I generally dont mess with, although I am pretty sure I've flipped it back and forth randomly to see if it made any difference in this NIC problem. I dont know the pros and cons of each and assumed that the template type chosen at build time probably set that to whatever is best for each OS.
February 21, 20233 yr Yes topology is now correct for i440fx, as you can see you have the nic on bus 0, slot 3 and function 0. I think the issue here was a wrong target address. For windows unraid defaults to i440fx but I would think twice before using it (I'm not saying it doesn't work), but q35 is more compatible with passed through pcie devices.
February 21, 20233 yr Author 31 minutes ago, ghost82 said: Yes topology is now correct for i440fx, as you can see you have the nic on bus 0, slot 3 and function 0. I think the issue here was a wrong target address. For windows unraid defaults to i440fx but I would think twice before using it (I'm not saying it doesn't work), but q35 is more compatible with passed through pcie devices. Thanks, Yeah, I'll have to look to see what the differences in the machine types are.. I'm still mostly curious why my system isn't working for new VMs.. ie: I shouldn't have to edit the XML, right? Me not understanding that I had to use virsh command to edit the XML explains to me why I wasn't able to manually add it initially, but I'd think I should be able to create a VM with a NIC w/o editing the XML file after creation, right? Thanks for all the help..
February 22, 20233 yr 10 hours ago, 172pilot said: I shouldn't have to edit the XML, right? 10 hours ago, 172pilot said: I'd think I should be able to create a VM with a NIC w/o editing the XML file after creation, right? Yes you are right, the nic settings should show in the vm settings gui. I read a similar issue and that user was able to make it show by resetting the unraid network configuration; he deleted the config and created a new one. Edited February 22, 20233 yr by ghost82
February 22, 20233 yr Author 6 hours ago, ghost82 said: Yes you are right, the nic settings should show in the vm settings gui. I read a similar issue and that user was able to make it show by resetting the unraid network configuration; he deleted the config and created a new one. OK.. I'm going to give that a shot in the next couple days.. I have a new motherboard I want to install anyway, so thats a good opportunity. I will report back to this thread if it worked, just in case someone else has the problem. Thanks!
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.