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

Re: Services die afhankelijk van elkaar zijn



Paul van der Vlis (paul@vandervlis.nl on 2012-12-04 11:46 +0100):

> Ik draai een systeem waarbij enkele services afhankelijk van elkaar
> zijn. Als bijvoorbeeld de database herstart wordt, bijvoorbeeld voor
> een security update, dan moet ook een andere service herstart worden,
> want die doet het dan niet meer (en hersteld zich ook niet).
> 
> Is er binnen Debian een mechanisme om dit te automatiseren?

Min of meer. Dependencies kunnen worden aangegeven in de LSB-headers van
de init scripts, en insserv (vanaf Squeeze) en systemd snappen deze
dependencies. Zie man 8 insserv. Lees dan vooral ook de sectie over
overrides, zodat dpkg niet bij de volgende upgrade gaat vragen om het
init script te vervangen.

> Dus dat als b.v. de database herstart wordt, ook een andere service
> herstart wordt?

Deze dependencies zijn enkel voor het bepalen van de opstartvolgorde;
bij het herstarten van services worden ze niet meegenomen.

Het ontwerp van Upstart biedt wel deze mogelijkheid (stop on stopping
en start on started events), maar of dit volledig is geïmplementeerd
voor package upgrades weet ik niet.

> Of is er principieel iets mis met een service als deze dusdanig
> afhankelijk is van een andere service, dat die andere service niet
> even herstart kan worden?

Dat hangt af van de service, maar de meeste Unix-services volgen het
client-server model, en daarbij maakt het geen verschil of de services
of dezelfde machine of op verschillende machines draaien. Het hele
Internet is in zekere zin gebaseerd op robuustheid, op het automatisch
kunnen herstellen van verbindingsfouten. Een client service die omvalt
bij de eerste communicatiestoring zou mij in ieder geval niet veel
vertrouwen geven in de maker ervan.

De enige uitzondering daarop die ik ken (en die daarover ook genoeg
kritiek ontvangt) is dbus: als de messagebus-server onderuit gaat zijn
clients niet in staat om opnieuw te verbinden als deze wordt herstart.


Groeten,
Arno


Reply to: