Der HELIOS Service Controller "srvsrv" ist eine neue Eigenschaft, die mit dieser Version der Software implementiert wurde. Er startet, beendet und überwacht alle HELIOS Serverprozesse wie "afpsrv", "pcshare", "lpd" usw. (die Grafik auf der nächsten Seite zeigt HELIOS dreistufiges Konzept zur Ausfallsicherheit der bereitgestellten Dienste).
Mit dieser Eigenschaft wird verhindert, dass ein einziger, möglicherweise hängengebliebener, Serverprozess eines Clients alle für den jeweiligen Dienst angemeldeten Clients beeinträchtigt. Durch die Bereitstellung von einem separaten Prozess pro Client ist jeder Benutzer effektiv von allen anderen Benutzern isoliert. Je mehr Benutzer in einem Netzwerk aktiv sind, desto wichtiger wird diese Eigenschaft.
Automatischer Prozess-Neustart bei Fehlfunktionen
Der HELIOS Service Controller überwacht alle Prozesse, die auf dem Server gestartet wurden. Wenn sich ein Prozess unerwartet beendet, dann startet der HELIOS Service
Controller diesen Prozess nach einer kurzen Zeitspanne neu.
- Automatischer Dienste-Neustart 10 Sekunden nach Ausfall
- Automatisches Deaktivieren des Dienstes nach 10 Ausfällen; alle innerhalb einer Minute
- Automatische Startfolge für die Dienste, z. B.:
- afpsrv zuerst
- opisrv danach
- ...
- Automatische Reihenfolge beim Beenden
- Vollständiges Protokoll aller auftretenden Fehler in der "syslog"-Datei
- Produkte von Drittherstellern können ihre Dienste in den HELIOS Service Controller integrieren (dies erfolgt über Präferenzen; siehe auch 9.2 "Integration zusätzlicher Dienste").
Das Programm "srvutil" ist ein Server-Dienstprogramm, das die Steuerung einzelner HELIOS Dienste erlaubt, z. B. starten, beenden, neu konfigurieren oder einfach überwachen. Tatsächlich leitet es Anfragen an den "srvsrv"-Dämon weiter, der weiter oben beschrieben wurde.
Diese Optionen können mit dem "srvutil"-Befehl verwendet werden, mit
[-f] (
erzwungen)
und
[-r] (
rekursiv):
srvutil start all (root only)
srvutil start [-r] [-f] service... (root only)
srvutil stop all (root only)
srvutil stop [-r] [-f] service... (root only)
srvutil reconf all (root only)
srvutil reconf service... (root only)
srvutil status (all users)
Startet den Dienst auch dann, wenn von ihm abhängige Dienste noch nicht verfügbar sind.
Beendet den Dienst auch dann, wenn von ihm abhängige Dienste noch nicht beendet sind.
Startet einen Dienst und alle anderen von ihm abhängigen Dienste ebenfalls.
Beendet einen Dienst und alle anderen von ihm abhängigen Dienste ebenfalls.
./srvutil stop -f pcshare
Der Befehl stoppt den PCShare-Dienst (,pcshare"), obwohl der von "pcshare" abhängige Dienst "opisrv" noch läuft.
9.2 Integration zusätzlicher Dienste
Der HELIOS Service Controller kann auch dazu verwendet werden, zusätzliche Serverprozesse zu starten und zu beenden.
Wenn Sie zusätzliche Dienste in der HELIOS Software integrieren möchten, die durch den HELIOS Service
Controller verwaltet werden sollen, dann gehen Sie wie folgt vor:
-> Legen Sie eine Textdatei mit den Präferenzen für den neuen Dienst an und sichern Sie sie unter einem passenden Namen, z. B. "myservice.prefs".
Das folgende Beispiel zeigt die Präferenzen für einen neuen "lpd"-Dienst. Die Textdatei heißt "lpd.prefs":
[][Services][lpd][ExecPath]
flags=0
type=String
value=[8]
sbin/lpd
[][Services][lpd][OptDependsOn]
flags=0
type=Stringlist
value=[4]
[6]atalkd
[7]desksrv
[6]afpsrv
[7]pcshare
-> Installieren Sie die Präferenzen für den neuen Dienst über den Aufruf:
Detaillierte Informationen zu dem Befehl "prefrestore" finden Sie in Kapitel
6.9 "prefrestore".
Die Präferenzen werden mit dem nächsten "start-helios"-Aufruf verwendet.