Benutzer-Werkzeuge

Webseiten-Werkzeuge


solaris_services

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
solaris_services [2012/07/19 21:46] – angelegt 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|
  
-======svcs======+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.
  
-^Parameter^Verwendung^Beispiel^ +=====Manifest und Logs===== 
-|-a|Alle Services anzeigen (Standard)|<code>+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===== 
 + 
 +====none / -a==== 
 +^Parameter:|**-a** bzw. **keine**| 
 +^Bedeutung:|Alle Services anzeigen| 
 +^Beispiel:|<code>
 # svcs # svcs
 # svcs -a # svcs -a
 </code>| </code>|
-|-D |Zeigt Dienste an, die von FMRI abhängig sind|<code>+ 
 +====-D==== 
 +^Parameter:|**-D**| 
 +^Bedeutung:|Zeigt Dienste an, die von einem anderen (als FMRI definieren) abhängig sind.| 
 +^Beispiel:|<code>
 # svcs -D device/local # svcs -D device/local
 STATE          STIME    FMRI STATE          STIME    FMRI
Zeile 25: Zeile 80:
 online         21:13:35 svc:/milestone/self-assembly-complete:default online         21:13:35 svc:/milestone/self-assembly-complete:default
 </code>| </code>|
-|-l|Details zu Dienst|<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.| 
 + 
 +====-l==== 
 +^Parameter:|**-l**| 
 +^Bedeutung:|Zeigt Details zu einem Dienst an| 
 +^Beispiel:|<code>
 # svcs -l inetd # svcs -l inetd
 fmri         svc:/network/inetd:default fmri         svc:/network/inetd:default
Zeile 31: Zeile 91:
 enabled      true enabled      true
 state        online state        online
-...+next_state   none 
 +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==== 
 +^Parameter:|**-n**| 
 +^Bedeutung:|Zeigt Benachrichtigungseinstellungen (z.B. SNMP) eines Dienstes an.| 
 +^Beispiel:|<code> 
 +# svcs -n inetd 
 +Notification parameters for FMA Events 
 +    Event: problem-diagnosed 
 +        Notification Type: smtp 
 +            Active: true 
 +            reply-to: root@localhost 
 +            to: root@localhost 
 + 
 +        Notification Type: snmp 
 +            Active: true 
 + 
 +        Notification Type: syslog 
 +            Active: true 
 + 
 +    Event: problem-repaired 
 +        Notification Type: snmp 
 +            Active: true 
 + 
 +    Event: problem-resolved 
 +        Notification Type: snmp 
 +            Active: true 
 +</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>| </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.1342727173.txt.gz · Zuletzt geändert: von christian