[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Asynchronous network start [Was: 1 in 2 chance : need to issue "/etc/init.d/networking restart" after boot]



Marc Auslander wrote:
is
http://www.debian.org/releases/stable/i386/release-notes/ch-information.en.html#s-asynchronous-network-start
relevant?

I also believe there is information in the wiki or release notes about workarounds.



I have had a somewhat similar problem with some servers at work. The servers in question acquire their ip address from a dhcp server and either mount some filesystems over nfs or, in case of the nfs server itself, export the relevant directories to specific hosts. During bootup, dhclient tries to acquire an ip address but fails and backgrounds since the network link is not yet activated. The link is activated some time later in the boot sequence and dhclient succeeds on its second attempt, the default being after several minutes of the first attempt. However it is too late for the system, since by that time both the nfs mounting and the nfs server process would have failed. The server process fails because it is not able to resolve the host addresses to which it is supposed to allow access.

I had realized it was some timing issue with the network driver. I tried explicitly loading the network related modules at the S20module-init-tools stage by adding the module to /etc/modules. I have added a couple of echo statements to the modules-init-tools in order to verify that the network module is indeed loaded before the networking stage. However the problem still persisted.

I was finally able to workaround the problem by adding a 60 second sleep at the end of /etc/init.d/networking and reducing the dhclient timeout to 5 seconds and the retry to 10 seconds. This way, dhclient backgrounds some 5-10 seconds after starting, but is able to succeed the second time before the end of sleep.

I wonder if there is some better way to do it though. The link provided by Marc describes this issue, but I could not find any workaround anywhere.

The relevant network module in my case was: bnx2

Thanks & regards,

--
Raj Kiran Grandhi



Reply to: