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.