[CentOS] Re: Centos 7 - "Device eth1 does not seem to be present, delaying initialization".

Wed Oct 21 10:55:31 UTC 2015
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.