[SOLVED] network device name changes

RobFantini

Famous Member
May 24, 2012
2,009
102
133
Boston,Mass
Hello,

after a reboot,

the device name used for vmbr0 bridge_ports no longer exists at /sys/class/net/

so had to use ipmi to fix [ by ls /sys/class/net and guessing the new name ].

I think I saw this on another system a few weeks ago.
this system has 4 onboard and 3 dual port nic cards.

has anyone else seen this or or a way to prevent?

this is a supermicro model [ from lshw] X9DRi-LN4+/X9DR3-LN4+


we have
 
Last edited:
you can force the old naming scheme eth0 eth1 etc. Its debatable which is better tho, eth0 e.g. should always exist but if you got issues with network devices not been detected in a stable manner then the devices attached to each label may be consistent, to do this as follows.

Add this in /etc/default/grub

net.ifnames=0 biosdevname=0 to GRUB_CMDLINE_LINUX

then run the grub update command.
 
  • Like
Reactions: majorgear
you can force the old naming scheme eth0 eth1 etc. Its debatable which is better tho, eth0 e.g. should always exist but if you got issues with network devices not been detected in a stable manner then the devices attached to each label may be consistent, to do this as follows.

Add this in /etc/default/grub

net.ifnames=0 biosdevname=0 to GRUB_CMDLINE_LINUX

then run the grub update command.

Thank you! I'll test that when next motherboard arrives.
 
well I tried:
Code:
GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/pve-1 boot=zfs net.ifnames=0 biosdevname=0"

that did change to the old eth* device names.

However the system would not boot without manually doing a 'zpool import rpool'

We decided not to use the on board nics, and use added network interface cards instead.

there is more to this.

the reason wanted to solve was this:

3 of the 4 the onboard nics got renamed :
Code:
 # ls /sys/class/net
eno1@      enp4s0f0@    enp4s0f1.7@  lo@       rename8@     vmbr0@
enp2s0f0@  enp4s0f1@    enp7s0f0@    rename6@ 
enp2s0f1@  enp4s0f1.3@  enp7s0f1@    rename7@

now vmrb0 was attched to one of the rename nics:
Code:
iface vmbr0 inet static
        address 10.1.10.2 
       netmask 255.255.255.0 
       gateway 10.1.10.1
       bridge_ports rename8 
        bridge_stp off 
       bridge_fd 0

so with that i could ping 10.1.10.1 , the rest of the network and internet. so things looked ok until I tried to use vmbr0 for vms.

i'l just copy and paste the errors. they could help someone else who searches for the errors.
these are from notepad.
Code:
*pve2  migrate lxc failed   .  network issue
Oct 18 12:14:10 pve2 kernel: EXT4-fs (rbd0): mounted filesystem with ordered data mode. Opts: (null)
Oct 18 12:14:10 pve2 audit[13943]: AVC apparmor="STATUS" operation="profile_replace" info="same as current profile, skipping" profile="
Oct 18 12:14:10 pve2 kernel: audit: type=1400 audit(1539879250.897:14): apparmor="STATUS" operation="profile_replace" info="same as cur
Oct 18 12:14:10 pve2 systemd-udevd[13944]: Could not generate persistent MAC address for vethV7VQA6: No such file or directory
Oct 18 12:14:10 pve2 kernel: IPv6: ADDRCONF(NETDEV_UP): veth9001i0: link is not ready
Oct 18 12:14:11 pve2 systemd[1]: pve-container@9001.service: Control process exited, code=exited status=1
Oct 18 12:14:11 pve2 systemd[1]: pve-container@9001.service: Killing process 13930 (lxc-start) with signal SIGKILL.
Oct 18 12:14:11 pve2 systemd[1]: pve-container@9001.service: Killing process 14013 (apparmor_parser) with signal SIGKILL.
Oct 18 12:14:11 pve2 systemd[1]: Failed to start PVE LXC Container: 9001.
-- Subject: Unit pve-container@9001.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- 
-- Unit pve-container@9001.service has failed.

  try debug mode start
  ./start-debug-mode 135
lxc-start: 135: conf.c: run_buffer: 353 Script exited with status 25
lxc-start: 135: network.c: lxc_create_network_priv: 2446 Failed to create network device
lxc-start: 135: start.c: lxc_spawn: 1616 Failed to create the network
lxc-start: 135: start.c: __lxc_start: 1948 Failed to spawn container "135"
lxc-start: 135: tools/lxc_start.c: main: 330 The container failed to start
lxc-start: 135: tools/lxc_start.c: main: 336 Additional information can be obtained by setting the --logfile and --logpriority options

 lxclxc.log:
no physical interface on bridge 'vmbr0'

 Try kvm:
     no physical interface on bridge 'vmbr0'
kvm: -netdev type=tap,id=net0,ifname=tap112i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown: network script /var/lib/qemu-server/pve-bridge failed with status 6400
TASK ERROR: start failed: command '/usr/bin/kvm -id 112 -name pro4-ldap-test -chardev 'socket,id=qmp,path=/var/run/qemu-server
  ...
 failed: exit code 1

[LIST]
[*]iface vmbr0 inet static
[/LIST]
[LIST]
[*]bridge_ports rename8    < issue due this?
[/LIST]

 try:  network device issue with renames. https://forum.proxmox.com/threads/network-device-name-changes.48049/#post-225580
  https://access.redhat.com/discussions/916973

  zpool did not import . had to do manually on reboot.
Solution - use add on nics not on board. may try to update bios on the next board we get.

Conclusion: renames may be an issue.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!