Cluster: Dateisysteme

Cluster Benutzung

In Kürze

Schwierigkeit

Einfach bis Mittel


Kosten

Kostenfrei


Sonstiges

Die Größe Ihres Home-Verzeichnisses ist auf 100 GB beschränkt.


Erste SChritte

Der Cluster verfügt über mehrere Dateisysteme, die verschiedene Zwecke haben. Für normale Nutzer bedeutet dies vor allem, dass Ihre Daten in einem der folgenden Verzeichnissen (und deren Unterverzeichnissen) liegen:

  • Ihr Home-Verzeichnis unter home/<Ihr Username>. Dieses Verzeichnis wird standardmäßig für alle Ihre Daten genutzt. Es gibt ein Limit von 100 GB pro User. Mehr zu Home-Verzeichnissen finden Sie in Home-Verzeichnis.
  • Das Workspace-Verzeichnis unter /work. Workspaces dienen zur kurzfristigen Speicherung von großen Datenmengen. Jedes Mal, wenn Sie einen Workspace erstellen, wird unter diesem Verzeichnis ein Unterordner für Sie angelegt. Dies ist Ihr Workspace. Workspaces sind von der Größe her unbegrenzt, aber dafür zeitlich beschränkt. Insgesamt steht ein Festplattenplatz von 1 Petabyte zur Verfügung. Mehr dazu im Abschnitt Workspaces.
  • Das Burst-Buffer-Verzeichnis /fast. Dieses Verzeichnis befindet sich physikalisch auf einer Partition mit Solid State Disks (SSDs). Es dient für Rechnungen, bei denen große Datenmengen besonders schnell bewegt werden müssen. Der gesamte Burst Buffer ist nur 32 Terabyte groß. Im Abschnitt Burst Buffer finden Sie Hinweise, wie sie diese Funktion nutzen.
  • Die Groupspaces sind Verzeichnisse für Arbeitsgruppen/Lehrstühle, die unter /group zu finden sind. Groupspaces müssen vom Leiter der Arbeitsgruppe/des Lehrstuhls beantragt werden. Weitere Informationen finden Sie im Abschnitt Groupspaces.
  • Ihr NAS oder XNAS (auf OMNI unter /nas bzw. /xnas verfügbar), falls Sie beim ZIMT ein solches beantragt haben. Beachten Sie bitte, dass die Verzeichnisse nur zum Transfer genutzt werden sollten, für Rechnungen und Software-Installationen sind sie zu langsam. Mehr Informationen weiter unten im Abschnitt NAS/XNAS.

Diese Dateisysteme sind von jedem Knoten des Clusters erreichbar.

Zusätzlich verfügt jeder Knoten noch über lokalen Speicher, auf dem unter anderem temporäre Daten, welche nach Beendigung des Jobs nicht mehr benötigt werden, abgelegt werden. Informationen dazu finden Sie im Abschnitt Temp-Verzeichnis.

Home-Verzeichnis

Als Nutzer haben Sie auf dem Cluster automatisch ein Home-Verzeichnis, in dem Sie Ihre Daten ablegen können. Dieses steht unter /home/<IhrUsername>. Die Größe Ihres Home-Verzeichnisses ist auf 100 GB beschränkt.

Snapshots der Home-Verzeichnisse

Von den Home-Verzeichnissen werden tägliche Snapshots erstellt, diese Snapshots bleiben 30 Tage lang verfügbar. Wenn Sie Daten in Ihrem Home verloren haben, können Sie in das Verzeichnis /home/.snapshots wechseln. In diesem Ordner sind die täglichen Snapshots gespeichert, jeder in einem eigenen Unterordner. Achtung: Diese Snapshots sind nicht als verlässliche Backups anzusehen. Wir empfehlen, dass Sie Ihre Daten zusätzlich selbst auf einem anderen Rechner sichern, um sicherzugehen.

Sie können Dateien, die Sie wiederherstellen wollen, einfach in ihr normales Home-Verzeichnis zurückkopieren:

cd ./home/.snapshot/daily_<Datum>_0010/<Ihr Username>
cp <Datei oder Dateien> <Ihr Home-Verzeichnis>

Beispiel:

cd /home/.snapshot/daily.2020-08-04_0010/demo_user/
cp file1 file2 /home/demo_user

Um Ordner und deren Inhalte (rekursiv) zu kopieren nutzen Sie die Option -r. Bitte beachten Sie, dass beim Kopieren, vor allem beim Kopieren von ganzen Ordnern, potenziell Dateien überschrieben werden können. Der Befehl cp bietet Optionen wie z.B. -i oder -n, um dies genauer zu kontrollieren. Mit man cp können Sie sich die Hilfefunktion anzeigen lassen.

Beispiel: einen Ordner exampledir zurückkopieren und bei jeder existierenden Datei nachfragen ob diese überschrieben werden soll

cd /home/.snapshot/daily.2020-08-04_0010/demo_user/
cp -i -r exampledir /home/demo_user

Beispiel: alle versehentlich gelöschten Dateien des Ordners exampledir zurückkopieren ohne existierende Dateien zu überschreiben

cd /home/.snapshot/daily.2020-08-04_0010/js056demo_user352/
cp -n -r exampledir /home/demo_user

Achtung: Auf dem HoRUS-Cluster konnten alle Nutzer die Home-Verzeichnisse jedes anderen Nutzers lesen. Dies ist auf dem OMNI-Cluster nicht mehr der Fall. Sie können natürlich weiterhin selbst mit dem Befehl chmod (siehe Linux-Grundlagen) Dateien und Unterordner Ihres Heimverzeichnisses für andere Personen freigeben.

Workspaces

Für Ihre Rechenjobs empfiehlt es sich, nicht das Home-Verzeichnis zu verwenden, sondern einen sogenannten Workspace anzulegen. Dies hat zwei Vorteile: Zum einen gibt es für Workspaces keine Größenbeschänkung, zum anderen befinden sie sich physikalisch auf Festplatten mit einer schnelleren Anbindung. Es gibt für Workspaces eine zeitliche Beschränkung von 30 Tagen: nach Ablauf der Frist wird der Workspace gelöscht. Sie können diese Frist allerdings bis zu drei Mal verlängern.

Achtung: Es werden keine automatischen Backups von Workspaces erstellt!

Workspaces anlegen und verlängern

Sie können einen neuen Workspace anlegen mit dem Befehl:

ws_allocate <WS-Name> <Dauer>

wobei die Dauer in Tagen angegeben wird. Die Maximaldauer ohne nachträgliche Verlängerung beträgt 30 Tage.

Achtung: wenn Sie die Dauer weglassen, wird der Workspace nur für einen Tag angelegt.

Der Workspace wird in einem Unterordner des Verzeichnisses /work/ws-tmp/ erstellt und setzt sich aus Ihrem Usernamen und dem von Ihnen angegebenen Workspace-Namen zusammen. Der Workspace ist wie jeder normale Ordner auch mit cd erreichbar. Im folgenden Beispiel:

$ ws_allocate test1 4
Info: creating workspace.
/work/ws-tmp/demo_user-test1
remaining extensions  : 3
remaining time in days: 4

sehen Sie, dass ein Workspace namens test1 für zunächst 4 Tage angelegt wurde.

Wenn sie einen bestehenden Workspace verlängern möchten, geben Sie

ws_extend <WS-Name> <Dauer>

mit dem Namen eines bereits bestehenden Workspaces und einer Zeitdauer ein. Sie können den Workspace insgesamt drei Mal um jeweils bis zu 30 Tage verlängern. Wenn Sie den Namen eines noch nicht existierenden Workspace eingeben, wird dieser neu angelegt, als ob Sie ws_allocate verwendet hätten.

Der ws_allocate-Befehl verfügt noch über weitere Funktionen, die Sie sich mit man ws_allocate anzeigen lassen können.

Dateisystem manuell wählen

Im Gegensatz zu HoRUS können Sie bei OMNI das Dateisystem für den Workspace auswählen. Das Dateisystem für die normalen Workspaces hat im Workspace-Mechanismus den Namen work, der weiter unten beschriebene Burst Buffer hat die Bezeichnung fast. Mit dem Befehl ws_list -l können Sie die Dateisysteme anzeigen lassen.

Bei ws_allocate und ws_extend können Sie mit der Option -F angeben, wo Sie den Workspace anlegen möchten. Wenn Sie -F nicht verwenden, wird der Default (work) verwendet:

ws_allocate -F [work|fast] <WS-Name>  <Dauer>
ws_extend -F [work|fast] <WS-Name>  <Dauer>

Achtung: Wenn Sie einen Workspace verlängern, müssen Sie dasselbe Dateisystem angeben wie beim ursprünglichen ws_allocate. Das heißt, wenn Sie z.B. einen Workspace mit ws_allocate -F fast angelegt haben, müssen Sie ihn auch mit ws_extend -F fast verlängern. Falls Sie den Workspace ursprünglich ohne -F angelegt haben, wurde der Default (work) verwendet und Sie müssen dies nicht nochmal angeben.

E-Mail-Benachrichtigungen

Der Workspace-Mechanismus kann Ihnen eine E-Mail schicken, bevor der Workspace ausläuft.

Wir empfehlen dass Sie diese Funktion immer nutzen, um Datenverluste zu vermeiden.

Der entsprechende Befehl lautet:

ws_allocate <WS-Name> <Dauer> -r <Anzahl Tage> -m <Ihre E-Mail-Adresse>

Mit der Option -m spezifizieren Sie die Adresse und mit -r den Abstand (in Tagen) bis zum Ablauf, an dem Sie benachrichtigt werden möchten. Wenn Sie die E-Mail-Adresse nicht jedes Mal von Hand eingeben möchten, können Sie in Ihrem Home-Verzeichnis eine Datei namens .ws_user.conf anlegen. In dieser schreiben Sie einen Text nach dem folgenden Muster:

mail: demo_user@uni-siegen.de

Beachten Sie bitte, dass nach dem Doppelpunkt ein Leerzeichen sein muss (YAML-Syntax).

Sie können auch einen Kalendertermin erzeugen mittels

ws_send_ical <WS-Name> <E-Mail-Adresse>

Workspaces anzeigen

Sie können Ihre bestehenden Workspaces anzeigen lassen, indem Sie

ws_list

eingeben.

Workspace freigeben (löschen)

Wenn Sie einen Workspace nicht mehr benötigen, können Sie ihn freigeben. Achtung: die Dateien in diesem Workspace sind dann nicht mehr zugänglich!

Dazu verwenden Sie den Befehl:

ws_release <Workspace-Name>

Workspace wiederherstellen

Abgelaufene Workspaces sind wie beschrieben nicht mehr zugänglich, werden aber nicht sofort gelöscht. Abgelaufene oder mittels ws_release freigegebene Workspaces werden bis zu 10 Tage aufbewahrt, bevor sie endgültig gelöscht werden. So ist es möglich, die Daten in versehentlich abgelaufenen Workspaces wiederherzustellen. Dazu gehen Sie wie folgt vor:

  1. Sie können sich eine Liste mit Ihren abgelaufenen Workspaces anzeigen lassen mittels:$ ws_restore -l <user>-<alter-workspace>-<nummer> unavailable since Tue Jun 12 09:30:01 2018
  2. Erzeugen Sie einen neuen Workspace:ws_allocate <neuer-workspace> <duration>
  3. Stellen Sie den abgelaufenen Workspace mit dem Befehl ws_restore in dem neuen Workspace wieder her. Dazu benötigen Sie den kompletten Namen des alten Workspace (inklusive Ihres Usernamens und einer Kennnummer), den Sie wie bereits erwähnt mittels ws_restore -l angezeigt bekommen.ws_restore <user>-<alter-workspace>-<nummer> <neuer-workspace>Der neue Workspace wird den alten in einem Unterverzeichnis enthalten.
  4. Tippen Sie den angezeigten Text ab. Dies dient dazu, dass Workspace-Wiederherstellung nicht automatisiert werden kann.

