de.openvms.org - Für die deutschsprachige VMS-Community https://de.openvms.org:443/stories.php?story=10/11/29/1877308

Der OpenVMS-Fachberater: Logische Namen (Teil 5)
Der OpenVMS-Fachberater - 04-Mar-2003 00:00 UTC
vom OpenVMS-Fachberater Bob Gezelter

In einer vorangegangenen Folge habe ich ein etwas anspruchsvolleres Beispiel für logische Namen versprochen. Eine einfache, aber sehr oft angetroffene Situation soll uns als logisches erstes Beispiel dienen: DISK$USERS (oder auch, was ich oft sehe, DISK$abteilung, wobei abteilung alles sein kann von ACCOUNTING bis ZOOLOGY).

Das Ziel ist einfach und unkompliziert: das Erzeugen einer Verzeichnisstruktur auf einer Platte, so dass jede Abteilung ihren Zweig des Baumes als logisch getrennte Platten-/Verzeichnisstruktur sieht. In den Zeiten vor virtuellen Volume Managern erlaubte dies Systemmanagern, Teile der Nutzergemeinde von einer Platte auf die andere zu verschieben, wie die Arbeitslast zu- und abnahm, um Backuppläne einzuhalten und sich auf das Budget und die Bedürfnisse jeder Abteilung einzustellen. Selbst mit virtuellen Volume Managern und Enterprise Storage Arrays erlaubt es diese Technik Benutzer-Teams, sich ihre eigenen Umgebungen ohne Hilfe vom Systemmanagement einzurichten.

Als Beispiel werden wir mit einem mythischen System namens MIRAGE mit zwei Platten DKA0: und DKA100: arbeiten. Wir ignorieren DKA0: (die als Systemplatte genutzt wird), und wollen DKA100: (mit dem Label MIRAGEUSER1) in scheinbar getrennte Verzeichnisbäume strukturieren. Um dem Beispiel Realitätsbezug zu geben, wollen wir Verzeichnsbäume für ACCOUNTING, PAYROLL und DATAENTRY anlegen. Der Bequemlichkeit halber nehmen wir an, dass die Basis unserer Bäume der jeweiligen Abteilung gehört.

Wir beginnen mit einer schon mit dem Qualifier /SYSTEM gemounteten Platte MIRAGEUSER1, so dass sie allen Nutzern zur Verfügung steht, die Zugriffsrechte auf die Dateien auf der Platte haben (wir werden uns in einer zukünftigen Kolumne mit den Sicherheitsaspekten beschäftigen). Wir erzeugen die Wurzeln unserer logischen Verzeichnisse im Master File Directory (MFD, Verzeichnis [000000]) mit den folgenden Kommandos (die von OpenVMS.org heruntergeladen werden können):

$ CREATE/DIRECTORY DISK$MIRAGEUSER1:[ACCOUNTING]/OWNER=[ACCOUNTING] -
     /PROTECTION=(SYSTEM:RWED,OWNER:RWED,GROUP:RE,WORLD)
$ CREATE/DIRECTORY DISK$MIRAGEUSER1:[PAYROLL]/OWNER=[PAYROLL] -
     /PROTECTION=(SYSTEM:RWED,OWNER:RWED,GROUP:RE,WORLD)
$ CREATE/DIRECTORY DISK$MIRAGEUSER1:[DATAENTRY]/OWNER=[DATAENTRY] -
     /PROTECTION=(SYSTEM:RWED,OWNER:RWED,GROUP:RE,WORLD)

Vorher haben wir die RIGHTSLIST-Identifier für die Abteilungen angelegt (und haben berücksichtigt, dass Account-Namen in der UAF maximal 8 Zeichen lang sein dürfen). Um innerhalb der Längenbeschränkungen von OpenVMS zu bleiben, könnten Sie einige kreative Abkürzungen verwenden müssen. Wenn Sie bei dieser Gelegenheit einen abteilungen überspannenden Account in der UAF anlegen möchten, denken Sie auch an den von UAF vorgegebenen Rahemen (und auch an die Grenzen von Prozeduren, die auf die UAF zugreifen, wie SYS$EXAMPLES:ADDUSER.COM, die erfordert, dass die Standard-Platte eines Accounts schon existieren muss, wenn die Prozedur ausgeführt wird).

Nach der Erzeugung der obersten Verzeichnisse unserer Struktur können wir mit der Einrichtung der vom Nutzer sichtbaren Umgebung beginnen. Jeder Zugriff auf die Plattenstruktur erfolgt (und muss auch erfolgen) über logische Namen. Der nächste Schritt ist die Erzeugung einer Reihe von logischen Namen, durch die Benutzer auf die Abteilungs-Verzeichnisbäume zugreifen können, als wären sie einzelne Platten. Im Detail müssen die logischen Namen erzeugt werden

  • im Executive Mode mit dem Qualifier /EXECUTIVE_MODE (so dass sie von Programmen genutzt werden können, die in einem höheren Modus laufen),

  • in der systemweiten Tabelle von logischen Namen mit dem Qualifier /SYSTEM (um eine konsistente Sicht von verschiedenen Gruppen und Nutzern zu sichern), und

  • mit dem Attribut /TRANSLATION_ATTRIBUTES=CONCEALED, um Benutzer, Programme und Prozeduren anzuhalten, unabhängig von der tatsächlichen Zuordnung eines Verzeichnissen zu einer bestimmten Platte zu sein.

Zur Erzeugung der Illusion, dass hinter jedem logischen Namen eine eigene Platte steht, verwenden wir Namen, die jenen gleichen, die das MOUNT-Kommando generiert, also DISK$ACCOUNTING, DISK$PAYROLL und DISK$DATAENTRY. Es ergeben sich folgende Kommandos (die von OpenVMS.org heruntergeladen werden können):

$ ASSIGN/SYSTEM/EXECUTIVE_MODE/TRANSLATION_ATTRIBUTES=CONCEALED -
     DISK$MIRAGEUSER1:[ACCOUNTING.] DISK$ACCOUNTING
$ ASSIGN/SYSTEM/EXECUTIVE_MODE/TRANSLATION_ATTRIBUTES=CONCEALED -
     DISK$MIRAGEUSER1:[PAYROLL.] DISK$PAYROLL
$ ASSIGN/SYSTEM/EXECUTIVE_MODE/TRANSLATION_ATTRIBUTES=CONCEALED -
     DISK$MIRAGEUSER1:[DATAENTRY.] DISK$DATAENTRY

Natürlich benötigt der Prozess, der diese Kommandos ausführt, die Privilegien SYSNAM und CMEXEC.

Die nächste Frage ist, wann diese Kommandos ausgeführt werden sollten. Generell schlage ich vor, dass sie direkt nach den Kommandos zum Mounten der benutzten Platten eingesetzt werden. Es ist wichtig, den Mount-Status zu prüfen, bevor man die logischen Namen anlegt. Auch kann es wünschenswert sein, alle (oder einige) Logins zu sperren, wenn die Platten nicht gemountet werden können (es gibt einige Ansätze, wie man mit diesem Problem umgeht, jeder mit gewissen Vor- und Nachteilen; wir werden uns in einer zukünftigen Kolumne damit beschäftigen).

Der OpenVMS-Fachberater begrüßt Fragen von Lesern über OpenVMS und verwandte Technologien. Bitte senden Sie Ihre Fragen an den OpenVMS Consultant.



Vorhergehende Artikel in dieser Reihe von Robert Gezelter:
Logische Namen (Teil 4)
Logische Namen (Teil 3)
Logische Namen (Teil 2)
Logische Namen (Teil 1)



Über den Autor:

Robert Gezelter ist der Gründer der Consulting-Firma, die seinen Namen trägt (www.rlgsc.com).

Die Tätigkeit seiner Firma betont detaillierte technische Expertise in den Bereichen Computer-Architekturen, Betriebssysteme, Netzwerke, Sicherheit, APIs und verwandte Themen. Mr. Gezelter hat mit OpenVMS seit der ersten Release von VAX/VMS 1978 gearbeitet.

Seine Kundenstamm umfasst sowohl kleinere Firmen wie auch Firmen in den Fortune 10, lokal, national und international, mit Arbeitsbereichen, die von individuellen Telefon-Fragen bis zu größeren Projekten reichen.

Er ist per Email zu errreichen unter gezelter@rlgsc.com.


Original auf www.openvms.org