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 21:59]
christian [-n]
solaris_services [2012/07/19 22:50] (aktuell)
christian [-l]
Zeile 1: Zeile 1:
-^Kommando^Verwendung^ +======Aufbau====== 
-|svcs|Statusinformationen +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. 
-|svcadm|Administrationaktivieren/deaktivieren| +In einem Fehlerfall werden Dienste neugestartetsodass Applikationen immer zur Verfügung stehen: 
-|svccfg|Konfiguration der Dienste| +<​code>​ 
-|svcprop|Anzeigen von Properties| +# svcs -p inetd 
-|inetadm|Administration von inetd-Diensten| +STATE          STIME    FMRI 
-|inetconv|inetd zu smf|+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======
 +Zur Verwaltung von Diensten über das SMF stehen 4 Kommandos zur Verfügung:
 +
 +^Kommando^Verwendung^
 +|''​svcs''​|Statusinformationen|
 +|''​svcadm''​|Administration,​ aktivieren/​deaktivieren|
 +|''​svccfg''​|Konfiguration der Dienste|
 +|''​svcprop''​|Anzeigen von Properties|
  
-======svcs======+=====svcs=====
  
-=====none / -a=====+====none / -a====
 ^Parameter:​|**-a** bzw. **keine**| ^Parameter:​|**-a** bzw. **keine**|
 ^Bedeutung:​|Alle Services anzeigen| ^Bedeutung:​|Alle Services anzeigen|
Zeile 18: Zeile 67:
 </​code>​| </​code>​|
  
-=====-D=====+====-D====
 ^Parameter:​|**-D**| ^Parameter:​|**-D**|
 ^Bedeutung:​|Zeigt Dienste an, die von einem anderen (als FMRI definieren) abhängig sind.| ^Bedeutung:​|Zeigt Dienste an, die von einem anderen (als FMRI definieren) abhängig sind.|
Zeile 32: Zeile 81:
 </​code>​| </​code>​|
 ^Erklärung|Die deaktivierten Dienste ''​hotplug:​default''​ und ''​wusbd:​default'',​ sowie die aktivierten Dienste ''​filesystem/​minimal:​default'',​ ''​devices:​default'',​ etc... sind vom Dienst ''​device/​local''​ abhängig.| ^Erklärung|Die deaktivierten Dienste ''​hotplug:​default''​ und ''​wusbd:​default'',​ sowie die aktivierten Dienste ''​filesystem/​minimal:​default'',​ ''​devices:​default'',​ etc... sind vom Dienst ''​device/​local''​ abhängig.|
-=====-l=====+ 
 +====-l====
 ^Parameter:​|**-l**| ^Parameter:​|**-l**|
 ^Bedeutung:​|Zeigt Details zu einem Dienst an| ^Bedeutung:​|Zeigt Details zu einem Dienst an|
Zeile 41: 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====
 ^Parameter:​|**-n**| ^Parameter:​|**-n**|
 ^Bedeutung:​|Zeigt Benachrichtigungseinstellungen (z.B. SNMP) eines Dienstes an.| ^Bedeutung:​|Zeigt Benachrichtigungseinstellungen (z.B. SNMP) eines Dienstes an.|
Zeile 71: Zeile 134:
 </​code>​| </​code>​|
 ^Erklärung|Für den Dienst ''​inetd''​ sind detailierte Fehler-Warnungen und -Entwarnung über SNMP aktiviert. Darüber hinaus werden erkannte Fehler auch per SMTP an ''​root@localhost''​ gemeldet.| ^Erklärung|Für den Dienst ''​inetd''​ sind detailierte Fehler-Warnungen und -Entwarnung über SNMP aktiviert. Darüber hinaus werden erkannte Fehler auch per SMTP an ''​root@localhost''​ gemeldet.|
 +
 +====-p====
 +^Parameter:​|**-p**|
 +^Bedeutung:​|Zeigt evtl. gestartete Prozesse für einen Service bzw. eine Serviceinstanz an|
 +^Beispiel:​|<​code>​
 +# svcs -p inetd
 +STATE          STIME    FMRI
 +online ​        ​21:​13:​34 svc:/​network/​inetd:​default
 +               ​21:​13:​34 ​     462 inetd
 +</​code>​|
 +^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.1342727940.txt.gz · Zuletzt geändert: 2012/07/19 21:59 von christian