ALIs

kommt noch

Das Sun-Cluster am LRZ

Diese Schrift soll über betriebliche Besonderheiten des Sun-Clusters am LRZ informieren und einige nützliche Tips für das Arbeiten mit diesen Maschinen geben. Sie stellt keine Einführung in das Betriebssystem Unix dar (Solaris, das Betriebssystem der Suns, ist eine Unix-Variante). Dazu ist andere Literatur vorhanden, z.B. die LRZ-Benutzerschriften Nr. 8801 'Einführung in Unix', Nr. 9601 'Einführung in das Window-System X11' und Nr. 9002 'Bedienung des Editors ex/vi' (alle erhältlich im Benutzersekretariat des LRZ).

Das Sun-Cluster

Hardware-Ausstattung

Das am LRZ betriebene Sun-Cluster besteht aus 2 Sun Blade 100 Maschinen mit je 512 MB Hauptspeicher.

Betriebssystem, Andrew-File-System (AFS)

Das Betriebssystem der Suns, Solaris 9 (= SunOS 5.9), ist eine Unix-Variante, die dem AT&T System V Release 4 entspricht. Zur Verwaltung der Benutzerkataloge wird ein verbessertes File-System, das "Andrew-File-System" (AFS) verwendet. Eine Einführung in AFS sowie eine Beschreibung der neuen Kommandos zur Vergabe von Zugriffsrechten finden Sie unter AFS. Außer dem Sun-Cluster werden auch das Linux-Cluster und die IBM SMP einheitlich unter AFS betrieben. Das bedeutet, dass man als Benutzer an allen Clustern ein gemeinsames Passwort und ein gemeinsames Home-Directory hat.

Betriebszeiten / Neustart der Rechner

Die Betriebszeiten des Sun-Clusters sind die üblichen Betriebszeiten der Anlagen des LRZ, wie sie unter Zeiten oder über News (Gruppe lrz.general) bekanntgegeben sind. An jedem Montag um 6:30 Uhr werden alle Maschinen des Sun-Clusters neu gestartet, um aufgetretene Inkonsistenzen ("Prozeßleichen") zu beseitigen. An jedem ersten Montag eines Monats werden evtl. notwendige Hardware- bzw. Software-Wartungsarbeiten durchgeführt. Meistens sind die Rechner dann im Laufe des Vormittags wieder verfügbar.

Einzelne Rechner können bei Bedarf auch zu anderen Zeiten außer Betrieb genommen werden; die Einschränkung besteht ja dann nur darin, dass sich ein Benutzer auf einer anderen, gleichwertigen Maschine einloggen muß.

Zugang

Für den Benutzerbetrieb verfügbar sind die Rechner sun1 und sun2.

Der interaktive Zugang zu einem Rechner des Sun-Clusters erfolgt seit 1.1.2001 ausschließlich über ssh (secure shell). Telnet wird dann aus Sicherheitsgründen (u.a. werden Kennungen und Passwörter im Klartext übertragen) abgeklemmt. Für den Verbindungsaufbau ist generell der oben angegebene hostname zu verwenden und nicht die IP-Adresse, da sich das LRZ vorbehalten muß, bei Änderungen am Netz IP-Adressen zu ändern, im Unterschied zu den Namen.

Über ssh erfolgt der Zugang durch

ssh hostname.lrz-muenchen.de

Liegt das verwendete Terminal innerhalb der Domain lrz-muenchen.de, so genügt das Kommando

ssh hostname

Aus Sicherheitsgründen wird nur die SSH Version 2 unterstützt. Näheres über ssh finden Sie unter Security-Themen.

Ebenfalls ist aus den oben genannten Sicherheitsgründen ab dem 1.1.2001 kein ftp auf die Sun-Rechner mehr möglich. Um Daten per ftp zu übertragen, benutzen Sie den dedizierten Rechner ftp.lrz-muenchen.de.

Validierung, Passwort, quota

Das "Andrew-File-System" (AFS) bietet eine erhöhte Sicherheit im Vergleich mit dem "Standard"-Unix-Dateisystem NFS. Es ist daher nicht verwunderlich, dass AFS einen eigenen Login-Vorgang kennt. Die Validierung erfolgt, wie gewohnt, durch ein Benutzerkennzeichen und ein Passwort. Bei 6 fehlerhaften Login-Versuchen hintereinander wird das Benutzerkennzeichen für 25 Minuten gesperrt, um Hackern das Leben etwas schwerer zu machen.

Für das Passwort sollten aus Sicherheitsgründen folgende Regeln beachtet werden:

  • Es sollte mindestens 6 Zeichen lang sein
  • es sollte mindestens zwei Buchstaben und mindestens eine Ziffer oder ein Sonderzeichen enthalten,
  • es sollte sich vom Login-Kennzeichen unterscheiden (auch von geschifteten Versionen bzw. von der Rückwärts-Version),

Jedem unter AFS eingetragenen Kennzeichen wird ein gewisses Kontingent (Quota) an Plattenplatz für permanente Dateien eingeräumt. Dieses Limit kann nicht überschritten werden ("hartes Limit"). Bei dem Versuch, das Limit zu überschreiten, wird die entsprechende Operation abgebrochen.

Informationen über sein Limit und seine aktuelle Belegung erhält man mit dem AFS-Kommando fs listquota (siehe AFS).

Als Login-Shell wird bei neuen Benutzern derzeit die Korn-Shell (ksh) voreingestellt. Dies kann jedoch mit dem LRZ-Kommando chsh (change login shell) geändert werden, siehe Abschnitt "Zusätzliche bzw. geänderte Kommandos".

Datensicherung

Die (AFS-)Home-Directories am Sun-Cluster werden seitens des LRZ an jedem Monatsanfang gesichert. Zusätzlich werden 2-mal pro Woche die Dateien gesichert, die seit der letzten Sicherung geändert wurden. Diese Sicherungen dienen ausschließlich dem Schutz vor Datenverlust durch Hardware-Schäden. Es erfolgt keine Sicherung der Dateien in den Katalogen /tmp und /var/tmp (lokal an jeder Sun). Diese Kataloge unterliegen der Gleitlöschung von 7 Tagen.

Unter ADSM erfolgt täglich eine Sicherung derjenigen Benutzerdateien, die sich geändert haben. Allerdings werden nicht beliebig viele Sicherungen aufgehoben.