Burst Buffer

Der OMNI-Cluster verfügt über einen sogenannten Burst Buffer, das heißt einen schnelleren Datenspeicher. Dieser besteht aus SSDs und ist 32 Terabyte groß.

Bei der Benutzung des Burst Buffer sind zwei Sachen zu beachten:

  • Der Burst Buffer ist weniger stabil als die anderen Dateisysteme, deshalb sollten Sie die Daten nach Ihrer Rechnung so schnell wie möglich in einen regulären Workspace verschieben.
  • Der Burst Buffer ist mit 32 TB nicht allzu groß und für alle Nutzerinnen und Nutzer des Clusters zugänglich. Bitte benutzen Sie ihn nur, wenn Sie die höhere Verarbeitungsgeschwindigkeit wirklich brauchen.

Anlegen eines Workspaces im Burst Buffer

Funktional sind Ihre Verzeichnisse auf dem Burst Buffer ebenfalls Workspaces. Deshalb funktionieren die meisten Befehle wie im vorherigen Abschnitt beschrieben. Um einen Workspace im Burst Buffer zu erstellen, verwenden Sie ws_allocate wie sonst auch, Sie müssen nur zusätzlich angeben, dass das Dateisystem unter /fast verwendet werden soll.

ws_allocate -F fast <WS-Name> <Dauer>

Beachten Sie, dass Sie bei einem ws_extend dann ebenfalls zwangsläufig die Option -F fast angeben müssen.

Sie können die Liste aller Dateisysteme, auf denen Sie Workspaces erstellen können, anzeigen lassen mit dem Befehl ws_list -l:

$ ws_list -l
available filesystems:
fast
work (default)

Temp-Verzeichnis

Viele Anwendungen legen temporäre Dateien an, was Sie als Nutzer nicht immer mitbekommen, weil das Betriebssystem hierfür standardmäßig ein Temp-Verzeichnis (/tmp) bereitstellt. Jeder Knoten hat ein Temp-Verzeichnis auf seinem lokalen Speicher. Andere Knoten können darauf nicht zugreifen. Temporäre Dateien werden nach Programmende nicht mehr benötigt und normalerweise von den Anwendungen selbst gelöscht.

In der Vergangenheit kam es gelegentlich dazu, dass Dateien im Temp-Verzeichnis nach einem Job nicht sauber gelöscht wurden und das Verzeichnis mit der Zeit volllief. Wir haben nun einen Mechanismus implementiert, der dieses Verzeichnis nach dem Job automatisch aufräumt, ohne andere laufende Jobs zu beeinträchtigen.

