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:
    1. Installation/Update des RPMs auf asl715
    2. Nachtragen der RPM-Datenbank-Informationen auf den anderen Cluster-Knoten mit
      rpm -{iU}vh --justdb (gegebenfalls noch mit --noscripts).
    3. 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
    4. 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
Topic revision: r3 - 18 Aug 2011, UnknownUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback