Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Automatisieren der VM2000- und VM-Administration

&pagelevel(4)&pagelevel

VM2000 bietet vielfältige Möglichkeiten, die Administration der virtuellen Maschinen und des Gesamtsystems VM2000 zu automatisieren.


Routine-Aufgaben

Wiederkehrende Aufgaben können unter VM2000 automatisiert werden durch:

  • S-Prozeduren (Software-Produkt SDF-P)
    Sie erweitern die Kommandosprache von BS2000 zu einer Programmiersprache. Bei Einsatz unter einer entsprechend privilegierten Benutzerkennung im Monitorsystem können S-Prozeduren BS2000- und VM2000-Kommandos enthalten. Mit dem Privileg OPERATING können auch BS2000-Operatorkommandos enthalten sein.

    VM2000 unterstützt die Administration über S-Prozeduren durch:

    Ein Beispiel für eine S-Prozedur unter VM2000 finden Sie unten. In dieser Prozedur werden Returncodes und SHOW-Ausgaben in S-Variablen verarbeitet.

  • BS2000-Prozeduren (Nicht-S-Prozeduren)
    Sie können durch den VM2000- bzw. VM-Administrator mit dem BS2000-Kommando /CALL-PROCEDURE oder /ENTER-PROCEDURE aus einer privilegierten Benutzertask aufgerufen werden, siehe Abschnitt „Bedienen der virtuellen Maschinen (ADMIN-Dialog aus Benutzertask)".
    Diese BS2000-Prozeduren enthalten BS2000- und VM2000-Kommandos. Bei Einsatz unter einer Benutzerkennung mit Privileg OPERATING können auch BS2000-Operatorkommandos enthalten sein.

  • RUN-Dateien
    Sie können durch den VM2000-Administrator mit /RUN von einer BS2000-Konsole im Monitorsystem aufgerufen werden.
    RUN-Dateien enthalten VM2000-Kommandos und BS2000-Operatorkommandos.

  • VM2000-Prozeduren
    Sie können durch den VM2000- bzw. VM-Administrator im ADMIN-Dialog über $VMCONS eingesetzt werden, siehe "CALL-VM-PROCEDURE (VM2000-Prozedurdatei starten)". VM2000-Prozeduren enthalten VM2000-Kommandos.

  • Persistente VM-Definitionen
    Eine persistente VM-Definition steht auch nach einem Neustart einer Server Unit zur Verfügung. Mit ihrer Hilfe wird eine persistente VM wieder eingerichtet und bei entsprechender Angabe im Parameter AUTO-IPL sofort wieder gestartet. Siehe Abschnitt „Arbeiten mit VM-Definitionen".

  • Sicherungsdatei für die VM2000-Konfiguration
    Sie können die aktuelle VM2000-Konfiguration in eine Datei sichern und nach einem (Neu-)Start des Gesamtsystems VM2000 die gesicherte VM2000-Konfiguration wiederherstellen, siehe "Sichern und Wiederherstellen der VM2000-Konfiguration".


Überwachen mit Jobvariablen

Die routinemäßige Überwachung virtueller Maschinen, von Hauptspeicher-Rekonfigurationen und von VM-Migrationen kann unter VM2000 durch Jobvariablen (MONJVs) automatisiert werden, siehe "Überwachen einer VM mit Jobvariablen (MONJV)", "Überwachen einer VM-Migration mit Jobvariablen (MONJV)" und "Hauptspeicher rekonfigurieren". Dort finden Sie auch Anwendungsbeispiele.


Asynchrone Ereignisse

Die Reaktion auf asynchrone Ereignisse kann unter VM2000 automatisiert werden. Dazu werden bestimmte, für die ereignisgesteuerte Automatisierung wichtige Meldungen stets über den Routing-Code „9“ ausgegeben.

Folgende Meldungen für den VM2000-Administrator werden, unabhängig von der Existenz eines VM2000-Administrators (ADMIN-Dialog mit Monitor-VM), stets über den Routing-Code „9“ verschickt.

VMS0021   VMS0024   VMS0025   VMS0026   VMS0027   VMS2011   VMS2023   VMS2033
VMS2037   VMS2050   VMS2051   VMS2052   VMS2053   VMS2100   VMS2104   VMS2411 -
VMS2422   VMS2424   VMS2425   VMS2430 - VMS2434   VMS2440 - VMS2444   VMS2450 -
VMS2452   VMS4065   VMS4066   VMS4075   VMS4077   VMS4094   VMS4095   VMS4342
VMS4343   VMS4344   VMS4510   VMS4511   VMS4512   VMS4514   VMS4515   VMS4551
VMS4552   VMS4553   VMS4554   VMS4555   VMS4556   VMS4557   VMS4558   VMS4559
VMS4560   VMS4561   VMS4562   VMS4563   VMS4564   VMS4620   VMS4621   VMS4910
VMS4912   VMS6002   VMS6003   VMS6018   VMS6020   VMS6021   VMS6023   VMS6094

Die folgenden Produkte können diese Meldungen empfangen und auf das damit verbundene Ereignis automatisch reagieren:

  • OMNIS-PROP, eine spezielle Exit-Routine des Produkts OMNIS, siehe Handbuch „OMNIS“ [12].

    Mit OMNIS-PROP können Sie Uhrzeiten, Zeitintervalle und Systemmeldungen als Ereignisse deklarieren. Bei Eintreffen dieser Ereignisse werden Administrationsprozeduren von OMNIS-PROP aktiviert, die Operator-Aufgaben erledigen. Die Anwendung von OMNIS-PROP setzt Assembler-Kenntnisse voraus.

  • PROP-XT, ein Software-Produkt im Rahmen der Automatisierung im Data Center, siehe Handbuch „PROP-XT“
    [15].

    PROP-XT ermöglicht programmiertes Operating durch Administrationsprozeduren, die mit den komfortablen Sprachmitteln von SDF-P erstellt wurden.

    Administrationsprozeduren können damit über PROP-XT eine ereignisgesteuerte VM2000-Administration parallel zur synchronen Kommandobearbeitung in S-Prozeduren realisieren. $VMCONS oder eine logische Konsole werden dabei als Administrationsobjekt unter PROP-XT eingerichtet.
    Über diese Verbindung werden die freilaufenden Meldungen von VM2000 empfangen und mit einer automatisierten Reaktion versehen, siehe Beispiel.

    Bis zu 15 VM-Administratoren pro VM können aus unterschiedlichen, privilegierten Benutzertasks den ADMIN-Dialog mit der VM beginnen. Damit können mehrere PROP-XT-Administrationsprozeduren parallel zur herkömmlichen VM- oder VM2000-Administration für die Automatisierung des VM2000-Betriebes eingesetzt werden.

   

Beispiel

Die folgende S-Prozedur zeigt die Anwendung von PROP-XT für die VM2000-Administration in Zusammenhang mit einer Hauptspeicher-Rekonfiguration. Die analoge Beispielprozedur unter Verwendung von MONJV finden Sie im Abschnitt "Hauptspeicher rekonfigurieren".

/SET-PROC-OPT
/" **************************************************************"
/" ** PROZEDUR VMMEM FUER GASTSYSTEME  MIT VM-ID=2 UND 3  *******"
/" **************************************************************"
/" ** DIE PROZEDUR FUEHRT EINE SPEICHERREKONFIGURATION DURCH.    "
/" ** DIE ASYNCHRONEN ABSCHLUSSMELDUNGEN WERDEN UEBER PROP-XT    "
/" ** VERARBEITET.                                               "
/" ** WESENTLICHE SCHRITTE:                                      "
/" ** - VERBINDUNGSAUFBAU ZU PROP-XT                             "
/" ** - VERBINDUNGSAUFBAU ZU VM2000                              "
/" ** - UEBERPRUEFEN DER AKTUELLEN SPEICHERGROESSE               "
/" ** - REDUZIEREN DES SPEICHERS DER VM2                         "
/" ** - ASYNCHRONES ENDE UEBER PROP-XT BEHANDELN                 "
/" ** - ERWEITERN DES SPEICHERS DER VM3                          "
/" ** - ASYNCHRONES ENDE UEBER PROP-XT BEHANDELN                 "
/" ** - VERBINDUNGSABBAU ZU PROP-XT                              "
/" ** - VERBINDUNGSABBAU ZU VM2000                               "
/" **************************************************************"
/" **************************************************************"
/DECLARE-VARIABLE NAME=SYSPOP(TYPE=STRUCTURE)
/DECLARE-VARIABLE NAME=SHVAS(TYPE=STRUCTURE),MULT-E=*LIST
/DECLARE-VARIABLE NAME=MIMEMSI(TYP=INT)
/DECLARE-VARIABLE NAME=TXT(TYPE=STRING,INIT-VALUE='OK')
/DECLARE-VARIABLE NAME=CONT(TYPE=BOOLEAN,INIT-VAL=TRUE)
/ASSIGN-SYSLST LST.VMMEM
/MODIFY-JOB-OPTIONS LOG=*PAR(LIST=Y)
/BEGIN-BLOCK
/START-SUBSYSTEM PROP-XT,SYNC=Y
/IF-CMD-ERROR;END-IF
/"** ANMELDEN BEI PROP-XT *"
/BEGIN-PROP-PROCESS VMMEM
/"** VERBINDUNG ZUM LOKALEN UCON *"
/START-PROP-OBJECT-MON OBJ-NAME=CONSOLE,OBJECT=*OPER-
/ (OPERATOR-ROLE=SYSADM)
/IF (SYSPOP.MAINCODE <> '0000')
/ TXT = 'ERROR IN START-P-O-M CONSOLE ** RC: &(SYSPOP.MAINCODE)'
/ GOTO LABEL=ERROR
/END-IF
/"** EREIGNIS BEI PROP-XT ANMELDEN                              "
/"** NACH AUSFUEHREN DER FUNKTION SCHICKT VM2000 ASYNCHRON DIE  "
/"** VMS4094 (GUT-QUITTUNG) ODER VMS4095 (SCHLECHT-QUITTUNG)    "
/"** AN DIE KONSOLE. DESHALB MUSS AUF DIESE 2 MELDUNGEN         "
/"** EXPLIZIT GEWARTET WERDEN (ALSO: ALS EREIGNISSE ANMELDEN!). "
/START-PROP-EVENT-MON EV-NAME=VMS4094,SELECT-EV=*FROM-OBJ(-
/ OBJ-NAME=CONSOLE,EVENT-DATA=*SYSTEM-MSG(MSG-ID=VMS4094))
/START-PROP-EVENT-MON EV-NAME=VMS4095,SELECT-EV=*FROM-OBJ(-
/ OBJ-NAME=CONSOLE,EVENT-DATA=*SYSTEM-MSG(MSG-ID=VMS4095))
/BEGIN-VM-DIALOG VM-ID=1        "VERBINDUNG ZU VM2000 AUFBAUEN  "
/"** SPEICHERGROESSE VORAB ERMITTELN "
/EXEC-CMD (SHOW-VM-ATTR VM-ID=2,INF=*MEMORY),STRUCT-OUT=SHVAS
/IF (SHVAS#.MIN-MEM-SIZE = '*UNDEF')
/ TXT = 'AKTUELL KEINE SPEICHERREKONFIGURATION FUR VM-ID=2 MOEGLICH'
/ GOTO LABEL=ERROR
/END-IF
/MIMEMSI=INT(SHVAS#.MIN-MEM-SIZE)
/IF (SHVAS#.MEM-SIZE = MIMEMSI)
/ TXT = 'AKTUELLE SPEICHERGROESSE IST MINIMALE SPEICHERGROESSE'
/ GOTO LABEL=ERROR
/END-IF
/"** PRUEFE SPEICHER VM-ID=3 "
/EXEC-CMD (SHOW-VM-ATTR VM-ID=3,INF=*MEMORY),STRUCT-OUT=SHVAS
/IF (SHVAS#.MIN-MEM-SIZE = '*UNDEF')
/ TXT = 'AKTUELL KEINE SPEICHERREKONFIGURATION FUR VM-ID=3 MOEGLICH'
/ GOTO LABEL=ERROR
/END-IF
/"** SPEICHER REDUZIEREN FUER VM-ID=2 "
/REDUCE-VM-MEMORY VM-ID=2,NEW-MEM-SIZE=*MINIMUM
/IF-CMD-ERROR
/ TXT = 'FEHLER BEI REDUCE-VM VM-ID=2'
/ GOTO LABEL=ERROR
/END-IF
/"** ES MUSS AUF VMS4094 ODER VMS4095 GEWARTET WERDEN"
/WHILE (CONT=TRUE)
/ WAIT-F-PROP-EV EV-NAME=(VMS4094,VMS4095),TIME-LIM=300
/ IF (SYSPOP.MAINCODE <> '0000')
/  TXT = 'FEHLER BEI WAIT-PROP-EVENT BEI REDUCE-VM-MEMORY VM-ID=2'
/  SHOW-VARIABLE SYSPOP
/  GOTO LABEL=ERROR
/ END-IF
/ IF ((SYSPOP.EVENT-NAME = 'VMS4094') AND (SYSPOP.I0='2'))
/  CONT=FALSE
/ ELSE-IF ((SYSPOP.EVENT-NAME = 'VMS4095') AND (SYSPOP.I0 = '2'))
/  TXT = 'VMS4095 BEI REDUCE-VM-MEMORY VM-ID=2'
/  GOTO LABEL=ERROR
/ END-IF
/END-WHILE
/"** ERWEITERE VM3 ********"
/EXTEND-VM-MEMORY VM-ID=3,NEW-MEM-SIZE=*MAXIMUM
/CONT = TRUE
/WHILE (CONT=TRUE)
/ WAIT-F-PROP-EV EV-NAME=(VMS4094,VMS4095),TIME-LIM=300
/ IF (SYSPOP.MAINCODE <> '0000')
/  TXT = 'FEHLER BEI WAIT-PROP-EVENT BEI EXTEND-VM-MEMORY VM-ID=3'
/  SHOW-VARIABLE SYSPOP
/  GOTO LABEL=ERROR
/ END-IF
/ IF ((SYSPOP.EVENT-NAME = 'VMS4094') AND (SYSPOP.I0='3'))
/  CONT=FALSE
/ ELSE-IF (SYSPOP.EVENT-NAME = 'VMS4095')
/  TXT = 'VMS4095 BEI EXTEND-VM-MEMORY VM-ID=3'
/  GOTO LABEL=ERROR
/ END-IF
/END-WHILE
/STOP-PROP-EV-MON (VMS4094,VMS4095)
/IF-CMD-ERROR; END-IF
/STOP-PROP-OBJ-MON CONSOLE    "VERBINDUNG ZU UCON ABBAUEN"
/IF-CMD-ERROR; END-IF
/"** NORMALES ENDE"
/END-BLOCK
/IF-BLOCK-ERROR         "BEHANDLUNG UEBRIGE ERROR"
/ TXT = 'UEBRIGE BLOCK-FEHLER'
/ GOTO LABEL = ERROR
/END-IF
/ERROR:
/IF (TXT <> 'OK')
/ SEND-MSG TO=OPER,MSG='*** FEHLER IN VMMEM: &TXT ***'
/END-IF
/END-PROP-PROCESS      "ABMELDEN VON PROP-XT"
/IF-CMD-ERROR
/END-IF
/END-VM-DIALOG VM-ID=1       "ABMELDEN VON VM2000"
/IF-CMD-ERROR
/END-IF
/MOD-JOB-OPTIONS LOG=*PAR(LIST=NO)
/ASSIGN-SYSLST *PRIMARY
/EXIT-PROC