Novell Directory Services

Transcription

Novell Directory Services
Praktikumsversuch Verteile Systeme:
Funktionsweise eines Directory Services am Beispiel der Novell NDS
Ziel:
Ziel des Versuches ist es, beispielhaft die Mechanismen kennenzulernen, die innerhalb eines
Verzeichnisdienstes ablaufen, und diese sichtbar zu machen. Wir untersuchen die Novell
NDS, die zu den ausgereiftesten und am besten dokumentierten Verzeichnisdiensten gehört.
Dazu untersuchen wir
- die Namensauflösung
- das Management der Replikation
- Möglichkeiten zum Troubleshooting von Inkonsistenzen
Anmerkung die in kursiver Schrift genannten Befehle sind größtenteils fertige ServerBatchfiles (die so in der Dokumentation nicht beschrieben sind, und die jeweils eine Reihe
von Konsolebefehlen beinhalten). Die Novell-spezifischen Befehle zu lernen, ist nicht Ziel in
diesem Praktikum.
Prinzipielle Durchführung des Versuchs (genaue Versuchsanleitung folgt unten):
1. Teil:
Untersuchung der Navigation zur Namensauflösung innerhalb einer NDS. Dazu wird ein
Benutzerobjekt in einer entfernten Replika angelegt und mit dem DSTRACE Tool der
Weg der Namensauflösung durch die NDS nachverfolgt. Zudem verwendet der Directory
Server, über den der Client kommuniziert, Caching, d.h. er speichert die Daten (als sog.
external references) zwischen.
2. Teil:
Wir werden uns den Prozeß des Löschens bzw. Verschiebens von Objekten in einer
partitionierten und replizierten NDS genauer ansehen (sog. Obituary Prozeß)
3. Teil:
Wir werden verschiedene mögliche Fehlerszenarien (fehlende Replikas, unvollständiger
Löschvorgang etc.) untersuchen und lösen. Sie sollen dazu mit den von Novell zur
Verfügung gestellten Tools versuchen, die Fehlerursachen zu finden, um dann mit Hilfe
des Betreuers die Fehler beseitigen.
Praktikumsaufbau:
- Es werden 3 Novell (NetWare 4.11 und 5.0) Server mit NDS sowie 1 Client PC, fertig
installiert, zur Verfügung stehen.
Vorbereitung:
Um diesen Versuch durchführen zu können, ist ein grundlegendes Verständnis des Aufbaus
einer Directory, wie in der Vorlesung präsentiert, unbedingt nötig. Zudem sind aber noch
Novell-spezifischere Kenntnisse sinnvoll, um den Versuch so wie oben prinzipiell
beschrieben, durchführen zu können. Daher sollten Sie sich vorab ein bischen in den
grundsätzlichen Aufbau der NDS einarbeiten. Sie ist im „NDS Technical Overview“ unter
http://developer.novell.com/ndk/doc/ndslib/index.html sehr gut beschrieben. Eine pdf Version
des Dokumentes finden Sie als tech_ov.pdf unter ftp://ftp.ee.fhm.edu/local/masteree/vsysteme .
Sie sollten den prinzipiellen Aufbau der NDS und das Replikationskonzept verstanden haben.
Machen Sie sich insbesondere mit den Begriffen Subordinate Reference, External Reference
sowie Obituary vertraut. Überfliegen Sie bitte dazu aus dem NDS Technical Overview die
beiden Abschnitte:
-
eDirectory Objects (den Punkt Tree Walking intensiver) und
Partitions and Replicas (Punkte 1 – 3).
Darüberhinaus ist ein grundlegendes Wissen zu den Novell Administrationstools sinnvoll.
Nachdem es sich um Tools mit grafischer Benutzeroberfläche handelt, kommt man jedoch
intuitiv ganz gut zurecht.
Näheres finden Sie in der Dokumentation auf der Webseite von Novell unter
http://www.novell.com/documentation/lg/nds73/docui/index.html. Eine pdf Version finden
Sie als „NDS_Doku1.pdf“ unter ftp://ftp.ee.fhm.edu/local/masteree/vsysteme .
Schauen Sie mal in die Kapitel: Understanding NDS, NDS Object Administration, und NDS
Database Management (einzeln als pdf herunterladbar). Die Inhalte überschneiden sich
teilweise mit der oben genannten technischen Dokumentation, sie beschreiben die NDS aus
Sicht des Administrators. In der Dokumentation sind u.A. die nachfolgenden Novell Tools
beschrieben:
Benötigte Novell Tools
- NWAdministrator (Administrationstool zum Anlegen und Verwalten von Objekten in
der NDS): Sie sollten wissen, wie prinzipiell zumindest Benutzer angelegt und
verwaltet werden können.
- NDS-Manager (Managementtool zur Partitionierung der NDS und Verwalten von
Replikaten): Sie sollten eine Idee gewonnen haben, grundsätzlich Replikate angelegt
und gelöscht werden.
- DS-Repair: Tool zur serverbasierenden Reparatur. Sie sollten einschätzen können, was
man mit diesem Tool machen kann.
Ziel der Vorbereitung ist es nicht, sich komplett in die Tools einzuarbeiten, sondern sich einen
Überblick über die Tools zu verschaffen um zu verstehen, was man grundsätzlich mit diesen
Tools machen kann. Sie sollen im Praktikum zumindest verstehen, was Sie tun, wenn sie auf
irgendwelche Menüpunkte klicken.
Der Praktikumsversuch findet am 11.12.03 und 18.12.03 in Raum E202 statt. Die
Gruppeneinteilung wird Prof. Thomas in der Vorlesung vornehmen. Es werden pro Termin
zwei Versuchsplätze parallel bereitstehen.
Mit freundlichem Gruß
Prof. Dr. M. Paul
Versuchsdurchführung:
Vorbemerkung: Die angegebenenen Konsolenbefehle dtsync, dtall und debug finden Sie nicht
in der oben genannten Dokumentation. Es handelt sich um Skriptfiles die verschiedene
DSTRACE Kommandos (die in der Dokumentation beschrieben sind) absetzen, um die
Eingabe während des Praktikums zu vereinfachen.
Teil I: Synchronisation
Der Login Vorgang in eine NDS geschieht über einen Anmeldebildschirm, den Sie über das
rote N (rechte Maustaste? Novell Anmeldung) im Taskmanager von Windows erreichen.
1. Loggen Sie sich von Ihrem Client aus als Admin über den Server FS1 (explizite Angabe
des Servers im Login Dialog!) in den Kontext EMA des Verzeichnisbaumes EMA_Tree
ein.
2. Sie sehen ein Fenster „NetWare Delivered Applications for Admin.EMA“. Hier werden
Ihnen, gesteuert über die NDS“ Anwendungen aus dem Netz angeboten. Schließen Sie
bitte dieses Fenster, wir werden für den Rest des Versuchs mit lokalen
Administrationstools im Desktop Ordner „Verteilte Systeme“ auf Ihrer Workstation
arbeiten.
3. Starten Sie den NDS Manager (NDSMGR32) aus dem Desktop Ordner „Verteilte
Systeme“. Partitionieren Sie den Baum wie folgt:
o Machen Sie die Container .Acct.BER.EMA, BER.EMA und BEI.EMA zu
eigenen Partitionen. (Wechseln Sie dazu in den Container ? rechte Maustaste
? Create Partition)
o Wechseln Sie die Ansicht über die Menüleiste auf ?View ? Partitions and
Servers. Nun sehen Sie im oberen Fenster alle Partitionen und im unteren
Fenster die Server. Ändern Sie die Verteilung der Replikate so ab, dass sich die
Verteilung der Replikate wie folgt darstellt:
?? Acct.BER.EMA: M-Replika auf FS3
?? BEI.EMA: M-Replikat auf FS2, R/W-Replikat auf FS1
?? BER.EMA M-Replikat auf FS2
?? EMA_Tree (Root): M-Replikat auf FS1, R/W-Replikat auf FS2
Erstellen Sie dazu Replikate der genannten Partitionen auf den entsprechenden Servern
und löschen Sie die nicht genannten Replikate. Gehen Sie dabei schrittweise vor, d.h.
beenden Sie einen Vorgang (Refresh des Bildschirms über die F5 Taste bis die Anzeige
des entsprechenden Replikats auf „on“ steht) bis Sie den nächsten Vorgang durchführen.
- Erstellen eines Replikats: Wählen Sie im oberen Fenster eine Partition? dann den
Server ? rechte Maustaste ? Add Replica ? Typ auswählen
- Löschen eines Replikats: Wählen Sie im oberen Fenster eine Partition? dann den
Server ? rechte Maustaste? Delete. Nach dem Löschen bleiben evtl. Subordinate
References bestehen.
- Ändern des Typs: Wählen Sie im oberen Fenster eine Partition? dann den Server ?
rechte Maustaste? Change Type? Master)
4. Starten Sie den NetWare Administrator NWAdmin32, wechseln Sie in den Container
Corp.NYC.EMA
5. Starten Sie an der Konsole des Servers FS1 den Directory Services Bildschirm durch
folgende Eingaben:
dtsync
und wechseln Sie auf den neuen Bildschirm (Sie können durch wiederholte Eingabe von
Alt-Esc die verschiedenen Bildschirme des Servers seriell durchschalten).
6. Legen Sie nun mit dem NWAdmin folgende User an:
- Im Kontext Corp.NYC.EMA den Benutzer testcorp
- Im Kontext Acct.BEI.EMA den User testacct
Sie können die Synchronisation der neuen Benutzer dann am Directory Services
Bildschirm mitverfolgen. Der Vorgang wird auch in ein File geschrieben, das sie über
Eingabe von debug am Server öffnen können. Sie können alternativ von Ihrem Client aus
mit Hilfe des Notepads die Datei \\FS1\sys\public\dstrace.dbg öffnen. Dort können Sie die
gesamte Synchronisaton noch mal ansehen und mit der Partitionierung im NDS Manager
vergleichen:
Welche Partitionen sind betroffen? ___________________________________________
Welche Server sind betroffen? _______________________________________________
Teil II: Namensauflösung
Lesen Sie zunächst den gesamten Aufgabenteil durch, bevor Sie anfangen. Ziel ist es, in einer
Replica einen Benutzer anzulegen, um sich danach über einen anderen Server als dieser
Benutzer einzuloggen. Die dabei stattfindende Namensauflösung soll über entsprechende
Tools sichtbar gemacht werden.
1. Loggen Sie sich nun als User Admin ohne Passwort über den Server FS3 in den Kontext
.Acct.BER.EMA (explizite Angaben!) ein. Überprüfen Sie die Netwerkumgebung ?
Netware Connections, ob auch wirklich NUR eine Verbindung zur NDS über den Server
FS3 besteht! Gegebenenfalls löschen Sie bitte die anderen Verbindungen!
2. Erstellen Sie im Kontext .Acct.BER.EMA einen neuen User „Testuser“.
3. Starten Sie mit Load DSVIEW an der Konsole den NDS Viewer. Mit diesem Tool können
Sie sich die einzelnen Userobjekte, die physikalisch auf diesem Server gespeichert sind,
ansehen.
Wählen Sie „2 Partition Information“ und drücken Sie danach solange „1 Next“ bis Sie
die Partition „ID 00000002 Typ: ExtRef“ erreichen. Überprüfen Sie, dass Ihr neu
angelegte Testuser hier NICHT vorhanden sind („3 Entry, dann navigieren Sie mit 2 im
Baum nach unten, mit 3 zur Seite und mit 1 wieder nach oben)
4. Löschen Sie nun auch die letzen Verbindungen zum EMA_Tree unter Netwerkumgebung
? Netware Connections. Starten Sie erneut den Anmeldebildschirm und tragen Sie ein:
o Username testuser, Passwort wie von Ihnen vorgegeben
o Kontext: Acct.BER.EMA (!)
o Servername: FS1 (!),
loggen Sie sich aber noch nicht ein!
Starten Sie an der Konsole des Servers FS1 den Directory Services Bildschirm durch
folgende Eingaben:
dtall
Wechseln Sie dann auf den Directory Services Bildschirm (mehrmaliges Alt-Esc)
Sie können die Namensauflösung des neuen Usernamens am Directory Services
Bildschirm mitverfolgen.
Loggen Sie sich nun als Testuser ein. Nachdem die Anmeldeskripts durchlaufen (Fenster
am Client und sehen sich dann wieder über debug das Tracefile an.
5. Starten Sie nun wieder DSVIEW und sehen sich den Inhalt der external reference Partition
an. Sie werden festellen, dass nun auch ihr Testuser in der External Reference Partition
enthalten ist.
6. Wiederholen Sie Punkt 4. Was ist nun anders und warum?
Teil III: Obituary Prozess
1. Entladen Sie das NetWare Lodable Module für die NDS (DS.NLM) auf dem Server FS2
durch Eingabe von Unload DS.
2. Starten Sie lokal den Netware Administrator und
- verschieben Sie den User Corpuser aus dem 1. Teil irgendwoanders hin
- verschieben Sie den User Testuser.Acct.BER.EMA nach Corp.NYC.EMA und
- löschen Sie den Benutzer Acctuser.
3. Starten Sie an der Konsole des Servers FS1 das Dsrepair Tool mit dem Befehl „Load
DSREPAIR -A“. Wechseln Sie auf Advanced Options Menu ?Check External References.
Das folgende Logfile sollte auch Obituaries (Flag=0000) hinweisen.
4. Starten Sie Load DSVIEW, wechseln Sie auf die External Reference Partition und
navigieren Sie zu einem der Obituary Objekte. Sehen Sie sich die Zeitstempel an und
wechseln Sie mit „5“ zu den Attributen des Objekts. Sehen Sie sich den Typ an.
5. Geben Sie an FS2 Load DS an und wiederholen Sie den external reference check
mehrmals. Sehen Sie dabei zu, wie sich der Status der Obituaries allmählich verändert von
Flag 0000 auf
Flag 0001 (Notified)
Flag 0002 (O.K. to Purge)
Flag 0004 (Purgable)
und sie dann verschwinden. Gegebenenfalls beschleunigen Sie den Vorgang indem sie an
den Konsolen der Server set dstrace=*b eingeben
Teil IV: Kommunikationsprobleme in der NDS
Im folgenden untersuchen wir verschiedene Fehler-Szenarien. Vorgehensweise für jedes
Szenario:
- Sie geben an allen drei Servern „Prmenu“ ein und laden die angegebenen Szenarien
gleichzeitig an allen Servern.
- Sie geben an allen Servern dtsync ein und überprüfen die NDS auf Fehlermeldungen.
Zudem führen Sie die jeweils angegebenen Schritte aus.
- Sie versuchen, die jeweilige Ursache der Störung herauszufinden. Wenn Fehler
auftauchen, starten Sie den NDS Manager und sehen sich die Partition Continuity der
Partitionen an (Start NDS Manager ? Partition auswählen ? rechte Maustaste ?
Partition Continuity). Die Partition Continuity ist die Sichtweise aller Server auf die
Replikate der entsprechende Partition, die für eine konsistente NDS natürlich immer
gleich sein sollte. Die Fehlercodes tauchen auch dort auf, wobei dort auch mögliche
Ursachen recht gut beschrieben sind.
- Wenn Sie die Fehlerursache zu kennen glauben und das Problem beschreiben können,
vielleicht sogar eine Lösungsmöglichkeit sehen, diskutieren Sie ihre Vermutungen mit
dem Betreuer.
- Sie erhalten dann (für jedes Szenario) eine Beschreibung, anhand derer Sie die NDS
Reparatur durchführen können
1. Laden Sie an allen Servern Szenario 11 und loggen Sie sich neu ein. Starten Sie den NDS
Manager, und fügen Sie die CAI.EMA Partition in die Root Partition (Merge Partition).
Sie werden feststellen, dass das nicht funktioniert. Untersuchen Sie das Problem, indem
Sie einen Partition Continuity Check der Root (bzw. EMA_Tree) Partition durchführen.
Beheben Sie das Problem nach Rücksprache mit dem Betreuer.
2. Laden Sie an allen Servern Szenario 14 und loggen Sie sich neu ein. Das Office der Firma
EMA in Kairo (CAI.EMA wurde verkauft). Starten Sie den NWAdmin neu und löschen
Sie den Container aus dem NDS Baum (Öffnen Sie dazu zunächst alle darunterliegenden
Container, markieren Sie alle Objekte unterhalb von CAI.EMA und löschen Sie dann.
Wenn Sie Probleme haben, sehen Sie sich mit dem NDS Manager die Partition an, zu der
der Container gehört. Welches Problem besteht? Beheben Sie das Problem nach
Rücksprache mit dem Betreuer.
3. Laden Sie an allen Servern Szenario 15 und loggen Sie sich neu ein. Führen Sie den Rest
so durch wie bei Punkt 2 (Szenario 14).
4. Laden Sie an allen Servern Szenario 9 und loggen Sie sich neu ein. Starten Sie LOAD
DSREPAIR ? Report synchronisation status. Wie können Sie den angezeigten Fehler
beheben? Beheben Sie das Problem nach Rücksprache mit dem Betreuer.
5. Laden Sie an allen Servern Szenario 16 und loggen Sie sich neu ein. Folgendes Problem
ist aufgetaucht: Die Benutzer BPritchard, SWong, und APratt können sich manchmal
einloggen, manchmal aber auch nicht. Ihre Vermutung ist, dass eine defekte Replika
vorhanden ist, mit der die drei nicht kommunizieren können. Überprüfen Sie mit LOAD
DSVIEW auf den NetWare 4.11 Servern sowie mit LOAD DSBROWSE auf dem NetWare
5 Server die Replikate, in denen die Benutzer als Objekte gespeichert sind. Was ist das
Problem? Beheben Sie das Problem nach Rücksprache mit dem Betreuer.