Shutdown mit STARTUP.COM
Natürlich kann man ein System immer herunterfahren, indem man die Stromzufuhr unterbricht oder bestenfalls noch den Ein/Aus Schalter drückt. Das Resultat eines solchen unkontrollierten Endes kann aber durchaus unerfreulich sein. Korrupte Filesysteme, halb abgeschlossene Verarbeitungen, nicht auffindbare Datensätze. Die Liste liesse sich endlos erweitern.
Die Vorteile eines geregelten Shutdown liegen also auf der Hand.
Hintereinander oder gleichzeitig?
Natürlich lässt sich der Shutdown fein säuberlich in einem Script seriell abarbeiten, OpenVMS stellt dazu auch die Prozedur SYSHUTDWN.COM zur Verfügung, in der wir alle Appliktionen sauber beenden können. Aber geht es nicht vielleicht ein bisschen schneller und vielleicht gleichzeitiger?
Robert Gezelter hat in seinem Whitepaper "OpenVMS STARTUP: Underappreciated Flexibility" ausführlich beschrieben, dass der OpenVMS Startup ein modulares und erweiterbares Werkzeug darstellt, mit dem eine OpenVMS Instanz gestartet wird. STARTUP.COM ist demzufolge nicht mehr als ein etwas erweiterter Dispatcher für durchzuführende Arbeitsschritte. Warum also das Rad neu erfinden, wenn doch ein fertiges Werkzeug zur Verfügung steht.
Neue Phasen für Startup
Die Phasenbeschreibung entnehmen sowohl STARTUP.COM als auch SYSMAN der Textdatei, auf die mit dem Logical VMS$PHASES gezeigt wird. Also erzeugen wir uns eine neue Datei SYS$MANAGER:SHUTDOWN_PHASES.DAT
SHUTDOWNPH1
SHUTDOWNPH2
Shuidown konfigurieren
$ DEFINE VMS$PHASES SYS$MANAGER:SHUTDOWN_PHASES.DAT
$ mcr sysman
SYSMAN> startup set database startup$startup_layered
SYSMAN> startup add file SHUTDOWN_CAMPUS_APPL1.COM /phase=SHUTDOWNPH1/mode=spawn
SYSMAN> startup add file SHUTDOWN_CAMPUS_APPL2.COM /phase=SHUTDOWNPH1/mode=spawn
SYSMAN> startup add file SHUTDOWN_CAMPUS_APPL3.COM /phase=SHUTDOWNPH1/mode=spawn
SYSMAN> startup add file SHUTDOWN_CAMPUS_FINAL.COM /phase=SHUTDOWNPH2/mode=spawn
SYSMAN> ^Z
Damit haben wir nun die Schritte für unseren Shutdown definiert.
SYS$MANAGER:SYSHUTDWN.COM
Damit der System-Shutdown nun auch noch unsere Schritte ausführt, passen wir die Site-Shutdown-Procedure ein wenig an:
$ DEFINE/SYSTEM/EXEC VMS$PHASES SYS$MANAGER:SHUTDOWN_PHASES.DAT
$ SPAWN @SYS$SYSTEM:STARTUP
Der System-Shutdown wird nun die Dispatching Funktionalitäten von STARTUP.COM nutzen, um alle usnere Applikationen zu stoppen.
Danksagung
An dieser Stelle herzlichen Dank an Bob Gezelter für die Idee. Den Link zu seinem Artikel und seinen Ausführungen zum OpenVMS Startup finden Sie weiter unten.