If you add new physical network interface to the hardware that runs XenServer it won’t appear in XenCenter by default.
In order to attach it to VMs or change its settings you’ll need to type in a few commands to XenServer’s CLI.
1. Connect XenServer via SSH using root rights:
ssh root@192.168.10.1 -v
2. Make sure that new NIC is attached to hardware and detected by Linux, in below command’s output you can see there are three Ethernet controllers (the last one was just attached to hardware):
[root@localhost ~]# lspci | grep -i ethernet 10:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01) 1e:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5723 Gigabit Ethernet PCIe (rev 10) 30:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
As you can see this NIC isn’t shown in XenCenter and below command doesn’t show its UID among detected interfaces:
root@localhost ~]# xe pif-list uuid ( RO) : 095abcc1-4d64-7925-200f-a91d558ec872 device ( RO): eth1 currently-attached ( RO): true VLAN ( RO): -1 network-uuid ( RO): 9da74476-ffcb-6824-25ad-62d46f34e252 uuid ( RO) : 555844b2-4061-47e0-52ef-01e42f182eef device ( RO): eth0 currently-attached ( RO): true VLAN ( RO): -1 network-uuid ( RO): 90a0e347-9246-7ac9-c939-30983602c14e
As well as no new eth2 in ifconfig’s output
[root@localhost ~]# ifconfig eth0 Link encap:Ethernet HWaddr 68:B5:99:E3:1C:56 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1953 errors:0 dropped:0 overruns:0 frame:0 TX packets:2475 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:201110 (196.3 KiB) TX bytes:1929408 (1.8 MiB) Interrupt:19 eth1 Link encap:Ethernet HWaddr 00:30:4F:33:43:6E UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:110 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14435 (14.0 KiB) TX bytes:0 (0.0 b) Interrupt:17 Base address:0xe000
[root@localhost ~]# ifconfig eth2 ifconfig: interface eth2 does not exist
3. Solution is pretty easy – you just need to find out UUID of XenServer host to which you’d like to attach new NIC. You can do it by the following commands:
[root@localhost ~]# xe host-list uuid ( RO) : c5ab0df3-440a-4164-b1a4-6febf1ff0052 name-label ( RW): XenServer HP Proliant ML 110 name-description ( RW): Default install of XenServer
and
[root@localhost ~]# xe pif-scan host-uuid=c5ab0df3-440a-4164-b1a4-6febf1ff0052
That’s it, from now you’ll see new NIC in XenCenter.
[root@localhost ~]# xe pif-list uuid ( RO) : 095abcc1-4d64-7925-200f-a91d558ec872 device ( RO): eth1 currently-attached ( RO): true VLAN ( RO): -1 network-uuid ( RO): 9da74476-ffcb-6824-25ad-62d46f34e252 uuid ( RO) : 555844b2-4061-47e0-52ef-01e42f182eef device ( RO): eth0 currently-attached ( RO): true VLAN ( RO): -1 network-uuid ( RO): 90a0e347-9246-7ac9-c939-30983602c14e uuid ( RO) : 7f3b59d7-1508-835a-b268-4476bbac33d5 device ( RO): eth2 currently-attached ( RO): false VLAN ( RO): -1 network-uuid ( RO): 9584917b-e49a-f075-f1e0-8ba2c4a4bf02