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:23]
christian [Aufbau]
solaris_services [2012/07/19 22:50] (aktuell)
christian [-l]
Zeile 1: Zeile 1:
 ======Aufbau====== ======Aufbau======
-  * Seit Solaris 10 SMF +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. 
-    * bessere ​Abhängigskeitsbildung +In einem Fehlerfall ​werden Dienste neugestartet,​ sodass Applikationen immer zur Verfügung stehen: 
-    * echte Parallelisierung ​von Diesten +<​code>​ 
-    * Dienstweises detailliertes Logging +# svcs -p inetd 
-    * bei Fehlerfall ​automatische Neustarts +STATE          STIME    ​FMRI 
-    * Kompatibel zu bisherigen rc*.d-Skripten +online ​        ​22:​06:​54 svc:/​network/​inetd:​default 
-  * Definition als "FMRI" ​Fault Managed Resource Identifier +               ​22:​06:​54 ​    1343 inetd 
-    ​* Format: svc:/GRUPPE/dienst:default +# kill -9 1343; svcs -p inetd 
-    ​* z.B. svc:/​network/​inetd:​default +STATE          STIME    FMRI 
-  * Zustände+offline ​       22:25:29 svc:/network/inetd:default 
-    ​* ​''​uninitialized'' ​Dienst unkonfiguriert +# svcs -p inetd 
-    ​* ​''​disabled'' ​deaktivierter Dienst +STATE          STIME    FMRI 
-    ​* ​''​offline'' ​Dienst wartet auf Ereignis +online ​        ​22:​25:​29 ​svc:/​network/​inetd:​default 
-    ​* ​''​online'' ​Dienst aktiv +               22:25:29     1435 inetd 
-    ​* ​''​degraded'' ​(teilweise) fehlerhafter Dienst +# tail /​var/​svc/​log/​network-inetd:​default.log 
-    ​* ​''​maintenance'' ​Dienst konnte nicht gestartet werden +[ Jul 19 22:25:29 Stopping because process received fatal signal from outside the service. ] 
-    ​* ​''​legacy_run'' ​alter init.d-Dienst +[ Jul 19 22:25:29 Executing stop method ("/​usr/​lib/​inet/​inetd stop"​). ] 
-  * Manifest +[ Jul 19 22:25:29 Method "​stop"​ exited with status 0. ] 
-    ​* ​Dienst wird durch Manifest definiert +[ Jul 19 22:25:29 Executing start method ("/​usr/​lib/​inet/​inetd start"​). ] 
-    * Manifest unterhalb von ''​/lib/svc/manifest''​z.B. für ''​network/​inetd''​ Manifest unterhalb ''/​lib/​svc/​manifest/​network/​inetd.xml''​ +[ Jul 19 22:25:29 Method "​start"​ exited with status 0. ] 
-    * Logs unterhalb von ''/​var/​svc/​log''​z.B. für ''​network/inetd'' ​Logs unterhalb von ''​/​var/​svc/​log/​network-inetd:​default.log''​ +</​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 29: 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 67: 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 109: 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.1342729429.txt.gz · Zuletzt geändert: 2012/07/19 22:23 von christian