NDM bietet dem Operator ein breites Spektrum an Steuerungsmöglichkeiten für Datenträger. Da diese Parametereinstellungen unabhängig vom Online-Zustand (also auch vom Demontieren des entsprechenden Datenträgers) gelten, kann es beim Nichtbeachten der momentanen Einstellung der Parameter zu einem unerwarteten Systemverhalten kommen (z.B. kann eine Platte unter Umständen nicht belegt werden, obwohl sie schon montiert ist; soll die Belegung der Platte wieder zugelassen werden, muss der Operator den entsprechenden Parameterwert ändern). Alle Werte sind über Informationsfunktionen abfragbar.
Weitere unerwartete Reaktionen können eintreten, wenn der Zustand der Hardware nicht mit dem der Software übereinstimmt. (Wird z.B. ein Band auf ein Gerät im Zustand ATTACHED montiert, die Bandsteuerung ist jedoch nicht an die Server Unit geschaltet, kann das Band nicht belegt werden.)
Im Folgenden werden die wichtigsten Punkte des Systemverhaltens beschrieben und es wird gezeigt, wie sich die entsprechende Situation in der SHOW-Ausgabe darstellt. Außerdem werden Hinweise gegeben, wie solche Situationen bewältigt werden können.
Folgende Situationen werden beschrieben:
Mount-Meldung trotz montiertem Datenträger
Es kann vorkommen, dass eine Mount-Anforderung an der Konsole ausgegeben wird, obwohl der Operator den angeforderten Datenträger bereits montiert hat. Dies kann folgende Ursachen haben:
Mehrere Datenträger gleicher VSN sind online (SHOW-DISK-STATUS, SHOW-TAPE-STATUS). Der Operator muss entscheiden, welcher Datenträger belegt werden soll.
Das Gerät, auf dem der Datenträger montiert wurde, ist von einer anderen Task belegt (SHOW-DEVICE-STATUS). Der Datenträger muss umgehängt werden.
Konfigurationszustand des Gerätes (es ist explizit oder implizit detached) verhindert die Belegung:
Steuerung oder Gerät ist detached (SHOW-DEVICE-STATUS),
Pfad ist (teilweise) removed (SHOW-DEVICE-CONFIGURATION).
Datenträger umhängen oder Gerät/Pfad zuschalten (ATT/INC).
Der Hardwarezustand des Gerätes verhindert die Belegung:
Gerät ist noch nicht eingeschaltet (Platte),
Band ist noch nicht auf Bandanfangsmarke,
Steuerung ist nicht zugeschaltet.
Einschalt-Interrupt für montierten Datenträger wurde von der Hardware nicht geliefert. Lesen der VSN kann durch CHECK-DISK-/CHECK-TAPE-MOUNT erzwungen werden.
Der montierte Datenträger besitzt eine andere VSN als die vom Benutzer spezifizierte (SHOW-DEVICE-STATUS, SHOW-DISK-STATUS, SHOW-TAPE-STATUS).
Weitere Ursachen bei Plattenanforderungen:
Der vom Benutzer angegebene Gerätetyp stimmt nicht mit dem Typ der montierten Privatplatte überein (SHOW-DISK-STATUS VOL=vsn,INF=*PAR). Mount-Meldung abweisen bzw. ggf. zweite Platte gleicher VSN mit anderem Gerätetyp zuweisen.
VOLIN: UNIT-Vorgabe verlangt ein anderes Gerät als das, worauf die Platte montiert wurde. Für eine Fortsetzung muss der Datenträger umgehängt werden oder die Mount-Meldung abgewiesen und der Benutzer zur Freigabe des Gerätes veranlasst werden.
Die anfordernde Task hat sich das Gerät, auf dem die Platte montiert wurde, mittels /SECURE-RESOURCE-ALLOCATION UNIT=mn belegt und will die Platte für DVS-Betrieb belegen (USE=*DMS). Da Platten mit UNIT-Anforderungen nur für Benutzungsart SPECIAL reserviert werden, muss die Mount-Meldung abgewiesen und der Benutzer zur Freigabe des Gerätes veranlasst werden.
Eine Platte kann auf Grund ihrer SVL-Belegung durch andere Systeme nicht belegt werden: Beschreibung der möglichen Reaktionen siehe Abschnitt „SVL-Belegungdurch andere Systeme").
Es soll eine Platte belegt werden, die während des letzten Systemlaufs als DRV-Platte eingesetzt war, und das Subsystem DRV ist (noch) nicht geladen.
Als Reaktion ist entweder das Subsystem DRV zu laden und die Mount-Meldung abzuweisen, um dem Benutzer einen neuerlichen Belegungsversuch zu ermöglichen, oder durch positive Beantwortung der Mount-Meldung einen SRV-Betrieb der Platte zu erzwingen.
Weitere Ursachen bei Bandanforderungen:
MODIFY-MOUNT-PAR ALLOC=*NO ist eingestellt (SHOW-MOUNT-PAR):
Die Mount-Meldung muss beantwortet werden.Der vom Benutzer angegebene Volumetyp wird von dem Gerät, auf dem der Datenträger montiert ist, nicht unterstützt (SHOW-RESOURCE-ALLOCATION, SHOW-DEVICE-CONFIGURATION). Band muss umgehängt werden.
Der Benutzer hat ein anderes Gerät explizit reserviert (SECURE-RESOURCE-ALLOCATION UNIT=mn) als das, worauf das Band montiert wurde.
Die SECURE-UNIT-Anforderung des Benutzers ist zwingend, d.h. das Band muss auf das angegebene Gerät montiert werden.
SVL-Belegung durch andere Systeme
Obwohl eine Platte bereits als online protokolliert wurde, kann eine Belegungsanforderung durch einen Benutzer zu einer Mount-Meldung für dieselbe Platte führen. Dies ist dann der Fall, wenn eine Inkonsistenz zwischen der gültigen SYSTEM-ALLOCATION der Platte und ihrer tatsächlichen SVL-Belegung durch andere Systeme erkannt wird. Durch die Mount-Meldung, der ein Hinweis auf die vorliegende Diskrepanz vorausgeht, soll der Operator zu einer Entscheidung bzw. Reaktion aufgefordert werden.
Im Folgenden werden die möglichen Reaktionen und Eingriffe des Operators erläutert. Ausgangspunkt für die Überlegungen ist die Ausgabe von SHOW-DISK-STATUS VOL=vsn,INF=*ALL
Alle im SVL hinterlegten Systeme (SYSTEMS) sind nicht mehr aktiv:
Die eingetragenen Systeme können mit UNLOCK-DISK VOL=vsn,SYS-ID=(...) ausgetragen werden. Die Mount-Meldung wird danach automatisch beantwortet, die Belegung wird dadurch akzeptiert.Eingetragene Systeme arbeiten (teilweise) noch mit der Platte und die Platte soll vom eigenen System system-exklusiv belegt werden:
Die Mount-Meldung muss abgewiesen werden.Eingetragene Systeme arbeiten (teilweise) noch mit der Platte und die Platte soll vom eigenen System system-shareable belegt werden:
SVL-ALLOC=EXCL:
Die Mount-Meldung muss abgewiesen werden, da die Platte nicht gleichzeitig von einem weiteren System belegt werden kann.SVL-ALLOC=SHARE und alle Systeme aktiv:
Im SVL sind 16 Fremdsysteme (bei gemeinschaftlichen Platten) hinterlegt:
Verfahrensweise in diesem Fall wie in Punkt 3a)SVL-ALLOC=SHARE und ein Teil der eingetragenen Systeme ist nicht mehr aktiv:
Die inaktiven Systeme können – wie in Punkt 1 beschrieben – ausgetragen werden.Weitere Verfahrensweise wie in Punkt 3b).
Permanenter Hardware-Fehler für belegte Geräte
Für den Fall, dass ein Band- oder Plattengerät, das durch einen montierten und von einem oder mehreren Benutzern verwendeten Datenträger belegt ist, laufend Hardware-Fehler (INOP,...) meldet, bieten sich folgende Reaktionsmöglichkeiten an:
Datenträger ist eine Festplatte:
Kann der Hardware-Fehler nicht behoben werden, muss für eine Privatplatte die Remount-Meldung abgewiesen werden (impliziter Datenträger-Cancel); handelt es sich um eine gemeinschaftliche Platte, kommt der BS2000-Betrieb mit diesem Pubset zum Erliegen.
Datenträger ist ein Band:
Der betroffene Datenträger soll auf einem anderen Gerät montiert werden (Kommando CHANGE-TAPE-MOUNT VOLUME=vsn,ACTION=*MOVE). Falls noch ein freies Gerät verfügbar ist, wird dem Operator mit der Remount-Meldung ein Ersatzgerät vorgeschlagen. Wird das Kommando abgewiesen, kann dies folgende Ursachen haben:
Der Belegung des Datenträgers ging ein SECURE-RESOURCE-ALLOCATION UNIT=mn voraus, dadurch bleibt der Datenträger während seiner Benutzung durch die belegende Task zwingend dem Gerät zugeordnet. Kann der Hardware-Fehler nicht behoben werden, muss die Remount-Meldung mit
TSN.N
beantwortet werden. Der Datenträger wird gecancelt.Es ist kein Ersatzgerät mehr verfügbar.
In jedem Fall muss das Gerät mit DETACH-DEVICE UNIT=mn,FORCE=*YES weggeschaltet werden.
Das Wegschalten des Gerätes kann folgende Wirkungen erzielen:
Der Datenträger wird implizit gecancelt, sofern er ein Nicht-Standard-Label besitzt oder der Belegung ein SECURE UNIT=*mn vorausging.
Der Datenträger wird in den ACTION-Status „NO DEVICE“ überführt, d.h. sobald wieder ein freies Gerät existiert, wird dies dem privaten Datenträger zugeordnet.
Beim Wegschalten von Geräten mit wechselbaren Datenträgern wird in allen Phasen der Nutzung ein Warten auf das Freiwerden eines geeigneten Ersatzgerätes unterstützt, also sowohl im Zustand IN-USE als auch während der Bereitstellung (Zustand MOUNT oder PREMOUNT) sowie für reine Gerätetypbelegungen, z.B. nach SECURE-RESOURCE-ALLOCATION DEVICE=(TYPE=TAPE-C4, NUMBER=1).
Dabei kann der ACTION-Status „NO DEVICE“ für Datenträger in Benutzung oder während der Bereitstellung unmittelbar bei DETACH UNIT=mn,FORCE=*YES eintreten, wenn kein geeignetes Ersatzgerät verfügbar ist. Es kann ein „freies“ Gerät in dem Sinn verfügbar sein, dass diesem zwar momentan kein Datenträger zugeordnet ist, für das aber eine sog. Typbelegung existiert. Diese Belegung wird verdrängt.
Die betroffene Task wartet – während der Phase der Bereitstellung des mit dieser Typbelegung verknüpften Datenträgers – auf das Freiwerden eines geeigneten Ersatzgerätes.
Datenträger im Zustand IN-USE verdrängen Datenträger im Zustand PREMOUNT. Das Verdrängen eines Datenträgers im Zustand MOUNT wird nur bei manuell bedienten Geräten automatisch durchgeführt. Bei von ROBAR unterstützten Geräten wird ein einmal eingeleiteter Montiervorgang nicht mehr abgebrochen, d.h. die Remount-Recover-Routine wird mit NO DEVICE terminiert und der Mount-Vorgang wird abgeschlossen (Eigenschaften von ROBAR).Bei Freiwerden eines Gerätes durch ATTACH-DEVICE oder durch Belegungsende eines anderen Datenträgers erfolgt die Auswahl des zuzuordnenden Datenträgers in Abhängigkeit von der jeweiligen Phase (und zwar in folgender Reihenfolge: IN-USE vor MOUNT vor PREMOUNT), wenn mehr als ein Datenträger im Zustand NO DEVICE ist, der auf diesem Gerät vom Typ und der Lagerortzuordnung her verarbeitet werden könnte.
Privatplatte permanent von einem anderen System gesperrt
Eine Platte kann nicht belegt werden, falls ein anderes System als VTOC-Lockhalter im SVL der Platte hinterlegt ist (siehe Feld „VTOC-SYS“ bei SHOW-DISK INF=*SYS).
Der Operator wird in folgenden Fällen über diesen Zustand informiert:
Belegungsaufforderung durch den Benutzer führt zu Meldung
NDV0002
(Platte permanent durch ein anderes System gesperrt).Impliziter UNLOCK für die eigene System-Id bei Einhängen der Platte bzw. expliziter UNLOCK (UNLOCK-DISK VOL=vsn,SYS-ID=sys-id) führt ebenfalls zu Meldung
NDV0002
.SET-DISK-PARAMETER VOL=vsn,ASS=*OPER wird mit einem Hinweis auf den VTOC-Lockhalter abgewiesen.
Es muss sichergestellt werden, dass das als VTOC-Lockhalter eingetragene System nicht mehr mit der Platte arbeitet und der Lock auf Grund eines Fehlverhaltens (z.B. Systemabsturz) oder durch das Canceln der Platte zurückgeblieben ist. Nur für diesen Fall darf der Lockhalter ausgetragen werden; ansonsten muss auf die Freigabe des Locks durch das belegende System gewartet werden, da es sonst zu Nebeneffekten kommen kann.
Für die Punkte a) und b) kann ein Austragen des Lockhalters durch Beantwortung der Meldung NDV0002
mit tsn.F
erreicht werden.
Für Punkt c) muss das Austragen des belegenden Systems explizit mit UNLOCK-DISK VOL=vsn,SYS-ID=sys-id eingeleitet werden. Diese Anforderung führt ebenfalls wieder zur Meldung NDV0002
, die wie zuvor beschrieben mit tsn.F
beantwortet werden muss.
Prüfung auf freie Platten
Ob eine Platte frei ist, wird z.B. dann geprüft werden, wenn sie neu initialisiert werden soll. Eine Platte wird nicht von Benutzern belegt, wenn das Kommando SHOW-DISK folgende Informationen liefert:
PHASE=ONLINE
PHASE=IN-USE und VOL-A=FREE bei Platten mit der Benutzungsart USE=DMS;
In diesem Fall ist die Platte nur noch durch ihre ASSIGN-TIME belegt und kann durch SET-DISK-PARAMETER VOL=vsn,ASS=*USER[,USER=*NO] freigegeben werden.
SECURE-Deadlock-Situationen
Mit den Meldungen NKS0022
und NKS0054
wird der Operator auf Deadlock-Situationen hingewiesen, die bei der SECURE-Verarbeitung der aufgeführten Tasks festgestellt wurden.
Diese zwei Meldungen weisen auf folgende Deadlock-Situationen hin:
NKS0022
– Deadlock wegen Betriebsmittel, die die Tasks über die SECURE-Bearbeitung hinaus behalten dürfen:Eine Behebung der Deadlock-Situation ist nur über das Abbrechen einer oder mehrerer Tasks möglich.
Beispiel
TASK 1
TASK 2
/CREATE-FILE FILE-NAME=DAT1,-
SUPPORT=PRIVATE-DISK(VOLUME=-
VOL1,DEVICE-TYPE=DEV1)
/ASSIGN-SYSLST TO-FILE=DAT1
:
/SEC-RES DISK=(VOL=VOL2,-
TYPE=DEV2,-
ALLOC=EX),-
WAIT=......
/CREATE=FILE FILE-NAME=DAT2,-
SUPPORT=PRIVATE-DISK(VOLUME=-
VOL2,DEVICE-TYPE=DEV2)
/ASSIGN-SYSLST TO-FILE=DAT2
:
/SEC-RES DISK=(VOL=VOL1,-
TYPE=DEV1,-
ALLOC=EX),-
WAIT=.......
Sowohl Task 1 als auch Task 2 belegen für sich durch Öffnen einer Privatplattendatei (ASSIGN-SYSLST) jeweils eine Privatplatte task-shareable. Die SECURE-Anforderung der beiden Tasks zur task-exklusiven Belegung der von der jeweils anderen Task bereits task-shareable belegten Platte führt dazu, dass beide Tasks auf eine Plattenfreigabe warten.
Lösung:
Diese klassische Deadlock-Situation kann nur durch das Beenden einer der beiden Tasks aufgehoben werden.NKS0054
– Deadlock wegen CollectingUnter der Voraussetzung, dass während der laufenden Session eine Auswahl einer Collector-Task stattfindet, kann folgende Deadlock-Situation eintreten:
Bild 4: Deadlock-Situation wegen Collecting
Task 1 belegt die Platte DISK01 mit
/CREATE-FILE FILE-NAME=abc
und/ASSIGN-SYSLST TO-FILE=abc
und wartet auf die Betriebsmittelfreigabe durch eine andere Task mit/SE-CURE-RESOURCE-ALLOCATION FILE=(NAME=DATEI1,ALLOC=EX)
.Task 2 ist die Collector-Task, sie wartet auf die Plattenfreigabe durch Task 1 mit
/SECURE-RESOURCE-ALLOCATION DISK=*PAR(VOL=DISK=01,TYPE=D3435,ALLOC=EX), TAPE=(VOL=TAPE01,TYPE=TAPE-C4),WAIT=...
Task 3 wartet in der Secure-Queue auf die Freigabe des Bandes durch Task 2 während der Belegung der Datei DATEI1
/SECURE-RESOURCE-ALLOCATION TAPE=(VOL=TAPE01,TYPE=TAPE-C4)
.Lösung:
In diesem Fall würde eine Etablierung von Task 3 als Collector-Task zu einer Freigabe des Bandes TAPE01 durch Task 2 führen (Task 2 verliert seine Collector-Eigenschaft). Dadurch erhält Task 3 sein angefordertes Betriebsmittel und tritt aus der Secure-Queue aus. Nach Freigabe der Betriebsmittel durch Task 3 kann die Anforderung von Task 1 erfüllt werden; nach dessen Freigabe die von Task 2.
Änderung der USER-ALLOCATION
Der Wert von USER-ALLOC für eine Platte entscheidet deren Belegbarkeit durch den Benutzer. Ist „NO“ eingestellt, werden alle Belegungsanforderungen ohne Hinweis für den Operator abgewiesen. Aus diesem Grund ist es für den Operator wichtig zu wissen, in welchen Fällen eine (implizite) Änderung des Parameters stattfindet.
SET-DISK-PARAMETER VOL=vsn,USER=....
Wenn für eine Platte USER-ALLOC=*STD definiert ist, gilt als tatsächlicher Wert derjenige, der mit SET-DISK-DEFAULTS USER=.... eingestellt wurde. Ändert sich also der Standardwert, ist auch diese Privatplatte davon betroffen.
Beim Entziehen einer Platte mit CHANGE-DISK-MOUNT VOL=vsn,ACTION=CANCEL wird USER-ALLOC=*NO eingestellt.
Das Beantworten einer Remount-Meldung mit
tsn.N
(Abweisung) hat einen impliziten Cancel der Platte zur Folge (siehe Punkt 3).
Information über Reservierungen
Taskspezifisch
Das Kommando SHOW-RESOURCE-ALLOCATION (SH-RES) gibt Auskunft über folgende Betriebsmittelbelegungen:
Unit-Reservierungen
Gerätetypreservierungen
Band-, Plattenreservierungen (explizit durch SECURE-RESOURCE-ALLOCATION oder implizit durch Eröffnen oder Reservieren von Dateien auf privaten Datenträgern)
Systemglobal
Mit SHOW-DEVICE-STATUS UNIT=*SEL-TYPE(ATTR=*FREE[,TYPE=xxx]) erhält man eine Liste aller Geräte (eines bestimmten Typs), die noch nicht explizit (durch SECURE-RESOURCE-ALLOCATION UNIT=mn) oder implizit (durch Belegung eines darauf montierten Datenträgers) belegt wurden; diese Liste spiegelt aber nicht die tatsächliche Anzahl der noch belegbaren Geräte wider; es gibt nämlich Reservierungen, die noch keinem Gerät (Unit) zugeordnet sind (wie z.B. Typreservierungen mit dem Kommando SECURE-RESOURCE-ALLOCATION).
Eine Übersicht über die tatsächliche Anzahl von reservierten Geräten und die Art ihrer Reservierung sowie die Anzahl der noch belegbaren Geräte eines Typs kann der Ausgabe des Kommandos SHOW-DEVICE-STATUS INF=*SUM[,TYPE=xxx] entnommen werden.
SHOW-DEVICE-STATUS UNIT=*SEL-TYPE(TYPE=xxx), INF=*TASK zeigt die belegenden oder reservierenden Tasks und die Anzahl der von ihnen reservierten Geräte.
Vorschläge zur perfomance-günstigen Einstellung von NDM-Parametern
Privatplatten, die im DVS-Betrieb eingesetzt werden, werden bei Dateibearbeitung auf Kommandoebene (COPY-FILE, DELETE-FILE, ADD-FILE-LINK, CREATE-FILE) durch das DVS immer wieder neu belegt und freigegeben. Haben diese Belegungen und Freigaben einer Task außerdem immer eine SVL-Neubelegung bzw. eine Freigabe der Privatplatte zur Folge, so muss neben der DVS-Ein-/Ausgabe zusätzlich immer noch eine SVL-Verwaltung (Ein-/Austragen der System-ID im SVL der Platte) stattfinden. Bleibt die Platte jedoch über die Freigabe durch den jeweiligen Benutzer hinaus noch belegt (durch weitere gültige Belegung eines anderen Benutzers oder durch ASSIGN-TIME=*OPERATOR), entfällt der nicht unerhebliche Aufwand für die SVL-Verwaltung. Aus diesem Grund sollte eine für den DVS-Betrieb eingesetzte Privatplatte so lange durch ihre ASSIGN-TIME belegt bleiben, bis sie nicht mehr gebraucht und gezielt vom Operator freigegeben wird. Erreichbar ist dies durch
SET-DISK-PAR VOL=vsn,ASS=*OPER
SET-DISK-DEFAULTS ASS=*OPER (gilt für alle Platten mit ASS=*STD)
Sollen auch SPECIAL-Anwendungen stattfinden, ist Alternative b) nicht zu empfehlen, da dadurch auch Platten, die für eine spätere SPECIAL-Nutzung montiert wurden, automatisch belegt werden und vor ihrer Bearbeitung durch die SPECIAL-Anwendung vom Operator explizit freigegeben werden müssen (mit SET-DISK-PAR VOL=vsn,ASS=*USER).Für ein Data Center, bei dem der SPOOLOUT auf Band ausgelagert werden soll, sollte MODIFY-MOUNT-PAR UNLOAD=*NO (Voreinstellung) gesetzt sein, da ansonsten nach jedem Auslagern einer SPOOL-Datei das entsprechende Band entladen wird und ggf. vom Operator wieder startklar gemacht werden muss.