Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Solaris SMF

&pagelevel(4)&pagelevel

Ab Version openFT V12.1B wird die Platform Solaris nur noch auf Anfrage unterstützt,

Mit SMF (Service Management Facility) können die Abhängigkeiten eines Dienstes zu anderen Diensten, Dateien oder Meilensteinen (entspricht den früheren Runlevels), sowie Instanzen des Dienstes in einem Manifest detailliert beschrieben werden.

Dadurch werden u.a. wesentlich kürzere Startzeiten erreicht, da viele Dienste parallel gestartet werden können und die Startreihenfolge durch die Beschreibung der Abhängigkeiten optimiert werden kann.

Die verschiedenen Dienste des Systems werden mit einer einheitlichen Schnittstelle verwaltet. Ebenso wird dafür gesorgt, dass der Betrieb robuster wird, d.h. wenn sich z.B. ein Dienst außerplanmäßig beendet (z.B. ein unbeabsichtigtes kill -9) wird er automatisch wieder gestartet.

Mit SMF ergeben sich folgende Unterschiede im Vergleich zum Betrieb ohne SMF:

  • Die Startscripts /etc/init.d/openFT und /var/openFT/instanz/etcinit/openFTinst werden mit Solaris SMF nicht installiert. ftalarm wird per SMF aktiviert, siehe Abschnitt „SolarisSMF“.

  • Das automatische Prüfen der Profildateien und die automatische Bereinigung der Loggingdaten entfällt.

  • Die Abhängigkeit zu CMX ist nicht definiert, da CMX nicht am SMF
    Installationsverfahren teilnimmt. Wird openFT mit CMX eingesetzt, dann kann es während des Bootens zu Diagnosesätzen bei openFT kommen. Diese entstehen in der Zeit, in der CMX noch nicht verfügbar ist. Grund ist, dass zuerst alle SMF Meilensteine aktiviert und dann die RC Scripte gestartet werden, so dass CMX erst nach openFT gestartet wird. Mit openFT ab V12.0 ist das Vorhandensein von CMX im RFC1006 Fall nicht mehr zwingend.

Folgende Kommandos wurden an das SMF Verfahren angepasst, so dass sie wie gewohnt funktionieren:

  • ftstart übernimmt Umgebungsvariablen und startet openFT via SMF. Das SMF Kommando (ohne Übernahme der Umgebungsvariablen) lautet:

    svcadm enable openFT:instanz

    Die gewohnten openFT-Meldungen werden bei svcadm nicht angezeigt.

  • ftstop stoppt openFT via SMF. Das SMF Kommando lautet:

    svcadm disable openFT:instanz

    Die gewohnten openFT Meldungen werden bei svcadm nicht angezeigt.

  • ftcrei

    erzeugt zusätzlich zur Instanz ein Manifest und trägt dieses in SMF ein.

  • ftdeli löscht die Instanz und trägt das zugehörige Manifest aus SMF aus.

ftalarm automatisch aktivieren

ftalarm kann, wie weiter unten beschrieben, manuell über die Kommandozeile gestartet oder beendet werden. Unter Solaris kann ftalarm auch über SMF verwaltet werden. Das dafür notwendige ftalarm Manifest wird für jede Instanz automatisch erzeugt und installiert.

Eine Mischform (händischer Betrieb und Steuerung über SMF) wird nicht empfohlen, da SMF eine Änderung nicht erfährt. ftalarm ist für SMF ein sogenannter transienter Dienst, d.h. es gibt keinen überwachbaren Prozess.

Beispiel

ftalarm kann für die Instanz inst001 mit den folgenden Kommandos gestartet bzw. gestoppt werden:

# svcadm enable ftalarm:inst001

# svcadm disable ftalarm:inst001

Erzeugen der Instanz inst001:

# ftcrei 001 -addr=inst001
# svcs *:inst001
STATE          STIME    FMRI
disabled       16:31:50 svc:/application/openFT:inst001
disabled       16:31:51 svc:/application/ftalarm:inst001
# svcadm enable ftalarm:inst001
# svcs *:inst001
STATE          STIME    FMRI
disabled       16:31:50 svc:/application/openFT:inst001
online         16:32:14 svc:/application/ftalarm:inst001
#. ftseti inst001
# ftstart
ftstart: openFT 12.1A00 starting. Protocols: openFT,FTAM,ADM
# svcs *:inst001
STATE          STIME    FMRI
online         16:32:37 svc:/application/openFT:inst001
online         16:32:38 svc:/application/ftalarm:inst001

Der ftalarm cronjob für die Instanz inst001 wird erst gestartet, wenn auch die Instanz inst001 gestartet wurde. Entsprechend wird ftalarm beendet, wenn die Instanz inst001 mit ftstop beendet wird. s

Die Anzahl der fehlerhaften FTAC-Sätze kann über die SMF-Umgebungsvariable ERRORS der ftalarm Instanz eingestellt werden, z.B. wie folgt für die Instanz inst001:

  1. Beenden Sie ftalarm für die Instanz inst001 mit dem Kommando:

    # svcadm disable ftalarm:inst001

  2. Ändern Sie die Anzahl der Fehler für die Überwachung (z.B. auf 42) mit dem Kommando:

    # svccfg -s ftalarm:inst001 setenv -i ERRORS 42

  3. Übernehmen Sie die Einstelllungen mit dem Kommando:

    # svcadm refresh ftalarm:inst001

  4. Starten Sie ftalarm für die Instanz inst001 mit dem Kommando:

    # svcadm enable ftalarm:inst001

  5. Sie können sich die Einstelllungen anzeigen lassen mit:

    # svcprop -t -p method_context/environment ftalarm:inst001

    method_context/environment astring OPENFTINSTANCE=inst001 ERRORS=42