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:28]
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" (SMFdie klassischen und angestaubten Initskripte abDadurch ergaben sich zahlreiche Vorteile, wie beispielsweise bessere Abhängigkeitsbildung und wirklich parallelisiertes Starten ​von Diensten
-    * bessere Abhängigskeitsbildung +In einem Fehlerfall werden Dienste neugestartetsodass Applikationen immer zur Verfügung stehen:
-    * echte Parallelisierung von Diesten +
-    * Dienstweises detailliertes Logging +
-    * bei Fehlerfall automatische Neustarts +
-    * Kompatibel zu bisherigen rc*.d-Skripten +
-  * Definition als "FMRI" ​- Fault Managed Resource Identifier +
-    * Format: svc:/​GRUPPE/​dienst:​default +
-    * z.B. svc:/​network/​inetd:​default +
-  * Zustände:​ +
-    * ''​uninitialized''​ - Dienst unkonfiguriert +
-    * ''​disabled''​ - deaktivierter Dienst +
-    * ''​offline''​ - Dienst wartet auf Ereignis +
-    * ''​online''​ - Dienst aktiv +
-    * ''​degraded''​ - (teilweisefehlerhafter Dienst +
-    * ''​maintenance''​ - Dienst konnte nicht gestartet werden +
-    * ''​legacy_run''​ - alter init.d-Dienst +
-  * Manifest +
-    * Dienst wird durch Manifest definiert +
-    * Manifest unterhalb ​von ''/​lib/​svc/​manifest'',​ z.B. für ''​network/​inetd''​ Manifest unterhalb ''/​lib/​svc/​manifest/​network/​inetd.xml''​ +
-    * Logs unterhalb von ''/​var/​svc/​log''​z.B. für ''​network/​inetd''​ Logs unterhalb von ''/​var/​svc/​log/​network-inetd:default.log''​ +
-  *  +
- +
-=====Beispiel - automatisch neustartender Dienst=====+
 <​code>​ <​code>​
 # svcs -p inetd # svcs -p inetd
Zeile 43: Zeile 21:
 [ Jul 19 22:25:29 Method "​start"​ exited with status 0. ] [ Jul 19 22:25:29 Method "​start"​ exited with status 0. ]
 </​code>​ </​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 49: 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 87: 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 129: 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.1342729733.txt.gz · Zuletzt geändert: 2012/07/19 22:28 von christian