FIX: CentOS 6.8 Minimal Install: Device eth0 does not seem to be present, delaying initialization

Scenario:

  1. You are running your CentOS virtual machine on XenServer with a Static IPv4 IP-Address.
  2. All of sudden your CentOS system loses network connectivity. Upon checking you notice that none of the Network adapters are detected.  The IP-address assigned gets allocated to other systems on the network.
  3. Upon attempting to run command ‘service network restart’, you encounter error message: Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization. [FAILED]
  4. You notice that
  1. Same error persists even when you add more NICs to the system
  2. Same error persists even when you remove or manually update MAC address of eth0
  3. There doesn’t exists file: /etc/udev/rules.d/70-persistent-net.rules
  4. You completely recreates the /etc/sysconfig/network-scripts/ifcfg-eth0 file with MAC address that matches the new NIC MAC Address, IP address that is not in use
  5. You are running a minimal version of the CentOS that doesn’t even have the tools like lspci, system-config-network, system-config-network-tui installed
  6. Running ifconfig command only lists the Local Loop Back (lo) interface and no other NICs are reported
  7. The VM is missing the Citrix XenServer tools, you go ahead have it installed on the VM
  • Solution:

    Despite attempting to delete, update, restore the /etc/sysconfig/network-scripts/ifcfg-eth0 file, the error persists.  In my case, when I checked the system network config using below command I noticed that network 0, 1 are set to off.

    [root@VM001 ~]# chkconfig –list | grep -i net
    netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
    netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
    network        
    0:off   1:off   2:on    3:on    4:on    5:on    6:off
    [root@VM001 ~]#

    Then, I attempted to add the third NIC, then the system started to locate the eth0 and then reported it back in ifconfig command.  Then I updated the eth0 config file with new IPv4 address that is not in-use and then system started to communicate on the network.

     

     

    References:

    Leave a Reply

    Your email address will not be published. Required fields are marked *