ALIs
kommt nochDas 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:
Mit chma kann so eine Adresse in eine "persönliche" Adresse geändert werden. Einzelheiten dazu unter man -F chma.benutzernummer@mail.lrz-muenchen.de
- 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
macIIfü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:
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
liegt im Directory /client/bingcc [optionen]
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:
- Anzeige des Quelltextes
- Anzeige und Änderung von Variablen
- Aufzeichnug und Wiederholung einer Debug-Sitzung
- 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
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.man -k string
- 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.