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

Re: setting runlevel to single-user

On 2004 Oct 28, at 4:54 AM, Brett Lymn wrote:

> It's interesting that you get a lot of people in the open source world
> with the "little network" view, scalability and managability are just
> not cool concepts and hence are deemed "too hard/complex".

Humor me. Please describe one of these uber-complex systems with lots 
of complex startup scripts and interdependencies that can't be handled 
by a simple rc script and rc.conf.

I've tried to imagine scenarios, and I keep coming up with horrendous 
kluges that either address problems that don't or shouldn't exist or 
are using the wrong tool to solve the wrong problem.

For example, I could imagine an IMAP server that depended on an 
authentication agent that depended on a database. Your first thought is 
that you'd need to start them all in the proper order. But, if that's 
the case...what happens when one of the program dies or you have to 
restart it? Do you have to bring all of them down and then bring all of 
them back up again? If that's the case, I'd say something's broken.

The programs that depend on each other should gracefully deal with the 
absence of the other programs. In my scenario, if the authentication 
agent is down, the IMAP server should either refuse logins with an 
informative message until things are back to normal, or try to start 
the authentication server itself. If neither are possible, you need 
some sort of a watchdog--and a better IMAP server. You might also need 
a watchdog to alert you when one of the programs dies.

But none of that has anything to do with the boot process. If you start 
the IMAP server too early in the boot process, then somebody who tries 
to check mail in those ten seconds before the authentication agent 
starts will get an error message or will have to wait an extra ten 
seconds for the agent to start up. This is a problem...how?

And, even in a worst-case scenario, just put the stanza for the 
authentication agent between the stanzas for your database and IMAP 
server. If they're really that sensitive, put them together in a block 
with a comment saying why they're that way. If you're also running a 
Web server and a DHCP server and an FTP server and Samba and VNC and a 
Foo server, what matter if they get started before or after your IMAP 
server? They don't care.

So, again...what's the problem, and why do you need complex init 
scripts to solve it?



[demime 0.98d removed an attachment of type application/pgp-signature which had a name of PGP.sig]