Rafał Radecki
2015-Oct-21 08:20 UTC
[CentOS] Centos 7 - "Device eth1 does not seem to be present, delaying initialization".
Hi All :) I have three servers, all with centos 7 installed 3 days ago. I need on them "old" naming scheme (ethX) for network interfaces, because of that: # grep GRUB_CMDLINE_LINUX /etc/sysconfig/grub GRUB_CMDLINE_LINUX="rd.lvm.lv=centos_node-XY/swap rd.lvm.lv=centos_node-XY/root rhgb quiet ipv6.disable=1 net.ifnames=0" net.ifnames=0 was added and afterwards I ran: grub2-mkconfig -o /boot/grub2/grub.cfg Then I created /etc/udev/rules.d/70-persistent-net.rules with content: SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:67:7f:9c:98", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:67:7f:9c:99", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:67:7f:9c:9a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:67:7f:9c:9b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:67:81:37:0d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:67:81:37:0e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth5" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:e2:ba:46:ef:30", ATTR{type}=="1", KERNEL=="eth*", NAME="eth6" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="90:e2:ba:46:ef:31", ATTR{type}=="1", KERNEL=="eth*", NAME="eth7" After reboot it worked fine for all 3 servers, but some time later after another reboot I get: # systemctl status network network.service - LSB: Bring up/down networking Loaded: loaded (/etc/rc.d/init.d/network) Active: failed (Result: exit-code) since Tue 2015-10-20 20:37:30 CEST; 13h ago Process: 2034 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE) Oct 20 20:37:24 node-X systemd-sysctl[2049]: Overwriting earlier assignment of net/bridge/bridge-nf-call-ip6tables in file '/etc/sysctl.d/99-sysctl.conf'. Oct 20 20:37:25 node-X network[2034]: Bringing up loopback interface: [ OK ] Oct 20 20:37:25 node-X network[2034]: Bringing up interface eth1: ERROR : [/etc/sysconfig/network-scripts/ifup-eth] Device eth1 does not seem to be present, delaying initialization. Oct 20 20:37:25 node-X network[2034]: [FAILED] Oct 20 20:37:27 node-X network[2034]: Bringing up interface eth6: [ OK ] Oct 20 20:37:30 node-X network[2034]: Bringing up interface eth7: [ OK ] Oct 20 20:37:30 node-X systemd[1]: network.service: control process exited, code=exited status=1 Oct 20 20:37:30 node-X systemd[1]: Failed to start LSB: Bring up/down networking. Oct 20 20:37:30 node-X systemd[1]: Unit network.service entered failed state. I see now that the device for which I have an entry in udev: SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:67:7f:9c:99", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" with MAC 00:1e:67:7f:9c:99 is not eth1 as it should be but 4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 link/ether 00:1e:67:7f:9c:99 brd ff:ff:ff:ff:ff:ff and there is no eth1 in the system. # cat /etc/sysconfig/network-scripts/ifcfg-eth1 TYPE=Ethernet BOOTPROTO=static DEFROUTE=no PEERDNS=no PEERROUTES=no IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=no IPV6_DEFROUTE=no IPV6_PEERDNS=no IPV6_PEERROUTES=no IPV6_FAILURE_FATAL=no NAME=eth1 #UUID=e421e35f-3397-4a93-9449-0aa4e9ef9e1d DEVICE=eth1 ONBOOT=yes IPADDR=1.2.3.4 NETMASK=255.255.255.0 All pages which I found about "Device ethX does not seem to be present, delaying initialization" tell to correctly configure udev but it is correctly configured and it worked some time ago, only recently i started to get problems with this on 3 servers at once. I also noticed that on one of them when I saw the problem and rebooted the server eth1 was correctly assigned afterwards but after another reboot the message happened again. Quite strange to me :D Have you had similar problems on centos7? Any advice? Thanks :) BR, Rafal.
Rafał Radecki
2015-Oct-21 08:44 UTC
[CentOS] Centos 7 - "Device eth1 does not seem to be present, delaying initialization".
Surprisingly: # lspci -vvv | grep 'Device Serial Number' Capabilities: [140 v1] Device Serial Number 00-1e-67-ff-ff-7f-9c-98 Capabilities: [140 v1] Device Serial Number 00-1e-67-ff-ff-7f-9c-98 Capabilities: [140 v1] Device Serial Number 00-1e-67-ff-ff-7f-9c-98 Capabilities: [140 v1] Device Serial Number 00-1e-67-ff-ff-7f-9c-98 Capabilities: [148 v1] Device Serial Number 00-1e-67-03-00-81-37-0c Capabilities: [140 v1] Device Serial Number 90-e2-ba-ff-ff-46-ef-30 Capabilities: [140 v1] Device Serial Number 90-e2-ba-ff-ff-46-ef-30 So for mentioned eth1 which should have MAC 00:1e:67:7f:9c:99 there is no entry in lspci but for all 4 ports of Intel I350 the MAC in lspci seems to be the same :) First four lines above are for Intel I350 ethernet adapter and I suspect that some settings in bios could change due to some unknown reason, I will check this. BR, Rafal.
Yamaban
2015-Oct-21 10:55 UTC
[CentOS] Re: Centos 7 - "Device eth1 does not seem to be present, delaying initialization".
On Wed, 21 Oct 2015 10:20, Rafa? Radecki <radecki.rafal at ...> wrote:> Hi All :) > > I have three servers, all with centos 7 installed 3 days ago. I need on > them "old" naming scheme (ethX) for network interfaces, because of that: > > # grep GRUB_CMDLINE_LINUX /etc/sysconfig/grub > GRUB_CMDLINE_LINUX="rd.lvm.lv=centos_node-XY/swap rd.lvm.lv=centos_node-XY/root > rhgb quiet ipv6.disable=1 net.ifnames=0" > > net.ifnames=0 was added and afterwards I ran: > > grub2-mkconfig -o /boot/grub2/grub.cfg > > Then I created /etc/udev/rules.d/70-persistent-net.rules with content: > > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", > ATTR{address}=="00:1e:67:7f:9c:98", ATTR{type}=="1", KERNEL=="eth*", > NAME="eth0" > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", > ATTR{address}=="00:1e:67:7f:9c:99", ATTR{type}=="1", KERNEL=="eth*", > NAME="eth1" > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", > ATTR{address}=="00:1e:67:7f:9c:9a", ATTR{type}=="1", KERNEL=="eth*", > NAME="eth2" > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", > ATTR{address}=="00:1e:67:7f:9c:9b", ATTR{type}=="1", KERNEL=="eth*", > NAME="eth3" > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", > ATTR{address}=="00:1e:67:81:37:0d", ATTR{type}=="1", KERNEL=="eth*", > NAME="eth4" > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", > ATTR{address}=="00:1e:67:81:37:0e", ATTR{type}=="1", KERNEL=="eth*", > NAME="eth5" > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", > ATTR{address}=="90:e2:ba:46:ef:30", ATTR{type}=="1", KERNEL=="eth*", > NAME="eth6" > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", > ATTR{address}=="90:e2:ba:46:ef:31", ATTR{type}=="1", KERNEL=="eth*", > NAME="eth7" > > After reboot it worked fine for all 3 servers, but some time later after > another reboot I get: > > # systemctl status network > network.service - LSB: Bring up/down networking > Loaded: loaded (/etc/rc.d/init.d/network) > Active: failed (Result: exit-code) since Tue 2015-10-20 20:37:30 CEST; > 13h ago > Process: 2034 ExecStart=/etc/rc.d/init.d/network start (code=exited, > status=1/FAILURE) > > Oct 20 20:37:24 node-X systemd-sysctl[2049]: Overwriting earlier assignment > of net/bridge/bridge-nf-call-ip6tables in file > '/etc/sysctl.d/99-sysctl.conf'. > Oct 20 20:37:25 node-X network[2034]: Bringing up loopback interface: [ > OK ] > Oct 20 20:37:25 node-X network[2034]: Bringing up interface eth1: ERROR > : [/etc/sysconfig/network-scripts/ifup-eth] Device eth1 does not seem to > be present, delaying initialization. > Oct 20 20:37:25 node-X network[2034]: [FAILED] > Oct 20 20:37:27 node-X network[2034]: Bringing up interface eth6: [ OK ] > Oct 20 20:37:30 node-X network[2034]: Bringing up interface eth7: [ OK ] > Oct 20 20:37:30 node-X systemd[1]: network.service: control process exited, > code=exited status=1 > Oct 20 20:37:30 node-X systemd[1]: Failed to start LSB: Bring up/down > networking. > Oct 20 20:37:30 node-X systemd[1]: Unit network.service entered failed > state. > > I see now that the device for which I have an entry in udev: > > SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", > ATTR{address}=="00:1e:67:7f:9c:99", ATTR{type}=="1", KERNEL=="eth*", > NAME="eth1" > > with MAC 00:1e:67:7f:9c:99 is not eth1 as it should be but > > 4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 > link/ether 00:1e:67:7f:9c:99 brd ff:ff:ff:ff:ff:ff > > and there is no eth1 in the system. > > # cat /etc/sysconfig/network-scripts/ifcfg-eth1 > TYPE=Ethernet > BOOTPROTO=static > DEFROUTE=no > PEERDNS=no > PEERROUTES=no > IPV4_FAILURE_FATAL=no > IPV6INIT=no > IPV6_AUTOCONF=no > IPV6_DEFROUTE=no > IPV6_PEERDNS=no > IPV6_PEERROUTES=no > IPV6_FAILURE_FATAL=no > NAME=eth1 > #UUID=e421e35f-3397-4a93-9449-0aa4e9ef9e1d > DEVICE=eth1 > ONBOOT=yes > IPADDR=1.2.3.4 > NETMASK=255.255.255.0 > > All pages which I found about "Device ethX does not seem to be present, > delaying initialization" tell to correctly configure udev but it is > correctly configured and it worked some time ago, only recently i started > to get problems with this on 3 servers at once. I also noticed that on one > of them when I saw the problem and rebooted the server eth1 was correctly > assigned afterwards but after another reboot the message happened again. > Quite strange to me :D > > Have you had similar problems on centos7? Any advice? > > Thanks :) > > BR, > Rafal.Hmm, shoot in the Dark, IMHO, the change of the udev rules should have been made before the grub-update. If you have initrd/initramfs, they will have to be updated before that also. Else the systemd from the boot(initrd) (still on en...) has another config that the on-system (eth.) systemd. I'm not on a CentOS system atm, so I can't test it, but a call to "dracut" seems to be in order, that a call to "grub-update" again. Please, inform yourself on dracut options before that, (man-page, also, see kernel-update scripts). - Yamaban.
Rafał Radecki
2015-Oct-21 14:12 UTC
[CentOS] Centos 7 - "Device eth1 does not seem to be present, delaying initialization".
Hi Yamaban. Thanks for the tip, you pushed me in the right direction. I added udev rules file to initramfs: dracut -f --include /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules and afterwards (reboot) it works as expected. Thanks! BR, Rafal. 2015-10-21 12:55 GMT+02:00 Yamaban <foerster at lisas.de>:> On Wed, 21 Oct 2015 10:20, Rafa? Radecki <radecki.rafal at ...> wrote: > > Hi All :) >> >> I have three servers, all with centos 7 installed 3 days ago. I need on >> them "old" naming scheme (ethX) for network interfaces, because of that: >> >> # grep GRUB_CMDLINE_LINUX /etc/sysconfig/grub >> GRUB_CMDLINE_LINUX="rd.lvm.lv=centos_node-XY/swap rd.lvm.lv >> =centos_node-XY/root >> rhgb quiet ipv6.disable=1 net.ifnames=0" >> >> net.ifnames=0 was added and afterwards I ran: >> >> grub2-mkconfig -o /boot/grub2/grub.cfg >> >> Then I created /etc/udev/rules.d/70-persistent-net.rules with content: >> >> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", >> ATTR{address}=="00:1e:67:7f:9c:98", ATTR{type}=="1", KERNEL=="eth*", >> NAME="eth0" >> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", >> ATTR{address}=="00:1e:67:7f:9c:99", ATTR{type}=="1", KERNEL=="eth*", >> NAME="eth1" >> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", >> ATTR{address}=="00:1e:67:7f:9c:9a", ATTR{type}=="1", KERNEL=="eth*", >> NAME="eth2" >> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", >> ATTR{address}=="00:1e:67:7f:9c:9b", ATTR{type}=="1", KERNEL=="eth*", >> NAME="eth3" >> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", >> ATTR{address}=="00:1e:67:81:37:0d", ATTR{type}=="1", KERNEL=="eth*", >> NAME="eth4" >> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", >> ATTR{address}=="00:1e:67:81:37:0e", ATTR{type}=="1", KERNEL=="eth*", >> NAME="eth5" >> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", >> ATTR{address}=="90:e2:ba:46:ef:30", ATTR{type}=="1", KERNEL=="eth*", >> NAME="eth6" >> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", >> ATTR{address}=="90:e2:ba:46:ef:31", ATTR{type}=="1", KERNEL=="eth*", >> NAME="eth7" >> >> After reboot it worked fine for all 3 servers, but some time later after >> another reboot I get: >> >> # systemctl status network >> network.service - LSB: Bring up/down networking >> Loaded: loaded (/etc/rc.d/init.d/network) >> Active: failed (Result: exit-code) since Tue 2015-10-20 20:37:30 CEST; >> 13h ago >> Process: 2034 ExecStart=/etc/rc.d/init.d/network start (code=exited, >> status=1/FAILURE) >> >> Oct 20 20:37:24 node-X systemd-sysctl[2049]: Overwriting earlier >> assignment >> of net/bridge/bridge-nf-call-ip6tables in file >> '/etc/sysctl.d/99-sysctl.conf'. >> Oct 20 20:37:25 node-X network[2034]: Bringing up loopback interface: [ >> OK ] >> Oct 20 20:37:25 node-X network[2034]: Bringing up interface eth1: ERROR >> : [/etc/sysconfig/network-scripts/ifup-eth] Device eth1 does not seem to >> be present, delaying initialization. >> Oct 20 20:37:25 node-X network[2034]: [FAILED] >> Oct 20 20:37:27 node-X network[2034]: Bringing up interface eth6: [ OK >> ] >> Oct 20 20:37:30 node-X network[2034]: Bringing up interface eth7: [ OK >> ] >> Oct 20 20:37:30 node-X systemd[1]: network.service: control process >> exited, >> code=exited status=1 >> Oct 20 20:37:30 node-X systemd[1]: Failed to start LSB: Bring up/down >> networking. >> Oct 20 20:37:30 node-X systemd[1]: Unit network.service entered failed >> state. >> >> I see now that the device for which I have an entry in udev: >> >> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", >> ATTR{address}=="00:1e:67:7f:9c:99", ATTR{type}=="1", KERNEL=="eth*", >> NAME="eth1" >> >> with MAC 00:1e:67:7f:9c:99 is not eth1 as it should be but >> >> 4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 >> link/ether 00:1e:67:7f:9c:99 brd ff:ff:ff:ff:ff:ff >> >> and there is no eth1 in the system. >> >> # cat /etc/sysconfig/network-scripts/ifcfg-eth1 >> TYPE=Ethernet >> BOOTPROTO=static >> DEFROUTE=no >> PEERDNS=no >> PEERROUTES=no >> IPV4_FAILURE_FATAL=no >> IPV6INIT=no >> IPV6_AUTOCONF=no >> IPV6_DEFROUTE=no >> IPV6_PEERDNS=no >> IPV6_PEERROUTES=no >> IPV6_FAILURE_FATAL=no >> NAME=eth1 >> #UUID=e421e35f-3397-4a93-9449-0aa4e9ef9e1d >> DEVICE=eth1 >> ONBOOT=yes >> IPADDR=1.2.3.4 >> NETMASK=255.255.255.0 >> >> All pages which I found about "Device ethX does not seem to be present, >> delaying initialization" tell to correctly configure udev but it is >> correctly configured and it worked some time ago, only recently i started >> to get problems with this on 3 servers at once. I also noticed that on one >> of them when I saw the problem and rebooted the server eth1 was correctly >> assigned afterwards but after another reboot the message happened again. >> Quite strange to me :D >> >> Have you had similar problems on centos7? Any advice? >> >> Thanks :) >> >> BR, >> Rafal. >> > > Hmm, shoot in the Dark, IMHO, the change of the udev rules should have > been made before the grub-update. If you have initrd/initramfs, they will > have to be updated before that also. > > Else the systemd from the boot(initrd) (still on en...) has another config > that the on-system (eth.) systemd. > > I'm not on a CentOS system atm, so I can't test it, but a call to "dracut" > seems to be in order, that a call to "grub-update" again. > Please, inform yourself on dracut options before that, (man-page, also, > see kernel-update scripts). > > - Yamaban. > _______________________________________________ > CentOS mailing list > CentOS at centos.org > https://lists.centos.org/mailman/listinfo/centos > >
Gordon Messmer
2015-Oct-21 17:06 UTC
[CentOS] Centos 7 - "Device eth1 does not seem to be present, delaying initialization".
On 10/21/2015 01:20 AM, Rafa? Radecki wrote:> I have three servers, all with centos 7 installed 3 days ago. I need on > them "old" naming scheme (ethX) for network interfaces, because of that: > > # grep GRUB_CMDLINE_LINUX /etc/sysconfig/grub > GRUB_CMDLINE_LINUX="rd.lvm.lv=centos_node-XY/swap rd.lvm.lv=centos_node-XY/root > rhgb quiet ipv6.disable=1 net.ifnames=0"If you set net.ifnames=0 and still have trouble with names, then you're probably fighting with biosdevname, which you should also disable. Yes, there are two subsystems that rename ethernet interfaces. It's gross. Add "biosdevname=0" to your kernel args, and the udev rules shouldn't be necessary. If you decide to keep the systems as they are, you should probably reboot several times to make sure the problem is actually fixed. It was intermittent before, and it may still be present. Otherwise, you can configure dracut to always include a file by creating /etc/dracut.conf.d/persistent-net.conf with one line: install_items+="/etc/udev/rules.d/70-persistent-net.rules"