Einen Schutz gegen das versehentliche Löschen von Dateien sieht AFS selbst vor: In jedem Home-Directory gibt es ein Unterverzeichnis .OldFiles, auf das der Besitzer (lesend) zugreifen kann. Dort wird jeweils abends um 20 Uhr ein Backup aller Dateien angelegt, das dann bis zum nächsten Abend um 20 Uhr zugreifbar ist. Hat also z.B. der Benutzer "Schussel" durch rm Schussel/* einen Teil seiner Dateien gelöscht, kann er durch

cp .OldFiles/Schussel/* Schussel

den Stand vom letzten Tag 20 Uhr abends reaktivieren.

Man beachte, dass diese Methode nur funktioniert, solange man den Fehler am gleichen Tag vor 20 Uhr bemerkt und ihn sofort repariert. Ab 20 Uhr ist auch .OldFiles mit dem Fehler überschrieben.

Ein wichtiger Hinweis zu .OldFiles: Der von .OldFiles belegte Plattenplatz wird nicht auf das durch das Quotasystem gesetzte Limit angerechnet!

Für Benutzer, die Daten selbst sichern wollen, insbesondere große Datenbestände, bietet sich die Nutzung des Archivsystems ADSM (ADSTAR Distributed Storage Management) an. Eine Schrift dazu finden Sie unter ADSM.

Wichtige Kataloge; Dateihaltung unter AFS

Home-Directories (Benutzerkataloge)

Wie bereits im Abschnitt "Betriebssystem, Andrew-File-System (AFS)" erwähnt, liegen die Home-Directories unter AFS, und zwar im Ast

/afs/lrz-muenchen.de/home .

Das Verzeichnis home ist weiter strukturiert und in 3 Directories aufgeteilt:

 

/afs/lrz-muenchen.de/home/t  Benutzerkataloge von Angehörigen der TU München 
/afs/lrz-muenchen.de/home/u  Benutzerkataloge von Angehörigen der LMU München 
/afs/lrz-muenchen.de/home/a  Alle sonstigen Benutzerkataloge 
 

So ist beispielsweise dem Benutzer u987654 am Sun-Cluster das Home-Directory (=Volume in AFS-Terminologie)

/afs/lrz-muenchen.de/home/u/u987654

zugeteilt.

Darüberhinaus existieren Soft-Links von
 

/home  nach  /afs/lrz-muenchen.de/home 
und von 
/afs/lrz  nach  /afs/lrz-muenchen.de 

Zusätzlich kann man auch vom Linux-Cluster auf das AFS-Verzeichnis zugreifen, vorausgesetzt, man hat auf dieser Plattform ebenfalls eine Benutzerkennung.

Software-Kataloge

Im folgenden wird kurz beschrieben, in welchen Katalogen System- und Anwendersoftware zu finden sind.

 

/usr/bin  Wichtigste Solaris-Dienstprogramme 
/usr/ccs/bin  Werkzeuge zur Programmentwicklung 
/usr/ucb  Erweiterungen aus dem Berkeley-Unix-System 
/usr/afsws/bin  AFS-Kommandos 
/client/bin  Anwendersoftware (sowohl LRZ-eigene Software als auch Lizenz-Software und Public-Domain-Software; enthält u.a. auch die X11-Software des X Consortiums) 
/usr/local/bin  Anwendersoftware, die lokal auf einem Rechner liegt. Übergangsweise noch weitere Anwendersoftware, die im Laufe der Zeit nach /client/bin wandern wird. 
/opt/SUNWspro/bin  enthält Compiler (Fortran, C, C++) 
 

Um die wichtigsten dieser Programme bequem verfügbar zu machen, muß die Environment-Variable PATH mit den entsprechenden Pfaden belegt werden. Wenn Sie die vom LRZ zur Verfügung gestellten Musterprologe verwenden, ist die PATH-Variable automatisch richtig belegt. Näheres zu den Prologen finden Sie im folgenden Abschnitt.

Musterprologe des LRZ

Das LRZ stellt vorbereitete Benutzerprologe für die verschiedenen Shells zur Verfügung. In diesen Prologen werden u.a die Environment-Variablen PATH (enthält Suchpfade für Kommandos), MANPATH (enthält Suchpfade für Manualseiten) und LD_LIBRARY_PATH (enthält Suchpfade für Bibliotheken) so gesetzt, dass alle wichtigen Kommandos etc. gefunden werden.

Die Musterprologe finden Sie im Katalog

/sw/share/prologdateien

und zwar insbesondere

 

.profile  für die Bourne- und die Korn-Shell, 
.kshrc  für die Korn-Shell, 
.cshrc  für die C- und die T-C-Shell, 
.login  für die C- und die T-C-Shell 
 

Wir empfehlen die entsprechenden Dateien in Ihr Home-Verzeichnis zu kopieren. Wenn Sie Ergänzungen oder Änderungen zu diesen Prologen vornehmen möchten, sollten Sie diese nicht in den Musterprolog schreiben, sondern in eine eigene Datei mit dem entsprechenden Namen .myprofile, .mykshrc, .mycshrc und .mylogin. In den Musterprologen ist vorgesehen, dass Dateien mit diesen Namen ebenfalls ausgeführt werden, wenn sie im HOME-Verzeichnis vorhanden sind. Dadurch brauchen Sie bei künftigen Änderungen an den LRZ-Prologen diese nur in Ihr HOME-Verzeichnis kopieren, ohne dass Ihre Ergänzungen überschrieben werden.

Zusätzliche bzw. geänderte Kommandos

  • chfn: Eintrag ins GECOS-Feld
  • Eintragungen ins GECOS-Feld werden mit dem LRZ-Kommando chfn (change full name) gesetzt. Dieses ersetzt das gleichnamige Unix-Kommando und liegt unter /client/bin.

     

    chfn "V. Name setzt den Namen, den man z.B. mit dem Kommando finger sieht, auf V. Name 
     
  • chma: Ändern der Mailadresse
  • Jeder Sun-Benutzer hat von Haus aus eine Mailadresse der Form:

    benutzernummer@mail.lrz-muenchen.de

    Mit chma kann so eine Adresse in eine "persönliche" Adresse geändert werden. Einzelheiten dazu unter man -F chma.
  • chsh: Ändern der Login-Shell
  • Das Ändern der Login-Shell geschieht durch das LRZ-Kommando chsh. Dieses ersetzt das gleichnamige Unix-Kommando und liegt unter /client/bin.
     

    chsh shells  listet alle zur Verfügung stehenden Shells auf 
    chsh tcsh  wählt als Login-Shell die T-C-Shell 
    chsh -all csh  wählt gleichzeitig an den Suns und den IBMs als Login-Shell die C-Shell 
  • lrzkm: Ausgabe der aktuellen LRZ-Kurzmitteilungen
  • lrzkm [-a]  Texte aller Mitteilungen 
    lrzkm -u  Übersicht 
    lrzkm nr  Text der Mitteilung mit der laufenden Nummer nr 
     

Interaktiver Betrieb / Bildschirmorientiertes Arbeiten

Vor der ersten Verwendung einer bildschirmorientierten Anwendung (z.B. vi) muß Solaris mitgeteilt werden, welcher Bildschirmtyp verwendet wird. Dies geschieht durch Belegen der Variablen TERM mit dem entsprechenden Terminalnamen. Einige wichtige Terminalnamen sind:

 

vt100  für VT100-Sichtgeräte bzw. -Emulationen 
vt220  für VT220-Sichtgeräte bzw. -Emulationen 
xterm  für die xterm-Terminalemulation unter X-Window (80x24) 
xterms  für die xterm-Terminalemulation unter X-Window (80x65) 
mac2 oder 
macII 
für die Terminalemulation VistaCOM auf einem Macintosh II 
 

Die Einstellung erfolgt dann bei Verwendung der C-Shell csh z.B. durch

setenv TERM xterm

bei Verwendung der Bourne-Shell sh z.B. durch

TERM=xterm
export TERM

Sämtliche verfügbaren Terminal-Beschreibungen sind in Unterverzeichnissen von /usr/share/lib/terminfo abgespeichert (alle mit a beginnenden in /usr/share/lib/terminfo/a, alle mit b beginnenden in /usr/share/lib/terminfo/b usw.). Dort kann man gegebenenfalls nachsehen, ob für ein bestimmtes Terminal eine Beschreibung existiert.

X-Window an den Suns:

Am Sun-Cluster ist die Version X11 Release 6 des X-Consortiums installiert.

Eine Anleitung zur Benutzung von X-Window finden Sie

  • in der LRZ-Benutzerschrift "Einführung in das Window-System X11", die Sie im Benutzersekretariat des LRZ kaufen können.
  • unter X-Window

Online-Dokumentation zu CDE finden Sie unter http://docs.sun.com.

Graphikausgabe

Für die Ausgabe von Dateien, die mit dem LRZ-Graphiksystem erzeugt wurden, steht das Kommando graphik zur Verfügung (in /client/bin). Näheres dazu ist in folgender Anleitung zu finden:

  http://www.lrz-muenchen.de/services/software/grafik/lrz-graphik/

Compiler

Auf den Maschinen ist die Solaris Entwicklungsumgebung "Sun Studio 9" installiert. Diese Entwicklungsumgebung stellt Compiler und Debugger zur Verfügung. Die Dokumentation dazu ist auf dem Dokumentationsserver zu finden:

http://docs.sun.com

Soweit nicht anders angegeben, liegen die Compiler im Verzeichnis /opt/SUNWspro/bin.

C

Am Sun-Cluster sind zwei C-Compiler installiert.

  • ANSI-C-Compiler für Solaris aus "Sun Studio 9"
  • Der Aufruf erfolgt mit

    cc [optionen]

  • GNU-C-Compiler
  • Der Aufruf erfolgt mit

    gcc [optionen]

    liegt im Directory /client/bin

C++

Der Aufruf erfolgt mit

CC [optionen]

Fortran

Der Aufruf erfolgt mit

f95 [optionen]

bzw. mit

f77 [optionen]

f90 [optionen]

Fehlerverfolgung in Programmen (Debugging)

Die Suche nach Programmfehlern geschieht mit Hilfe von speziellen Programmen, die Debugger genannt werden. Dabei wird vorausgesetzt, dass die zu untersuchenden Programme auf eine bestimmte Art übersetzt werden.

Der Debugger unter Solaris heißt dbx und ist in der Lage, Programme zu bearbeiten, die in den Sprachen C, C++ oder Fortran geschrieben sind.

Um den Debugger zu benutzen, muß das Programm mit der Debug-Option -g übersetzt werden. Anschließend wird der Debugger mit der Binärdatei aufgerufen. Die Debug-Option ist für alle unterstützten Programmiersprachen dieselbe und sorgt dafür, dass der Übersetzer zusätzliche Tabellen und Informationen, die der Debugger benötigt, in die Objektdatei hineinschreibt. Als Beispiel soll das C-Programm prog.c in die Binärdatei prog übersetzt werden und danach der Debugger aufgerufen werden:

cc prog.c -o prog -g
dbx prog

Der Debugger arbeitet zeilenorientiert und bietet u.a. folgende Möglichkeiten:

  1. Anzeige des Quelltextes
  2. Anzeige und Änderung von Variablen
  3. Aufzeichnug und Wiederholung einer Debug-Sitzung
  4. Kontrolle des Programmflusses

Eine ausführliche Beschreibung des Debuggers und seiner Kommandos ist in der zugehörigen man-page dbx(1) enthalten.

Anwender-Software

Derzeit stehen am Sun-Cluster u.a. folgende Software-Pakete zur Verfügung:

  • LRZ-Graphiksystem
  • Numerische Programmbibliotheken NAG und IMSL
  • Computer-Algebra-Systeme Maple und Mathematica
  • Textsatzsystem TeX/LaTeX
  • Visualisierungssoftware AVS
  • Postprozessor Patran

Näheres finden Sie unter Software.

Sämtliche Bibliotheken liegen im Directory /client/lib und können beim Compileraufruf mit der Option -l angebunden werden, z.B.

f95 program.f -lgraphf -lnag

Programme und Kommandos liegen im Directory /client/bin, zugehörige Dokumentation in /client/man.

Achtung: für die Programmbibliothek IMSL genügt die Angabe des Parameters l nicht. Eine ausführliche Beschreibung dazu finden Sie in der Datei /client/doc/imsl.

Dokumentation

Online-Dokumentation

Die Online-Dikumentation ist über den Sun Dokumentationsserver (Musterprologe des LRZ") ist die Variable MANPATH richtig belegt.

Der Abruf einzelner Einträge (man-pages) aus diesen Kapiteln erfolgt durch das Kommando man(1). Gibt man einfach

man Name

ein, so erhält man die erste Manualseite (in der oben beschriebenen Reihenfolge), die gefunden wird. Beispielsweise erhält man mit

man mkdir

den Manualeintrag für das Kommando mkdir aus dem Kapitel 1. Möchte man den Manualeintrag für den Systemcall mkdir, so ist beim Aufruf von man(1) zusätzlich die entsprechende Kapitelnummer anzugeben, z.B.:

man -s2 mkdir

Für das Blättern in Manualseiten am Bildschirm ist standardmäßig der Pager more(1) eingestellt. more blättert bei Betätigen der Return-Taste zeilenweise, bei Betätigen der Leertaste seitenweise weiter. Durch Eingabe von q wird die Ausgabe abgebrochen.

Hinweis: Wesentlich komfortabler als more(1) ist der Pager less(1), der am Sun-Cluster im Verzeichnis /usr/local/bin zu finden ist. less(1) unterstützt neben dem Vorwärts- auch ein Rückwärtsblättern, ein beliebiges Positionieren in der Datei, und vieles andere mehr. Um less(1) anstelle von more(1) zu verwenden, muß die Environment-Variable PAGER entsprechend besetzt werden. Dies geschieht bei Verwendung der csh(1) durch

setenv PAGER /usr/local/bin/less

bei Verwendung der sh(1) durch

PAGER=/usr/local/bin/less
export PAGER

Wie bei more(1) kann man auch bei less(1) durch Betätigen der Return- bzw. der Leertaste zeilen- bzw. seitenweise vorwärtsblättern. Durch Eingabe von y bzw. b kann man zeilen- bzw. seitenweise rückwärtsblättern. Eine ausführliche Beschreibung entnehme man der entsprechenden man-page (abrufbar durch man less).

Tips und Hinweise:

  • Mit

    man -k string

    kann man in der sog. windex-Datenbasis nach dem Vorkommen des Strings string suchen. Dies ist insbesondere dann nützlich, wenn man zu einem Stichwort nach entspechenden Manualseiten sucht.
  • Wenn Sie eine Manualseite nicht finden können, obwohl Sie glauben, dass es diese geben sollte, rufen Sie das Kommando man mit dem Parameter -F auf. Dieser Parameter bewirkt, dass alle in MANPATH angegeben Verzeichnisse durchsucht werden. Per Voreinstellung werden nur die Manualseiten berücksichtigt, die in die windex-Datenbasis aufgenommen wurden, und das müssen nicht unbedingt alle sein.

Weitere Informationen