ASL-Cluster, Administration und Policies
Vereichnisstruktur
- Zentral gemountete Verzeichnisse:
-
/common/usr
enthält globale Software für alle Gruppen; diese gelten für Entwicklung und Produktion
-
/common/home
enthält die Home-Verzeichnisse der Nutzer
- Vorhandene Links:
-
/common/etc -> /common/usr/etc
-
/common/var -> /common/usr/var
- Lokale Verzeichnisse auf jedem Cluster-Knoten:
-
/var/log/equ
Logfiles von Gerätesoftware
-
/var/lock/acc
für Lock-Files vom DeviceManager
- Pfade für Entwicklungs- und Produktions-Software:
-
/common/usr/develop
Entwicklungszweig
-
/common/usr/production
Produktionszweig
- Zugriff aus Portabilitätgründen nur über Variablen
DROOT
und PROOT
erwünscht. Dies bitte beim Schreiben von Skripten beachten!
- zusätzliche Variable
ROOT
(identisch mit DROOT
auf asl7xx bzw. PROOT
auf asl3xx)
Umgebungsvariablen, Aliasse
- PATH
- enthält automatisch
/common/usr/bin
- ROOT, DROOT, PROOT
- siehe oben
- CROSS_COMPILE
- Setzen der PowerPC-CPU für ELDK (Wert: ppc_82xx-)
- OMNIDIR
- Grundverzeichnis von omniORB (Wert: /common/usr)
- kde
- Alias zum Starten von KDE (nur notwendig, wenn man über SSH eingeloggt ist und KDE über X-Tunnel starten will)
- eclipse
- Alias zum Starten von eclipse
Besonderheiten für Python
- Beim Starten von python (GSI-Version 2.5.1) wird automatisch das Verzeichnis
$ROOT/python
an den Suchpfad für Python-Module angehängt
Policies
- umask 002 für Gruppe bel
-
/common/usr
enthält nur zentrale Software, die sowohl für Produktion als auch Entwicklung gedacht ist. Im Allgemeinen externe Programme (z.B. Subversion, TeX, Eclipse), nur stabile Versionen, keine beschleuniger-spezifische Software
- Installation in
/common/usr
im Allgemeinen nur als RPM-Paket (Ausnahmen z.B. Eclipse, da dies einen eigene Update-Mechanismus hat) nach folgendem Schema:
- Installation/Update des RPMs auf asl715
- Nachtragen der RPM-Datenbank-Informationen auf den anderen Cluster-Knoten mit
rpm -{iU}vh --justdb
(gegebenfalls noch mit --noscripts
).
- Dies heißt natürlich, dass die RPMs nur Dateien und Verzeichnisse unterhalb von
/common/usr
anfassen dürfen, alles außerhalb ist durch Links zu lösen
- Selbst gebaute RPM-Pakete mit Sourcen und Build-Spezifikationen liegen und
/common/software/RPM
, beim Bauen von RPMS wird rpmbuild --rcfile=/common/software/RPM/rpmrc
benutzt.
- RPM-Pakete, die für Installation von Software in
/common
gebaut werden, tragen das Präfix gsi-
im Namen, z.B. gsi-libomniORB4.1
, gsi-python
- Beschleuniger-spezifische Software gehört in
DROOT
bzw. PROOT
, je nachdem, ob es sich um eine Produktions- oder Entwicklungsversion handelt.
-
/common/usr/lib
wird von ldconfig indiziert
- Unter
DROOT
bzw. PROOT
liegende Bibliotheken werden nicht automatisch indiziert, hier muss für die hierauf angewiesene Software LD_LIBRARY_PATH
geeignet gesetzt werden.
-
/common/usr
und /common/home
sind im Backup, die lokalen Platten der Rechner nicht. Neuinstallationen erfolgen von einem Referenz-Image.
- Daher sind lokale Anpassungen (außerhalb
/common/usr
) unbedingt zu vermeiden. Änderungen an der Systemkonfiguration, die nicht unterhalb von /common
möglich sind, sind zu automatisieren (z.B. Einsatz von cfengine)
Automatische Konfiguration
Zur automatischen Konfiguration kann
cfengine eingesetzt werden (derzeit noch experimentell).
Aufruf des Konfigurations-Laufs:
/common/usr/sbin/cfagent -f /common/usr/share/cfengine/config/cfagent.conf -v
Zum Testen vorher einmal mit zusätzlicher Option
-n
laufen lassen, dann sagt er nur, was er tun würde.
Derzeitige Aktionen
- Anlegen von
/var/log/equ
und /var/lock/acc
- In
/etc/profile
die Zeilen zum Durchlaufen von /common/usr/etc/profile
hinzufügen
- In
/etc/services
die Port-Nummern für ufcserver und AccAlarm hinzufügen
- In
/etc/bashrc
das Setzen von umask auskommentieren, damit das Setzen von umask für bel nicht rückgängig gemacht wird
- In
/etc/ssh/ssh_config
den Wert ForwardX11 auf yes setzen, damit ssh-Clients per default X tunneln
- In
/etc/sysconfig/i18n
den Wert LANG auf en_US setzen
- Die Definitionen für die ufcserver-Dienste nach
/etc/xinetd.d
kopieren
-
/etc/cups/cupsd.conf
so ändern, dass die Drucker von fsl00[34] geholt werden
- In
/etc/syslog.conf
Nachrichten für local0 nach /var/log/equ
umleiten
- Allgemeines
/etc/sudoers
kopieren
-
/etc/logrotate.de/syslog
kopieren, das die Dateien in /var/log/equ
rotiert
-
/etc/ld.so.conf.d/common.conf
kopieren, da /common/usr/lib
für ldconfig bekannt macht
- Links
/common/etc -> /common/usr/etc
und /common/var -> /common/usr/var
erzeugen
- Link
/etc/omniORB.cfg -> /common/etc/omniORB.cfg
erzeugen
- Link
/usr/local/acc -> /common/usr
(vorläufig, für Rückwärtskompatibilität)
--
KlausHoeppner - 20 Sep 2007