Die meisten Anwendungen verwenden gängige Umgebungsvariablen um den Ablageort temporärer Daten zu bestimmen und bedürfen daher keiner Anpassung. Sollte das bei Ihrer Anwendung oder Ihren selbst geschriebenen Programmen und Skripten nicht der Fall sein, bitten wir Sie, folgende Hinweise zu beachten:

  • Beim Jobstart wird nun auf jedem beteiligten Compute-Knoten (zB. hpc-node300) unter /tmp ein neues Verzeichnis angelegt, welches sich eindeutig Ihrem Job zuordnen lässt (/tmp/slurm_<nutzerkennung>.<job-id>). Nachdem der Job endet, wird dieses temporäre Verzeichnis wieder gelöscht.
  • Der Pfad zu diesem temporäre Speicherort ist in den Umgebungsvariablen $TMP$TEMP$TMPDIR$TMP_DIR$TMPSESS hinterlegt.
    Bei Anwendungen, wo Sie als Nutzer explizit ein temporäres Verzeichnis angeben, z.B. in einer Konfig-Datei oder über eine Optionen beim Programmaufruf, sollten sie dies entsprechend anpassen (bspw. -tmp_dir=$TMP / -temp=$TMP).Weiterhin müssen Sie Skripte anpassen, die direkt auf das Verzeichnis /tmp zugeifen. Entsprechende Stellen sind durch eine Abfrage der Umgebungsvariablen TMP zu ersetzen.
  • Beim Starten einer Shell in einem interactiven Job (srun --pty ... /bin/bash) müssen Sie die Umgebungsvariablen händisch setzen. Z.B. mit folgendem Kommando: export TMP=/tmp/slurm_${SLURM_JOB_USER}.${SLURM_JOB_ID}
  • Sie können die Verwendung des temporären Ordners prüfen, indem Sie sich während der Jobausführung auf einen der daran beteiligten Compute-Knoten verbinden und nachsehen, wo Ihre Dateien landen. Ihre Dateien sollten sich nur unter /tmp/slurm_<nutzerkennung>.<job-id> befinden, aber nicht direkt unter /tmp.Lassen Sie sich ihre Jobs anzeigen, dort finden Sie auch eine Liste der am Job beteiligten Knoten:
    squeue -u <nutzerkennung>
    Verbinden auf einen Knoten, auf dem Ihr Job läuft:
    ssh hpc-nodeXXX
    Finden Sie unter allen lesbaren Daten Ihre Dateien:
    find /tmp ! -readable -prune -o -user <nutzerkennung> -print
    Schließen Sie die Verbindung zum Compute-Knoten:
    exit
    Alle Daten, die direkt unter /tmp liegen, werden nicht automatisch bereinigt. Prüfen Sie in diesem Fall, ob Ihre Skripte oder Anwendungen so konfiguriert werden können, dass die Daten in Ihrem temporären Verzeichnis landen, oder löschen Sie diese Daten am Jobende manuell (siehe nächster Punkt).
  • Sollte es nicht möglich sein, temporäre Ausgaben in den entsprechenden Ornder umzuleiten, sollten Sie am Jobende Ihre Daten manuell löschen. Dazu können Sie folgende Kommandos am Ende Ihres Jobskriptes aufnehmen oder in ein separates Skript packen, welches Sie am Ende Ihres Jobs aufrufen:job_list=`/cm/shared/apps/slurm/current/bin/squeue --noheader --format=%i --user=$USER --node=localhost` || exit 0 if [ -z "$job_list" ] ; then rm -rf /tmp/. fiDamit werden ausschließlich Ihre Daten unter /tmp gelöscht und auch nur, wenn Sie keinen anderen Job mehr auf dem Knoten laufen haben.

Groupspaces

Für Arbeitsgruppen und Lehrstühle bieten wir die Möglichkeit an, einen Groupspace einzurichten. Ein Groupspace ist ein Verzeichnis auf dem OMNI-Cluster, auf das nur Mitglieder Ihrer Gruppe Zugriff haben. Dies ermöglicht es Ihnen, Softwareinstallationen und Daten für Ihre Gruppe zentral auf dem OMNI bereit zu stellen. Ein Groupspace verhält sich ähnlich wie Ihr Heimverzeichnis, es ist sowohl auf den Login- als auch den Rechenknoten verfügbar und kann von außen über ssh erreicht werden. Damit unterscheidet es sich von den Gruppenlaufwerken (XNAS), welche nur von den Login-Konten aus genutzt werden können. Die Größe des Groupspace ist auf 100 GB beschränkt.

Das Einrichten eines Gruppenverzeichnis geschieht auf Nachfrage unter support@zimt.uni-siegen.de. Eigentümer und Verantwortlicher des Gruppenverzeichnisses ist dann die Person, die die Arbeitsgruppe/den Lehrstuhl leitet (Professor etc.). Diese Person muss selbst für den OMNI-Zugriff freigeschaltet sein wie hier beschrieben. Diese Person kann über das Self-Service-Portal des ZIMT selbst Gruppenmitglieder hinzufügen oder entfernen. Hinweis: pro Arbeitsgruppenleiter kann nur ein Groupspace beantragt werden.

