[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Jan 2005
    Beiträge
    2

    Controlled Shutdown per Netzwerk

    Guten Morgen,

    Wir haben eine 810 und eine Hicom USV. Da diese sehr weit auseinander stehen, ist es nur sehr schwer möglich eine serielle Verbindung zwischen beiden Geräten zu schaffen.

    Wir wollen daher die AS/400 kontrolliert übers Netzwerk herunterfahren, falls es zu einem Stromausfall kommt.

    Hat hier vielleicht jemand eine Idee oder so etwas schon einmal implementiert????

    Vielleicht ist das ja auch über die Iseries Konsole möglich, da Windows und Linux Betriebssysteme über Netzwerk heruntergefahren werden können.

    Gruß
    André

  2. #2
    Registriert seit
    Jul 2002
    Beiträge
    151

    Post

    Hallo Andre,
    Auch wenn Du die ISeries in der Nähe der USV hättest, müsstest Du ein Überwachungsprogramm haben, welches die Nachrichten:
    CPF1816: STROMVERSORGUNG FIEL UM ... AUS
    CPF1817: STROMVERSORGUNG UM ...WIEDERHERGESTELLT
    überwacht und gegebenenfalls wenn nach n Minuten der Saft noch nicht da ist, die Büchse runterfährt.
    Über Netzwerk brauchst du also nur dafür zu sorgen, daß eine Windows oder Unix-Büchse ein ISeries-PGM startet was jeweils CPF1816 oder CPF1817 auf der ISeries erzeugt (RPC).
    mfG
    Holger

  3. #3
    Registriert seit
    Jan 2005
    Beiträge
    2
    Das ist ja richtig, aber wie erkennt die isieries, das kein Strom da ist.

    Ich sach mal, wenn man stromausfall hat, übernimmt ja die USV die Stormversorgung. Also wie soll die iseries es mitbekommen, es sei den die Batterien der USV sind leer. ;-)

    Und wie mach ich das, dass ein Windows System der Iseries sagt, starte das PGM.

    André

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.295
    Hallo Andre,

    eine USV hat normalerweise ein Interface, an das man eine Steuerleitung anschließen kann, die einen Impuls erhält, wenn die USV schaltet. Normal werden da die Umschaltaktionen und ein weak Battery Signal gesendet.
    Bevor du aber da was machst, musst du erst entscheiden, ob dir das was bringt. Meist landet man da, dass sich die Applikation eh' nicht kontrolliert beenden lässt und dann wartet man am Besten bis der Strom weg ist, dann wird die Maschine runter gefahren und jede andere Aktion fährt nur Rechner runter, die von der USV hochgehalten worden wären bis der Strom wieder da ist.
    Sollte das bei euch anders sein, sich die Applikationen also kontrolliert beendern lassen, dann mustt du zuerst mit dem Hersteller der USV klären welche Signale, wie gemeldet werden.

    mfg

    Dieter Bender

    Zitat Zitat von giesskanne
    Das ist ja richtig, aber wie erkennt die isieries, das kein Strom da ist.

    Ich sach mal, wenn man stromausfall hat, übernimmt ja die USV die Stormversorgung. Also wie soll die iseries es mitbekommen, es sei den die Batterien der USV sind leer. ;-)

    Und wie mach ich das, dass ein Windows System der Iseries sagt, starte das PGM.

    André
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    May 2002
    Beiträge
    2.642

    Stromversorgung

    Hallo André,
    die Iseries erkennt es an den Fehlermeldungen die der Holly
    bereits genannt hatte und diese kommen in die QSYSOPR
    Messagequeue. Diese muss nach den Meldungen überwacht
    werden. z. B. mit einem remoten Command in einem
    Programm.

    Ein Programm hatte der Holly für die AS/400 hier einmal
    gelistet. Suche einmal nach der Message CPF1816 oder
    besser:

    holly
    NEWSboarder
    Beiträge: 8
    Von 12277 Berlin
    Registriert: Jul 2002 erstellt am 19. September 2002 um 14:07 Uhr*** * ** ** IM SYSTEMWERT QUPSMSGQ STEHT die MSG-Queue die die MESSAGES DES STROMVERHALTENS empfängt ! evtl setzen!
    Dann ein Programm in den Batch setzen, welches auf die Messages wartet. Je nach Nachricht dann Aktionen veranlassen.
    /* CPF1816: STROMVERSORGUNG FIEL UM ... AUS
    CPF1817: STROMVERSORGUNG UM ... WIEDERHERGESTELLT */

    Beispiel-PGM:
    PGM
    DCL VAR(&JOB) TYPE(*CHAR) LEN(10)
    DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
    DCL VAR(&MSG) TYPE(*CHAR) LEN(132)
    DCL VAR(&STROMAUSF) TYPE(*CHAR) LEN(1)
    DCL VAR(&QUPSMSGQ) TYPE(*CHAR) LEN(20)
    DCL VAR(&USVMSGQ) TYPE(*CHAR) LEN(10)
    DCL VAR(&USVLIB) TYPE(*CHAR) LEN(10)
    RTVJOBA JOB(&JOB)
    RTVSYSVAL SYSVAL(QUPSMSGQ) RTNVAR(&QUPSMSGQ)
    CHGVAR VAR(&USVMSGQ) VALUE(%SST(&QUPSMSGQ 1 10))
    CHGVAR VAR(&USVLIB) VALUE(%SST(&QUPSMSGQ 11 10))
    ANFANG: RCVMSG MSGQ(&USVLIB/&USVMSGQ) WAIT(*MAX) +
    RMV(*NO) MSGID(&MSGID)
    IF COND(&MSGID *NE CPF1816 *AND &MSGID *NE +
    CPF1817) THEN(GOTO CMDLBL(ANFANG))
    SNDMSG MSG(&MSG) TOUSR(QSYSOPR)
    IF COND(&MSGID *EQ CPF1816) THEN(DO) /* +
    Netzausfall oder Stromschwankung */
    CHGVAR VAR(&STROMAUSF) VALUE('1')
    ENDDO
    /* */
    RCVMSG MSGQ(&USVLIB/&USVMSGQ) WAIT(600) RMV(*NO) +
    MSG(&MSG) MSGID(&MSGID)
    IF COND(&MSGID *EQ CPF1817 *AND &STROMAUSF *EQ +
    '1') THEN(DO) /* Stromversorgung durch das +
    Netz wieder hergestellt */
    CHGVAR VAR(&STROMAUSF) VALUE(' ')
    GOTO CMDLBL(ANFANG)
    ENDDO
    ELSE CMD(DO)
    SNDMSG MSG('Stromausfall; nach 10 Minuten Netz noch +
    nicht wiederhergestellt, runterfahren +
    wird eingeleitet!') TOUSR(QSYSOPR)
    SNDMSG MSG('Dialog BEENDEN; Stromausfall +
    WERK xxx') TOUSR(*allact)
    DLYJOB DLY(300) /* 5 MINUTEN ZEIT ZUM ABMELDEN */
    PWRDWNSYS OPTION(*IMMED
    ENDDO
    GOTO CMDLBL(ANFANG)
    ENDPGM
    Die Wartezeit, wann Du die Maschine Powerdownst hängt natuerlich von der kapazitaet Deiner USV ab.

  6. #6
    Registriert seit
    Jul 2002
    Beiträge
    151
    Hallo Andre,

    Wenn die USV über eine Steuerleitung mit der AS400 verbunden ist, bekommst du die besagten CPF1816 und CPF1817 in die MSGq die im SYSTEMWERT QUPSMSGQ angegeben ist. Diese MSGQ kannst Du mit einem CLP überwachen.
    ....
    ANFANG: RCVMSG MSGQ(&USVLIB/&USVMSGQ) WAIT(*MAX) RMV(*NO) +
    MSGID(&MSGID)
    IF COND(&MSGID *NE CPF1816 *AND &MSGID *NE +
    CPF1817) THEN(GOTO CMDLBL(ANFANG))
    ...hier testen ob nach 10 Minuten noch kein Strom wieder da -> User zum Abmelden auffordern... PWRDWNSYS *immed ...


    Gruß Holger

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.295
    Hallo Holger,

    Einspruch!!!
    Der PWRDWNSYS *immed ist ein klassicher Kunstfehler, der nur heilbar ist, wenn die Software kontrolliert beenden kann (ich kenne keine im AS400 Umfeld, die das kann). Kommt der Strom zurück bevor die USV schlapp macht, ist die Büchse aus, obwohl nix passiert ist, macht die USV schlapp, wäre die Maschine auch aus und fährt bei ausreichend Hauptspeicher für den Dump genauso schnell wieder hoch.
    Leider ist der ganze Zinnober mit dem AS400 Interface eine komplette Fehlkonstruktion. Selbst wenn die Software kontrolliert kann, wäre das weak Battery signal die wirklich interessante Information - aber auf die kann man nicht reagieren, da wird automatisch mit *immed runter gefahren, sobald die Steuerleitung zur USV dran ist.
    Wie gerne würde man doch das weak Battery einjustieren auf die Zeit, die man zum kontrollierten runterfahren braucht (das geht nämlich bei den meisten USVs), dann auf das Signal warten (was sowieso nicht kommt, dafür hat man ja die USV) und gemütlich automatisch alles beenden und die Maschine dann einfach anlassen (!!! dann braucht man nämlich keinen IPL, falls die USV länger hält) und wenn sich alles wieder verraucht hat, startet man wieder durch.

    Dieter

    Zitat Zitat von holly
    Hallo Andre,

    Wenn die USV über eine Steuerleitung mit der AS400 verbunden ist, bekommst du die besagten CPF1816 und CPF1817 in die MSGq die im SYSTEMWERT QUPSMSGQ angegeben ist. Diese MSGQ kannst Du mit einem CLP überwachen.
    ....
    ANFANG: RCVMSG MSGQ(&USVLIB/&USVMSGQ) WAIT(*MAX) RMV(*NO) +
    MSGID(&MSGID)
    IF COND(&MSGID *NE CPF1816 *AND &MSGID *NE +
    CPF1817) THEN(GOTO CMDLBL(ANFANG))
    ...hier testen ob nach 10 Minuten noch kein Strom wieder da -> User zum Abmelden auffordern... PWRDWNSYS *immed ...


    Gruß Holger
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Nov 2002
    Beiträge
    96
    Zitat Zitat von BenderD
    Hallo Andre,

    ...Meist landet man da, dass sich die Applikation eh' nicht kontrolliert beenden lässt und dann wartet man am Besten bis der Strom weg ist, dann wird die Maschine runter gefahren und jede andere Aktion fährt nur Rechner runter, die von der USV hochgehalten worden wären bis der Strom wieder da ist....

    mfg

    Dieter Bender
    Hallo Dieter,

    daß das genauso tödlich sein kann, haben wir vor einigen Monaten eindringlich erfahren:

    Wir haben auf unsere iSeries SAP R/3 laufen. Als nach einem Stromausfall die Notversorgung seitens der USV dann plötzlich wegfiel und die iSeries quasi ins Bodenlose stürzte, war nach dem Wiederanlauf der Maschine das SAP dermaßen strubbelig, daß wir etliche Stunden für die Recovery benötigten!

    Fazit: Wenn bei uns das nächste mal die USV anspringt, wird zuerst die Maschine sauber runtergefahren (auch wenn der Strom 2 Minuten später wieder da sein sollte). Hochgefahren ist die Mühle sowieso innerhalb weniger Minuten.

    Gruß,
    Systemer

  9. #9
    Registriert seit
    Mar 2002
    Beiträge
    5.295
    Hallo,

    wenn denn SAP eine Routine zum shutdown hat, dann man los. Wenn SAP keine Shtutdown Routine hat, dann machst Du bestenfalls einen PWRDWNSYS, wegen mir controlled, der kann nicht controlled beenden, weil ja Jobs laufen und macht dann letztlich nach seinem Timeout einen *immed und du bist genausoweit wie bei eurem Versuch. Der einzige Unterschied besteht darin, dass du eventuell eine Maschine runtersägst, bei der das nicht nötig gewesen wäre!!!

    mfg

    Dieter Bender,
    der sich wundert was es so an Software Murks gibt!!!


    Zitat Zitat von systemer
    Hallo Dieter,

    daß das genauso tödlich sein kann, haben wir vor einigen Monaten eindringlich erfahren:

    Wir haben auf unsere iSeries SAP R/3 laufen. Als nach einem Stromausfall die Notversorgung seitens der USV dann plötzlich wegfiel und die iSeries quasi ins Bodenlose stürzte, war nach dem Wiederanlauf der Maschine das SAP dermaßen strubbelig, daß wir etliche Stunden für die Recovery benötigten!

    Fazit: Wenn bei uns das nächste mal die USV anspringt, wird zuerst die Maschine sauber runtergefahren (auch wenn der Strom 2 Minuten später wieder da sein sollte). Hochgefahren ist die Mühle sowieso innerhalb weniger Minuten.

    Gruß,
    Systemer
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  10. #10
    Registriert seit
    Nov 2002
    Beiträge
    96
    Hallo,

    da wir als einzige Applikation nur SAP laufen haben, kenne ich mich mit den übrigen iSeries-Dingen nicht übermäßig aus:
    Muß ich denn bei nicht-SAP JEDEN EINZELNEN Job von Hand beenden? (Auf unserer Prod-Maschine laufen im Schnitt > 1000 Jobs...)

    Natürlich läßt sich SAP aus dem lfd. Betrieb heraus mit einem einfachen STOP-Command beenden. Dank der Commit-Steuerung sind dann alle Transaktionen idR. innerhalb einiger Minuten beendet. Dann nur noch ENDSBS und PWRDWNSYS, jeweils mit *immed, und das war's.

    Gruß,
    Franz

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.295
    Hallo Franz,

    dein SAP STOP ist genau der kontrollierte Shutdown und es macht Sinn den abzufeuern bevor die Maschine platt ist. Wenn SAP allerdings wirklich Transaktions sicher wäre, dann dürfte selbst ein harter Ausfall nix kaputt machen, lediglich der IPL dauert etwas länger.

    mfg

    Dieter Bender

    Zitat Zitat von systemer
    Hallo,

    Natürlich läßt sich SAP aus dem lfd. Betrieb heraus mit einem einfachen STOP-Command beenden. Dank der Commit-Steuerung sind dann alle Transaktionen idR. innerhalb einiger Minuten beendet. Dann nur noch ENDSBS und PWRDWNSYS, jeweils mit *immed, und das war's.

    Gruß,
    Franz
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  12. #12
    Registriert seit
    May 2003
    Beiträge
    3

    Cool

    Hallo Dieter,

    daß das genauso tödlich sein kann, haben wir vor einigen Monaten eindringlich erfahren:

    Wir haben auf unsere iSeries SAP R/3 laufen. Als nach einem Stromausfall die Notversorgung seitens der USV dann plötzlich wegfiel und die iSeries quasi ins Bodenlose stürzte, war nach dem Wiederanlauf der Maschine das SAP dermaßen strubbelig, daß wir etliche Stunden für die Recovery benötigten!

    Fazit: Wenn bei uns das nächste mal die USV anspringt, wird zuerst die Maschine sauber runtergefahren (auch wenn der Strom 2 Minuten später wieder da sein sollte). Hochgefahren ist die Mühle sowieso innerhalb weniger Minuten.

    Gruß,
    Systemer
    was ist das den für eine firma wir hatten zwar auch diese
    probleme aber inzwischen schon einen ausfall ohne das
    die maschine gleich runtergefahren wurde!!!
    Gruß
    Cool_Raver

Similar Threads

  1. IFS - Freigabe per Befehlszeile
    By eps330 in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 26-11-07, 12:24
  2. Dateien per FTP von IFS auf der AS400 holen
    By kroehn in forum NEWSboard Windows
    Antworten: 5
    Letzter Beitrag: 08-11-06, 19:36
  3. update per sql
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 25-09-06, 08:22
  4. Kopieren per SQL
    By steven_r in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 18-07-06, 09:36
  5. Teildateien per SQL auflisten
    By Nennewitz in forum NEWSboard Programmierung
    Antworten: 16
    Letzter Beitrag: 28-06-06, 13:49

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •