Benutzer-Werkzeuge

Webseiten-Werkzeuge


solaris_services

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
solaris_services [2012/07/19 22:04]
christian [Kommandos]
solaris_services [2012/07/19 22:50] (aktuell)
christian [-l]
Zeile 1: Zeile 1:
 ======Aufbau====== ======Aufbau======
 +In Solaris 10 löste die "​Service Management Facility"​ (SMF) die klassischen und angestaubten Initskripte ab. Dadurch ergaben sich zahlreiche Vorteile, wie beispielsweise bessere Abhängigkeitsbildung und wirklich parallelisiertes Starten von Diensten.
 +In einem Fehlerfall werden Dienste neugestartet,​ sodass Applikationen immer zur Verfügung stehen:
 +<​code>​
 +# svcs -p inetd
 +STATE          STIME    FMRI
 +online ​        ​22:​06:​54 svc:/​network/​inetd:​default
 +               ​22:​06:​54 ​    1343 inetd
 +# kill -9 1343; svcs -p inetd
 +STATE          STIME    FMRI
 +offline ​       22:25:29 svc:/​network/​inetd:​default
 +# svcs -p inetd
 +STATE          STIME    FMRI
 +online ​        ​22:​25:​29 svc:/​network/​inetd:​default
 +               ​22:​25:​29 ​    1435 inetd
 +# tail /​var/​svc/​log/​network-inetd:​default.log
 +[ Jul 19 22:25:29 Stopping because process received fatal signal from outside the service. ]
 +[ Jul 19 22:25:29 Executing stop method ("/​usr/​lib/​inet/​inetd stop"​). ]
 +[ Jul 19 22:25:29 Method "​stop"​ exited with status 0. ]
 +[ Jul 19 22:25:29 Executing start method ("/​usr/​lib/​inet/​inetd start"​). ]
 +[ Jul 19 22:25:29 Method "​start"​ exited with status 0. ]
 +</​code>​
 +
 +=====Stati=====
 +Alte Initskript-Dienste sind zu SMF kompatibel und können weiterhin verwendet werden. Ersichtlich ist das durch den auffälligen Dienststatus "''​legacy_run''"​. Ein Dienst kann folgende Stati haben:
 +^Status^Bedeutung^
 +|''​uninitialized''​|Dienst unkonfiguriert|
 +|''​disabled''​|deaktivierter Dienst|
 +|''​offline''​|Dienst wartet auf Ereignis|
 +|''​online''​|Dienst aktiv|
 +|''​degraded''​|(teilweise) fehlerhafter Dienst|
 +|''​maintenance''​|Dienst konnte nicht gestartet werden|
 +|''​legacy_run''​|alter init.d-Dienst|
 +
 +Ein Dienst wird immer im "​FMRI"​-Format (//Fault Managed Resource Identifier//​) angegeben: ''​svc:/​GRUPPE/​dienst:​default''​
 +z.B. ''​svc:/​network/​inetd:​default''​ für den Inetd-Superserver.
 +
 +=====Manifest und Logs=====
 +Dienste werden durch ein XML-Manifest unterhalb von ''/​lib/​svc/​manifest''​ definiert und pflegen ein eigenes Logfile unterhalb von ''/​var/​svc/​log''​.
 +Im Manifest werden beispielsweise definiert:
 +  * Name (''<​service>''​)
 +  * Standard-Status
 +  * Abhängigkeiten zu anderen Diensten (''<​dependency>''​)
 +  * Verhalten im Fehlerfall - z.B. abgestürzte Prozesse
 +  * Auszuführende Kommandos für Start/​Stop/​Refresh (''<​exec_method>''​)
 +  * Spezielle Dienst-Prozessparameter (sogenannte Properties),​ wie beispielsweise ''​tcp_keepalive''​ bei ''​inetd''​ - Properties stellen __**keine**__ Dienst-Konfiguration,​ wie beispielsweise FTP-Benutzer eines FTP-Servers,​ dar! (''<​property>''​)
 +  * Verweis zur Man-Page (''<​documentation>''​)
 +  * ...
  
 ======Kommandos====== ======Kommandos======
 +Zur Verwaltung von Diensten über das SMF stehen 4 Kommandos zur Verfügung:
 +
 ^Kommando^Verwendung^ ^Kommando^Verwendung^
 |''​svcs''​|Statusinformationen| |''​svcs''​|Statusinformationen|
Zeile 7: Zeile 56:
 |''​svccfg''​|Konfiguration der Dienste| |''​svccfg''​|Konfiguration der Dienste|
 |''​svcprop''​|Anzeigen von Properties| |''​svcprop''​|Anzeigen von Properties|
-|''​inetadm''​|Administration von inetd-Diensten| 
-|''​inetconv''​|inetd zu smf| 
- 
  
 =====svcs===== =====svcs=====
Zeile 45: Zeile 91:
 enabled ​     true enabled ​     true
 state        online state        online
-...+next_state ​  ​none 
 +state_time ​  19Juli 2012 22:25:29 Uhr CEST 
 +logfile ​     /​var/​svc/​log/​network-inetd:​default.log 
 +restarter ​   svc:/​system/​svc/​restarter:​default 
 +contract_id ​ 132 
 +manifest ​    /​etc/​svc/​profile/​generic.xml 
 +manifest ​    /​lib/​svc/​manifest/​network/​inetd.xml 
 +dependency ​  ​require_any/​error svc:/​network/​loopback (online) 
 +dependency ​  ​require_all/​error svc:/​system/​filesystem/​local (online) 
 +dependency ​  ​optional_all/​error svc:/​milestone/​network (online) 
 +dependency ​  ​optional_all/​error svc:/​network/​rpc/​bind (online) 
 +dependency ​  ​optional_all/​none svc:/​network/​inetd-upgrade (disabled) 
 +dependency ​  ​require_all/​none svc:/​milestone/​name-services (online)
 </​code>​| </​code>​|
-^Erklärung:​|Der Dienst ''​inetd:​default''​ ist aktiv und wird automatisch beim Boot gestartet. ...|+^Erklärung:​|Der Dienst ''​inetd:​default''​ ist aktiv und wird automatisch beim Boot gestartet. ​Der Dienste wurde am 19.Juli 2012 gestartet und schreibt seine Logs nach ''/​var/​svc/​log/​network-inetd:​default.log''​. Der Dienst wird durch zwei Manifest definiert und ist von zahlreichen Diensten abhängig.|
  
 ====-n==== ====-n====
Zeile 87: Zeile 145:
 </​code>​| </​code>​|
 ^Erklärung|Für den Dienst ''​inetd''​ ist ein Prozess ''​inetd''​ mit der PID ''​462''​ gestartet.| ^Erklärung|Für den Dienst ''​inetd''​ ist ein Prozess ''​inetd''​ mit der PID ''​462''​ gestartet.|
 +
 +======Internetverweise======
 +  * PDF "​Solaris Service Management Facility"​ von Dipl. Chem. Rainer Orth, Technische Fakultät der Universität Bielefeld: [[http://​www.techfak.uni-bielefeld.de/​~ro/​talks/​smf.pdf]]
solaris_services.1342728293.txt.gz · Zuletzt geändert: 2012/07/19 22:04 von christian