Benutzer-Werkzeuge

Webseiten-Werkzeuge


solaris_services

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
solaris_services [2012/07/19 21:55] – [-D] christiansolaris_services [2012/07/19 22:50] (aktuell) – [-l] christian
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|Administration, aktivieren/deaktivieren| +In einem Fehlerfall werden Dienste neugestartet, sodass 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===== + 
-Parameter: **-l** +====-l==== 
-Bedeutung: Zeigt Details zu einem Dienst an +^Parameter:|**-l**| 
-Beispiel: +^Bedeutung:|Zeigt Details zu einem Dienst an| 
-<code>+^Beispiel:|<code>
 # svcs -l inetd # svcs -l inetd
 fmri         svc:/network/inetd:default fmri         svc:/network/inetd:default
Zeile 42: Zeile 91:
 enabled      true enabled      true
 state        online state        online
-... +next_state   none 
-</code>+state_time   19. Juli 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>| 
 +^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.| 
-Beispiel: +^Beispiel:|<code>
-<code>+
 # svcs -n inetd # svcs -n inetd
 Notification parameters for FMA Events Notification parameters for FMA Events
Zeile 71: Zeile 132:
         Notification Type: snmp         Notification Type: snmp
             Active: true             Active: true
-</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.| 
 + 
 +====-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.1342727753.txt.gz · Zuletzt geändert: von christian