Re: Advanced Startup/Shutdown with Multilayered Block Devices and Related Issues
Goswin von Brederlow <firstname.lastname@example.org> writes:
> Daniel Pittman <email@example.com> writes:
>> Petter Reinholdtsen <firstname.lastname@example.org> writes:
>>> [Goswin von Brederlow]
[... waiting for enough devices to show up ...]
>>> 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. :(
>>>> The big question is how long do you wait?
>> Please, for the love of everything sane, ask a low priority debconf question
>> with a default of five minutes â€” and display a note in the initramfs about
>> what you are waiting for, and how long.
> For most people that is about 4 minutes and 30 seconds too long. And don't
> forget that this needs to be multiple times. Usualy once in the initramfs
> and once in the real system. But if devices are really multilayered you can
> end up having to do this for every layer.
> The multipath waits for both its paths. Then the raid waits for all its
> devices. Then the drbd waits for both its other hosts to boot. That is 15
> minutes already in case of a bad error.
>> (Actually, the countdown from the DRBD init script, including the prompt to
>> override the configured wait time, would be absolutely wonderful to have
>> here, since it gives excellent feedback, a good UI to bypass things, and is
>> generally quite informative.)
> Which I think is a verry good compromise. As long as you have a keyboard
> to press ctrl-c. :)
> One small problem though. This requires that you know beforehand what
> devices to expect at all.
It took me two tries to understand what you were saying here. Yes, that would
be an issue, even if it can be solved in some cases. The "waiting for" is
"for the root device to show up", and what is happening is event-driven stuff
is building — and, hopefully, eventually that creates the root device.
So, either the system would need to "document" the path to the root device
somewhere, and use that to drive the "what we are waiting for next" part, or
you would need to treat that as a global timeout.
The later would at least reduce it from one-wait-per-device worst case,
I guess. ;)
✣ Daniel Pittman ✉ email@example.com ☎ +61 401 155 707
♽ made with 100 percent post-consumer electrons