Wenn Ihre Arbeitsgruppe/Ihr Lehrstuhl bereits für den XNAS-Zugriff eine eigene Gruppe eingerichtet hat, können Sie diese Gruppe auch für Ihren Groupspace verwenden. Wenn Sie noch keine solche Gruppe haben, erstellen wir beim Antrag eine neue Gruppe nach dem folgenden Namensschema: hpc_<AG-Name>.

Ihren Groupspace finden Sie dann auf OMNI unter /group/<Arbeitsgruppenname>.

Ein Groupspace eignet sich unter anderem in den folgenden Fällen:

  • Wenn Ihre Arbeitsgruppe Software nutzt, auf die nur Gruppenmitglieder Zugriff haben sollen (z.B. aus Lizenzgründen).
  • Wenn Ihre Arbeitsgruppe Software nutzt, die das HPC-Team nicht zentral installieren möchte (z.B. weil sie außerhalb der Arbeitsgruppe niemand nutzt oder weil sie einen unverhältnismäßig hohen Wartungsaufwand für das HPC-Team bedeuten würde).
  • Wenn mehrere Personen dieselben Inputdateien oder sonstige Ressourcen nutzen.
  • Wenn ein Arbeitsgruppenmitglied eine Software-Installation pflegt, die Software aber auch von anderen Mitgliedern der Arbeitsgruppe genutzt wird.

Software-Installation

Die Installation von Software durch Sie als Arbeitsgruppe ist in den Groupspaces ausdrücklich erlaubt. Das HPC-Team berät und unterstützt Sie dabei gerne. Wir können aber nicht die vollständige Installation für Sie übernehmen und können auch nur Troubleshooting im Rahmen der üblichen Nutzerbetreuung betreiben (z.B. in der Sprechstunde oder in separaten Beratungsgesprächen).

Sie können die besitzende Gruppe von Dateien mit Hilfe des Befehls chgrp modifizieren. Achtung: Standardmäßig werden neue Dateien und Verzeichnisse mit der Primärgruppe des erstellenden Nutzers angelegt. Die Primärgruppe für die meisten OMNI-Nutzer ist unix-user. Sie müssen also im Regelfall für alle neu angelegten Dateien und Verzeichnisse die Gruppenzugehörigkeit auf Ihre Arbeitsgruppe ändern.

Berechtigungen für den Groupspace und seine Unterordner und Dateien können Sie mittels des Befehls chmod ändern. Natürlich brauchen Dateien, die von der ganzen Gruppe benutzt werden sollen, auch die entsprechenden Gruppenberechtigungen. Berechtigungen für die Gruppe setzen Sie mit der g-Option, zum Beispiel:

chmod g+x <Dateiname>

würde die Datei für die Gruppe ausführbar machen. Mehr Details finden Sie in der Man-Page von chmod.

Anbindung an die Speicherdienste des ZIMT (NAS/XNAS)

Um den Transfer von Daten für die Nutzer*innen des Clusters OMNI zu erleichtern, besteht die Möglichkeit, die vom ZIMT bereitgestellten Speicherdienste NAS und XNAS zu nutzen. Da diese Option ausschließlich für den Transfer von Daten zum oder vom OMNI-Cluster genutzt werden soll, sind die Netzwerklaufwerke nur über die Login-Knoten erreichbar. Des Weiteren ist zu beachten, dass wir von den Netzwerklaufwerken kein automatisches Backup erstellen, die Nutzer*innen sind hierfür selber verantwortlich! Bei dem Dienst NAS ist keine Freigabe für Dritte möglich, das XNAS kann allerdings gruppenintern zum Austausch von Dateien verwendet werden.

Nutzer*innen, welche die Speicherdienste beantragt haben, müssen, um Zugriff zu erhalten, den Befehl kinit ausführen und anschließend das Passwort ihres Zimt-Accounts eingeben:

$ kinit
Password for <Username>@UNI-SIEGEN.DE:

Bitte beachten Sie, dass die Eingabe des Passworts nicht angezeigt wird.

Die Netzwerklaufwerke sind dann unter den Pfaden /nas/<Username> für NAS bzw. /xnas/<Username> erreichbar.