[Pkg-sysvinit-devel] Advanced Startup/Shutdown with Multilayered Block Devices and Related Issues
Goswin von Brederlow
goswin-v-b at web.de
Wed Jun 30 14:49:35 UTC 2010
Petter Reinholdtsen <pere at hungry.com> writes:
> [Goswin von Brederlow]
>> There is one big problem with an event based startup. Specifically
>> for raid1/4/5/6 devices. Those you can use just fine with missing
>> devices but the boot should really wait for all device to be
>> present.
>
> This problem is not specific for event based startup. It also exist
> with the current sequence based boot system. There are heaps of
> setups that fail to boot because the required are missing when the
> init.d script using them are running during boot. The only known
> solution today is to add a long delay during boot to try to increase
> the chance of having all devices available when they are needed. :(
Yes it is. The problem is that the linux kernel changed from a
asynchronous, wait till the module is completly loaded and all
ports/luns have been scanned mode to one that generates events
asynchronously.
So part of the startup, the most problematic part in this actually, has
already changed to event based. The init.d scripts may or may not
follow. Mdadm already has an event based startup script by the way.
>> The big question is how long do you wait? How do you detect that a
>> device is actually broken/missing and its event will never come? You
>> can't even check if there are any pending events (udev-settle)
>> because the device might be slow to start (e.g. a disk on a SATA
>> port multiplier or SCSI with delayed spin up or external enclosures)
>> and no event has yet been initialized for it.
>
> Yeah. With the current Linux kernel, I am not aware of any way to
> answer these questions. :(
>
> Happy hacking,
MfG
Goswin
More information about the Pkg-sysvinit-devel
mailing list