I’m running XEN 3.2.0 on a Dell
PowerEdge with 3 NIC cards(1 broadcom and 2 intel e1000). Each NIC card has two
ports on it. To Assign 5 of the 6 NIC ports to domU, I add three lines to
the /etc/modprobe.conf :
options pciback
hide=(0c:00.1)(0c:00.0)(0a:00.1)(0a:00.0)(07:00.0)
install bnx2
/sbin/modprobe pciback ; /sbin/modprobe --first-time --ignore-install bnx2
install e1000
/sbin/modprobe pciback ; /sbin/modprobe --first-time --ignore-install e1000
This seems always work, but, some times
when I restart my server I found some of the domU failed to startup. This
is the erro log in xend.log:
Traceback (most
recent call last):
File
"/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line
420, in start
XendTask.log_progress(31,
60, self._initDomain)
File "/usr/lib/python2.4/site-packages/xen/xend/XendTask.py",
line 209, in log_progress
retval
= func(*args, **kwds)
File
"/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line
1764, in _initDomain
raise
exn
VmError: pci:
PCI Backend does not own device 0000:0a:00.0
See the
pciback.hide kernel command-line parameter or
bind your
slot/device to the PCI backend using sysfs
This is the output of “lspci | grep Ethernet”
03:00.0 Ethernet
controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
07:00.0 Ethernet
controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
0a:00.0 Ethernet
controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
0a:00.1 Ethernet
controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
0c:00.0 Ethernet
controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
0c:00.1 Ethernet
controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06)
It seems the pciback failed to grab the NIC
port(0a:00.1) and e1000 driver has probed the NIC port before pciback. But I cannot
find anything wrong with the modprobe.conf. Does anybody has some
suggestion on this? Thanks in advance!
--Jerry