Ein-/Ausgabe-Aufträge verschiedener Anwendungen auf das gleiche Gerät werden üblicherweise serialisiert. Später kommende Ein-/Ausgabe-Aufträge müssen warten, bis die vorangehende Ein-/Ausgabe beendet ist. Dieses Verhalten konnte bisher nur durch geeignete Datenorganisation auf unterschiedliche Datenträger verbessert werden.
BS2000 bietet für alle über Fibre Channel bedienten Plattenspeichersysteme die Funktion Parallel Access Volume (PAV) an, mit der mehrere Ein-/Ausgaben auf ein Plattengerät (ein logisches Volume) parallel ausgeführt werden.
Auf SU x86 stehen PAV-Geräte nicht zur Verfügung. Dort werden die Ein-/Ausgaben automatisch von X2000 parallelisiert. |
Ein PAV-Gerät besteht aus dem real existierenden so genannten Basis-Gerät (BASE) mit bis zu sieben so genannten Alias-Geräten (ALIAS).
Weitere Informationen zum Thema PAV finden Sie im Handbuch „Systembetreuung“ [2].
(Statisches) PAV im Native-Betrieb
PAV kann für Plattengeräte des Typs D3435 im FBA-Format am Kanal verwendet werden.
Die PAVs werden dabei nur bei der Generierung der I/O-Konfigurationsdaten eingerichtet (Anweisung DVC
von IOGEN). Die PAV-Einstellungen werden vom Betriebssystem aus den Generierungsdaten erkannt. Änderungen der PAV-Struktur erfordern eine neue Generierung oder eine dynamische I/O-Konfigurationsänderung, siehe "Dynamisches PAV im Native-Betrieb".
Basis-Gerät und Alias-Geräte werden bei der Hardware-Generierung (siehe Handbuch „Systeminstallation“ [1]) als eigenständige Geräte gleichen Typs mit gleichen Logical Unit Numbers aber unterschiedlichen Unit-Adressen und mnemotechnischen Gerätebezeichnungen an der gleichen Steuerung generiert.
BS2000 schaltet beim Zuschalten des Basis-Geräts automatisch die zugehörigen Alias-Geräte zu. Nachdem Basis- und Alias-Geräte zugeschaltet sind, können Ein-/ Ausgaben für das PAV parallel über Basis- und Alias-Geräte abgewickelt werden. Die Gerätebelegung erfolgt im Betriebssystem weiter nur für das Basis-Gerät. Ein-/Ausgaben werden dabei von den Anwendungen an das Basis-Gerät gegeben, das Betriebssystem steuert die Ausführung über das Base- oder ein Alias-Gerät.
Informationen über PAVs bietet das BS2000-Kommando /SHOW-DEVICE-CONFIGURATION INFORMATION=*PAV
.
(Statisches) PAV unter VM2000
PAVs können unter VM2000 für das Monitorsystem und die Gastsysteme eingesetzt werden.
Das Basis-Gerät kann einer VM explizit oder implizit zugeordnet werden, siehe "Geräte einer VM zuordnen und entziehen".
Alias-Geräte werden einer VM, unabhängig von der Einstellung ASSIGN-BY-GUEST
, stets implizit zugeordnet, wenn das Basis-Gerät im Gastsystem zugeschaltet wird. Eine explizite Zuordnung von Alias-Geräten wird abgewiesen.
VMS4192
).Alias-Geräte haben stets die gleiche Benutzungsart wie das zugehörige Basis-Gerät.
Die Benutzungsart eines Basis-Geräts kann mit /MODIFY-VM-DEVICE-USAGE USAGE=*SHARED/*EXCLUSIVE
geändert werden (damit ändert sich auch die Benutzungsart seiner Alias-Geräte).
Zu Ein-/Ausgaben für gemeinsam benutzbare Geräte siehe auch "Benutzungsart eines Gerätes".
Ein (implizit oder explizit zugeordnetes) Basis-Gerät kann einer VM explizit entzogen werden. Bei impliziter Freigabe wird das Basis-Gerät durch das Gastsystem freigegeben (siehe "Assignment Sets, implizite Gerätezuordnung und -freigabe"). Alias-Geräte werden automatisch mit dem Basis-Gerät freigegeben. Ein explizites Entziehen von Alias-Geräten wird abgewiesen.
Informationen speziell über PAVs unter VM2000 erhalten Sie mit /SHOW-VM-DEVICE-STATUS
. Über den Operanden PAV-ATTRIBUTE
können Sie die Auswahl von PAVs steuern. Mit dem Operand INFORMATION=*PAV
wird zusätzlich die PAV-Struktur für das betreffende Gerät dargestellt.
Um unter VM2000 eine möglichst gleichmäßige Verteilung der Ein-/Ausgaben für gemeinsam benutzte Platten zu erreichen, bevorzugt das Betriebssystem in den Gastsystemen das Basis- oder ein spezielles Alias-Gerät. Die Auswahl erfolgt über den VM-Index. Bevorzugte Basis- oder Alias-Geräte können auch in jedem Gastsystem explizit definiert werden mit dem BS2000-Kommando:/MODIFY-IO-UNIT UNIT=*DEVICE(NAME=...,STATE=*PAV-PREFERRED-DEVICE(...))
(siehe "MODIFY-IO-UNIT (Konfigurationseigenschaften Ein-/Ausgabe-Einheit ändern)").
Dynamisches PAV (DPAV) im Native-Betrieb
Statisches PAV, wie zuvor beschrieben, verlangt eine vorausschauende Planung auf die zukünftige Geräteauslastung. Bei der Generierung im BS2000 muss bedacht werden, dass für jedes Alias-Gerät eine eigene Adresse benötigt wird.
Dynamisches PAV (die IORM-Funktion DPAV, siehe "Einsatz von IORM im VM2000-Betrieb" und das Handbuch „Dienstprogramme“ [3]) kommt mit weniger Alias-Geräten aus. Wie beim statischen PAV müssen Alias-Geräte generiert werden, es ist jedoch nicht erforderlich, für jedes Volume im Voraus die maximal benötigten Alias-Geräte vorzusehen. DPAV weist autonom Alias-Geräte denjenigen Volumes zu, die am meisten davon profitieren.
Dynamisches PAV (DPAV) unter VM2000
DPAV unter VM2000 setzt das Subsystem IORM im Monitorsystem voraus.
Bei einem Engpass für ein PAV-Gerät in einem Gastsystem beauftragt das IORM-Subsystem im Gastsystem das IORM-Subsystem im Monitorsystem folgende Aktionen zu koordinieren und durchzuführen:
Suche nach dem Alias-Gerät, das am wenigsten ausgelastet ist.
Beauftrage alle BS2000-Gastsysteme, das ausgewählte Alias-Gerät wegzuschalten. Das Alias-Gerät wird dabei der VM entzogen, weil ein Alias-Gerät einer VM nur implizit zugeordnet wird.
Ordne das ausgewählte Alias-Gerät mit dynamischer Konfigurationsänderung (
/REMOVE-IO-UNIT
,/ADD-IO-UNIT
) dem neuen Basis-Gerät zu.Informiere alle BS2000-Gastsysteme über die neue Zuordnung.
Dabei wird in den Gastsystemen, in denen das Basis-Gerät zugeschaltet ist, auch das neu konfigurierte Alias-Gerät zugeschaltet und damit der eigenen VM implizit zugeordnet.
Für Server Units, die FastDPAV unterstützen, wird DPAV nicht mehr empfohlen.
Schnelles Dynamisches PAV (FastDPAV) im Native-Betrieb
Bei einem Engpass für ein PAV-Gerät bei DPAV brauchen die oben beschriebenen Aktionen (v.a. unter VM2000) eine bestimmte Zeit, in der sich die Auslastung für PAV-Geräte wieder ändern könnte. Um diese gewisse Schwäche zu umgehen, wird ein optimiertes DPAV ("FastDPAV") für Server Units /390 angeboten, die eine Modifikation der Logical Unit Number (LUN) für Alias-Geräte beim Starten einer I/O unterstützen (ab SU710).
Beim FastDPAV wird für eine Menge von Logischen Volumes mit identischen Kanalpfaden ein Pool von FastDPAV-Alias-Geräten generiert (mit dem Gerätetyp D3435-FP, intern A6) ohne feste Zuordnung zu einem dieser Logischen Volumes. Für ein FastDPAV-Alias-Gerät wird die LUN jeweils erst beim Starten einer I/O vorgegeben/modifiziert.
Vorteile von FastDPAV gegenüber DPAV:
- FastDPAV benötigt kein IORM für die Überwachung der Geräteauslastung und die Umschaltung der Alias-Geräte.
- FastDPAV erfordert keine Koordination mit anderen Systemen.
- Bei Bedarf sind Alias-Geräte sofort verfügbar.
Im Native-Betrieb werden alle generierten FastDPAV-Alias-Geräte vom BS2000 automatisch für die I/O-Nutzung aktiviert.
FastDPAV kann auch zusammen mit Statischem PAV betrieben werden.
Schnelles Dynamisches PAV (FastDPAV) unter VM2000
Im VM2000-Betrieb werden von den generierten FastDPAV-Alias-Geräten nur diejenigen vom BS2000 aktiviert, die der VM exklusiv zugeordnet wurden.
VM2000 verhindert für FastDPAV-Alias-Geräte die Benutzungsart SHARED
.
Die Zuordnung kann explizit (mit /ADD-VM-DEVICES
) erfolgen, oder implizit (mit /ATTACH-DEVICE
), falls die VM und die FastDPAV-Alias-Geräte dafür berechtigt sind.
Bei der I/O-Ausführung berücksichtigt BS2000 nur die zuvor aktivierten FastDPAV-Alias-Geräte. Mit dem BS2000-Kommando /MODIFY-IO-OPTIONS
kann in den Gastsystemen festgelegt werden, ob Base oder Alias-Geräte bei Ein-/Ausgaben dieses Gastsystems zu bevorzugen sind.
Die FastDPAV-Alias-Geräte werden von VM2000 nicht als konventionelle Alias-Geräte (PAV/DPAV) behandelt und daher auch nicht mit dem Kommando /SHOW-VM-DEVICE-STATUS
als solche angezeigt.
Beispiel zum Einsatz von (statischem) PAV unter VM2000
In diesem Beispiel wird dem Monitorsystem ein Basis-Gerät zugeordnet. Das Basis-Gerät wird im Monitorsystem zu- und dann wieder weggeschaltet.
/show-vm-device-status units=*std,information=*pav,
select=*par(state=*disposable,pav-attribute=*base) ———— (1) UNIT DEV-TYPE PAV S ASSIGN-SET USAGE VM-ID/(#VM) ASSIGNED-BY
2300 STDDISK BASE ———————————————————————————————————————————————————— (2)
(BASE: 2300; ALIAS: 2310,2320,2330)2301 STDDISK BASE
(BASE: 2301; ALIAS: 2311,2321,2331)
2302 STDDISK BASE
(BASE: 2302; ALIAS: 2312,2322,2332)
2303 STDDISK BASE
(BASE: 2303; ALIAS: 2313,2323,2333)
2304 STDDISK BASE
(BASE: 2304; ALIAS: 2314,2324,2334)
2305 STDDISK BASE
(BASE: 2305; ALIAS: 2315,2325,2335)
... (Ausgabe gekürzt)
5400 STDDISK BASE
(BASE: 5400; ALIAS: 540C)
/add-vm-devices units=2300,vm-id=monitor —————————————————————————————— (3)
VMS4005 DEVICE '2300' ASSIGNED TO VIRTUAL MACHINE (1,MONITOR)/show-vm-device-status units=23*,information=*pav,
select=*par(state=*assigned(vm-id=monitor)) ———— (4)UNIT DEV-TYPE PAV S ASSIGN-SET USAGE VM-ID/(#VM) ASSIGNED-BY
2300 STDDISK BASE EXCL 1 MONITOR VM-ADMIN
(BASE: 2300; ALIAS: 2310,2320,2330)
***
*** Gastsystem-Operating auf der Monitor-VM:
*** /attach-device unit=2300 —————————————————————————————————————————— (5)
*** NKR0042 'DEVICE =2300': ATTACH ACCEPTED
*** NKR0042 'DEVICE =2300': ATTACHED
*** NKR0042 'DEVICE =2310': ATTACH ACCEPTED ——————————————————————— (6)
*** NKR0042 'DEVICE =2320': ATTACH ACCEPTED
*** NKR0042 'DEVICE =2330': ATTACH ACCEPTED
*** NKVD010 DISK 'PF1.00' MOUNTED ON DEVICE '2300'
*** NBR0740 COMMAND COMPLETED 'ATTACH-DEVICE';
*** (RESULT: SC2=000, SC1=000, MC=CMD0001); DATE: <date>*** NKR0073 ALIAS DEVICE '2310' LINKED TO BASE DEVICE '2300'
*** NKR0073 ALIAS DEVICE '2320' LINKED TO BASE DEVICE '2300'
*** NKR0073 ALIAS DEVICE '2330' LINKED TO BASE DEVICE '2300'
*** NKR0040 'DEVICE =2310' ATTACHED
*** NKR0040 'DEVICE =2320' ATTACHED
*** NKR0040 'DEVICE =2330' ATTACHED
***
% VMS4005 DEVICE '2310' ASSIGNED TO VIRTUAL MACHINE (1,MONITOR)
(BY GUEST) ————————————————————————————————————————————————— (7)
% VMS4005 DEVICE '2320' ASSIGNED TO VIRTUAL MACHINE (1,MONITOR) (BY GUEST)% VMS4005 DEVICE '2330' ASSIGNED TO VIRTUAL MACHINE (1,MONITOR) (BY GUEST)
/show-vm-device-status units=23*,information=*pav,
select=*par(state=*assigned(vm-id=monitor))UNIT DEV-TYPE PAV S ASSIGN-SET USAGE VM-ID/(#VM) ASSIGNED-BY
2300 D3435 BASE EXCL 1 MONITOR VM-ADMIN
(BASE: 2300; ALIAS: 2310,2320,2330)
2310 D3435 ALIAS EXCL 1 MONITOR GUEST ————————————— (8)
(BASE: 2300; ALIAS: 2310,2320,2330)2320 D3435 ALIAS EXCL 1 MONITOR GUEST
(BASE: 2300; ALIAS: 2310,2320,2330)
2330 D3435 ALIAS EXCL 1 MONITOR GUEST
(BASE: 2300; ALIAS: 2310,2320,2330)
/show-vm-attributes vm-id=monitor,information=*units —————————————————— (9)
VM-ID UNITS 1 MONITOR ASSIGNED BY VM-ADMIN
EXCL: C2,C3,V0,V1,2300,2430,2431,2432,2433
SHARED: 22F4,22F5,22F6,22F7,58F2
ASSIGNED BY GUEST
EXCL: 2310,2320,2330
***
*** Gastsystem-Operating auf der Monitor-VM:
*** /detach-device unit=2300 ————————————————————————————————————————— (10)
*** NKR0092 'DEVICE =2300': /DETACH-DEVICE PENDING ACCEPTED*** NKR0045 *** 'DEVICE =2300' DETACHED ***
*** NBR0740 COMMAND COMPLETED 'DETACH-DEVICE';
*** (RESULT: SC2=000, SC1=000, MC=CMD0001); DATE: <date>*** NKR0074 ALIAS DEVICE '2310' UNLINKED FROM BASE DEVICE '2300' —————— (11)
*** NKR0074 ALIAS DEVICE '2320' UNLINKED FROM BASE DEVICE '2300'*** NKR0074 ALIAS DEVICE '2330' UNLINKED FROM BASE DEVICE '2300'
*** NKR0045 *** 'DEVICE =2310' DETACHED ***
*** NKR0045 *** 'DEVICE =2320' DETACHED ***
*** NKR0045 *** 'DEVICE =2330' DETACHED ***
***
% VMS4009 DEVICE '2310' REMOVED FROM VIRTUAL MACHINE (1,MONITOR)
(BY GUEST) ————————————————————————————————————————————————— (12)
% VMS4009 DEVICE '2320' REMOVED FROM VIRTUAL MACHINE (1,MONITOR) (BY GUEST)% VMS4009 DEVICE '2330' REMOVED FROM VIRTUAL MACHINE (1,MONITOR) (BY GUEST)
/show-vm-device-status units=23*,information=*pav,
select=*par(state=*assigned(vm-id=monitor)) ———— (13) UNIT DEV-TYPE PAV S ASSIGN-SET USAGE VM-ID/(#VM) ASSIGNED-BY
2300 D3435 BASE EXCL 1 MONITOR VM-ADMIN
(BASE: 2300; ALIAS: 2310,2320,2330)
/remove-vm-devices units=2300,vm-id=monitor
VMS4005 DEVICE '2300' REMOVED FROM VIRTUAL MACHINE (1,MONITOR)
-----------------------------------------------------------------------------------------------------------------
(1) | Der VM2000-Administrator informiert sich, welche Basis-Geräte frei sind. Es sollen detaillierte Informationen über die Konfiguration der PAVs (Base- und Alias-Geräte) angezeigt werden. |
(2) | Die Liste der freien Basis-Geräte und ihrer Alias-Geräte wird ausgegeben. |
(3) | Der Monitor-VM wird das Basis-Gerät |
(4) | Der VM2000-Administrator lässt sich alle Geräte, deren mnemotechnische Gerätebezeichnung mit |
(5) | Im Monitorsystem wird das Basis-Gerät zugeschaltet. |
(6) | Implizit werden dadurch auch die Alias-Geräte der Monitor-VM implizit zugeordnet und zugeschaltet. |
(7) | VM- und VM2000-Administrator werden über freilaufende Meldungen von der impliziten Gerätezuordnung unterrichtet. |
(8) | Der VM2000-Administrator wiederholt das Kommando aus (4). Nun sind auch die Alias-Geräte der Monitor-VM implizit mit gleicher Benutzungsart zugeordnet. |
(9) | Für einen VM-Administrator liefert |
(10) | Im Monitorsystem wird das Basis-Gerät wieder weggeschaltet. |
(11) | Implizit werden dadurch auch die Alias-Geräte weggeschaltet und implizit freigegeben. |
(12) | VM- und VM2000-Administrator werden über freilaufende Meldungen von der impliziten Gerätefreigabe unterrichtet. |
(13) | Nur das Basis-Gerät ist der Monitor-VM explizit zugeordnet. |