Linux-Dämonen rufen und loswerden: Upstart versus runit

Wie schnell Linux-Systeme booten und Dienste starten, hängt maßgeblich vom Dienstüberwachungssystem ab. Da Ubuntus Upstart auch bei Fedora zum Einsatz kommt, lohnt sich ein Vergleich mit runit. ZDNet zeigt, welches System sich zur Kontrolle der Dämonen besser eignet.

Wer bereits Fedora Core 10 (FC10) installiert hat, wird vielleicht festgestellt haben, dass diese Version mit Ubuntus Upstart ausgestattet ist, einem Alternativsystem zu SysV init. Daher hat die Redaktion die Gelegenheit genutzt, Upstart einmal etwas genauer unter die Lupe zu nehmen und herauszufinden, wie es sich im Vergleich zu runit und SysV init schlägt. Zumal einige vorhandene, beziehungsweise geplante Funktionen von Upstart genau die Zwecke erfüllen sollen, mit denen runit und seine Überwachungsfunktion von gestarteten Diensten (Service Supervision) einst die Herzen eroberten.

Canonical beschreibt Upstart als SysV init-Alternative auf Ereignisbasis, die sich während des Bootvorgangs um das Starten von Tasks und Diensten kümmert, beim Herunterfahren sämtliche Dienste und Tasks beendet, und die sämtliche gestarteten Dienste überwacht, solange das System am Laufen ist. Der Benutzer kann dabei nicht feststellen, dass das System irgendwie anders bootet.

Die althergebrachte Datei /etc/inittab gibt es zwar noch immer, aber sie bestimmt lediglich den Standard-Runlevel. Um alles andere kümmern sich die Konfigurationsdateien im Verzeichnis /etc/event.d/ (Fedora) und /etc/init/jobs.d/ (Ubuntu). Die Dateien ersetzen einige Zeilen in /etc/inittab. So enthält zum Beispiel die Datei /etc/event.d/tty1:



Im Vergleich dazu würde eine entsprechende Zeile in /etc/inittab auf einem SysV init-System folgendermaßen aussehen:



Der Inhalt ist in beiden Fällen der gleiche: Wenn tty1 stirbt, soll es neu gestartet werden. Wie man sehen kann, ist das mit SysV init kein Problem:



Anhand der abweichenden PID lässt sich erkennen, dass init den Dienst neu gestartet hat.

Leider ist Upstart in FC10 nicht ganz so erfolgreich:



Wenn man den Dienst auf FC10 killt, dann wird er nicht neu gestartet, und das ist ein erheblicher Rückschritt. In FC10 wird die Upstart-Version 0.3.9 verwendet, doch mittlerweile ist es bereits bei Version 0.5.0 angelangt. Warum FC10 bei der Veröffentlichung aber mit Version 0.3.9 ausgestattet wurde, obwohl es bereits die Version 0.5.0 gab, ist nicht wirklich nachvollziehbar. Wie dem auch sei – wer mit FC10 arbeitet und erwartet, dass das mit dem Neustarten von Diensten genauso gut funktioniert wie bislang, sollte sich schon einmal auf ein böses Erwachen gefasst machen.

Zu den angenehmen Features eines Dienstüberwachungssystems zählt das Neustarten von Diensten, wenn diese abstürzen oder unwillentlich beendet werden. Wer bereits einmal aus der Ferne den sshd-Dienst auf einem Remote-System gekillt und sich dann ausgeloggt hat, weiß genau, was gemeint ist. FC10 nutzt die Überwachungsfunktionen von Upstart leider nicht über mingetty hinaus, und das ist wirklich eine Schande (natürlich nur unter der Voraussetzung, dass es ordentlich funktionieren würde). Mit runit auf Annvix wurde jeder „daemonisierte“ Systemdienst überwacht, das heißt ein Dienst konnte gekillt werden oder abstürzen, und binnen Sekunden war er wieder da. Das dürften vor allem jene zu schätzen wissen, die mit Remote-Systemen oder Remote-Servern arbeiten.

Es sieht danach aus, als würde Upstart auch irgendwann einmal mit zeitbasierten Ereignissen umgehen können, wodurch man auf Zeitsteuerungssysteme wie cron, at und andere verzichten könnte. Damit läge es dann auch mit dem launchd-System auf OS X auf Augenhöhe, das sowohl mit Diensten als auch mit Ereignissen umgehen kann. Zukünftige Versionen von Upstart könnten sicherlich ganz praktisch werden, aber momentan scheint – zumindest was Fedora Core 10 anbelangt – runit noch die bessere Lösung für die Überwachung von Diensten zu sein.

Themenseiten: Linux, Open Source, Plattform, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Linux-Dämonen rufen und loswerden: Upstart versus runit

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *