Datenspeicher & Dateistruktur: Unterschied zwischen den Versionen
Aus HPC@HU
(Zusammenfassung der Seiten mit den Größen der Luafwerke sowie den Pfaden und Rechten) |
(Pfad für Home und Ausführung bezüglich des Lustre) |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 8: | Zeile 8: | ||
|- | |- | ||
|$HOME | |$HOME | ||
| | | | ||
|global** | |global** | ||
|unlimited | |unlimited | ||
| | |20GB pro Nutzer | ||
|- | |- | ||
|/tmp | |/tmp | ||
Zeile 39: | Zeile 39: | ||
Bei anderen Anforderungen bitten wir darum per Mail mit dem HPC-Support Kontakt aufzunehmen. | Bei anderen Anforderungen bitten wir darum per Mail mit dem HPC-Support Kontakt aufzunehmen. | ||
==== Home ==== | |||
Die Home-Verzeichnisse liegen im Netzwerk der Universität. Aus diesem Grund sind die Verzeichnisse auf eine Quota von 20GB pro Nutzer beschränkt und sollten im Normalfall nicht als Arbeitsverzeichnisse bei HPC Berechnungen genutzt werden. Vom Home-Verzeichnis werden so-genannte Snapshots erstellt - effektiv ein Backup. Einmal zu jeder Stunde, zur Minute null (bis zu 168 Snapshots, 1 Woche), dann jeden Tag um 00:00 Uhr (bis zu 30 Snapshots). Diese finden sich, in jedem Ordner, innerhalb eines unsichtbaren Ordners <code>.snapshot</code>. Dieser wird allerdings nicht über <code>ls -a</code> angezeigt. Allerdings ist es möglich in den Ordner hinein zu navigieren, <code>cd .snapshot</code> oder sich die Inhalte anzeigen zu lassen <code>ls .snapshot</code>. Dadurch lassen sich für die Nutzer und Nutzerinnen des HPC-Service Daten im Home-Verzeichnis selbst wiederherstellen. | |||
Der individuelle Pfad zum Verzeichnis lautet <code>/home/<Fakultät>/<Benutzernmae></code> | |||
==== Lustre ==== | |||
Als temporärer Datenspeicher steht ein Lustre-Dateisystem under <code>/lustre</code> zu Verfügung, mit einer Gesamtgeröße von 1.5PB. | |||
Nach einem erfolgreichen Verbdindungsaufbau werden automatisch Ordern mit einer Dateistsruktur ähnlich dem Home-Verzeichnis angelegt und solten im Normalfall auch so genutzt werden. Bei Gruppenübergreifender Arbeit, lohnt es sich eventuell dedizierte Ordner auf der Fakultätsebene anzulegen. | |||
Der individuelle Pfad zulm Verzeichnis lautet <code>/lustre/<Fakultät>/<Benutzernmae></code> | |||
==== Lokaler Scratch ==== | |||
Um die Nutzung des lokalen scratch zu unterstützen wird das Plugin "auto_tmpdir" der University of Delaware genutzt (<nowiki>https://github.com/University-of-Delaware-IT-RCI/auto_tmpdir/tree/master</nowiki>). | Um die Nutzung des lokalen scratch zu unterstützen wird das Plugin "auto_tmpdir" der University of Delaware genutzt (<nowiki>https://github.com/University-of-Delaware-IT-RCI/auto_tmpdir/tree/master</nowiki>). | ||
Zeile 46: | Zeile 59: | ||
Exemplarisch könnte ein Script für die Nutzung wie folgt aussehen: | Exemplarisch könnte ein Script für die Nutzung wie folgt aussehen: | ||
< | <#!/bin/bash | ||
#SBATCH --ntasks=1 # Run on a single CPU | #SBATCH --ntasks=1 # Run on a single CPU | ||
#SBATCH --mem=1gb # Job memory request | #SBATCH --mem=1gb # Job memory request | ||
Zeile 65: | Zeile 78: | ||
## copy the results if they are required | ## copy the results if they are required | ||
cp -r /tmp/* $basedir | cp -r /tmp/* $basedir | ||
== Zugriffsrechte: == | == Zugriffsrechte: == |
Aktuelle Version vom 3. September 2024, 19:01 Uhr
Auf dem Slurm-Cluster stehen auf jeder Maschine (Login- & Exec-Server) folgende Verzeichnisse zur Verfügung.
Pfad | Größe | Sichtbarkeit | Dauer | Besonderheit |
---|---|---|---|---|
$HOME | global** | unlimited | 20GB pro Nutzer | |
/tmp | 1.5TB | local (Job) | job-time | autotmp_fs*** |
/dev/shm | 128GB | local (Job) | job-time | autotmp_fs*** |
/lustre | 1.5PB | global | unlimited* |
*Die Daten werden zur Zeit erst bei sehr hoher Belegung gelöscht
**Die Verzeichnisse sind über NFS gemountet
***Die Verzeichnisse werden für jeden Job angelegt und gemountet. Andere Jobs sehen den Inhalt nicht. Verzeichnisse werden nach Job-Ende gelöscht.
Bei anderen Anforderungen bitten wir darum per Mail mit dem HPC-Support Kontakt aufzunehmen.
Home
Die Home-Verzeichnisse liegen im Netzwerk der Universität. Aus diesem Grund sind die Verzeichnisse auf eine Quota von 20GB pro Nutzer beschränkt und sollten im Normalfall nicht als Arbeitsverzeichnisse bei HPC Berechnungen genutzt werden. Vom Home-Verzeichnis werden so-genannte Snapshots erstellt - effektiv ein Backup. Einmal zu jeder Stunde, zur Minute null (bis zu 168 Snapshots, 1 Woche), dann jeden Tag um 00:00 Uhr (bis zu 30 Snapshots). Diese finden sich, in jedem Ordner, innerhalb eines unsichtbaren Ordners .snapshot
. Dieser wird allerdings nicht über ls -a
angezeigt. Allerdings ist es möglich in den Ordner hinein zu navigieren, cd .snapshot
oder sich die Inhalte anzeigen zu lassen ls .snapshot
. Dadurch lassen sich für die Nutzer und Nutzerinnen des HPC-Service Daten im Home-Verzeichnis selbst wiederherstellen.
Der individuelle Pfad zum Verzeichnis lautet /home/<Fakultät>/<Benutzernmae>
Lustre
Als temporärer Datenspeicher steht ein Lustre-Dateisystem under /lustre
zu Verfügung, mit einer Gesamtgeröße von 1.5PB.
Nach einem erfolgreichen Verbdindungsaufbau werden automatisch Ordern mit einer Dateistsruktur ähnlich dem Home-Verzeichnis angelegt und solten im Normalfall auch so genutzt werden. Bei Gruppenübergreifender Arbeit, lohnt es sich eventuell dedizierte Ordner auf der Fakultätsebene anzulegen.
Der individuelle Pfad zulm Verzeichnis lautet /lustre/<Fakultät>/<Benutzernmae>
Lokaler Scratch
Um die Nutzung des lokalen scratch zu unterstützen wird das Plugin "auto_tmpdir" der University of Delaware genutzt (https://github.com/University-of-Delaware-IT-RCI/auto_tmpdir/tree/master).
Dieses Plugin erstellt einen dedizierten Ordner für einen ausgeführten job welcher dann unter /tmp erreichbar ist (sowie /var/tm und /dev/shm ).
Der Vorteil des Plugins ist, dass sich dieses um de Erstellung der Mounts sowie dem Löschen der Mounts und Dateien kümmert. Da die Dateien nach Ende des Jobs gelöscht werden, ist es wichtig die Ausgabe anderweitig zu "streamen" oder das Endergebnis zu kopieren.
Exemplarisch könnte ein Script für die Nutzung wie folgt aussehen:
<#!/bin/bash #SBATCH --ntasks=1 # Run on a single CPU #SBATCH --mem=1gb # Job memory request #SBATCH --time=00:05:00 # Time limit hrs:min:sec #SBATCH --partition=std #SBATCH --account=nutzername ## set path to root of job data basedir=/globalscratch/nutzername/myjob ## copy job data cp -r $basedir/* /tmp ## change to working director cd /tmp ## do the work hostname > $basedir/result.log ## copy the results if they are required cp -r /tmp/* $basedir
Zugriffsrechte:
Typisch für ein klassisches SLURM cluster, werden die regulären UNIX Rechte und Gruppen eingesetzt. Diese ermöglichen es Ordner auf dem geteilten Laufwerk nur für bestimmte Nutzer und Gruppen freizugeben. Allerdings ist die regulären Linux Rechteverwaltung hier in Bezug auf eine detaillierte Rechteverteilung stak eingeschränkt. (Da es nicht praktisch möglich ist für alle möglichen Kombinationen dedizierte Gruppen anzulegen.)
Eine feinere Rechteverwaltung, sofern notwendig ist über Access Control Lists (ACL) möglich.
In der der aktuellen Implementierung lassen sich diese über getfacl
in Erfahrung bringen, über setfacl
setzen oder modifizieren.
Die access control lists werden für den jeweiligen Benutzernamen gesetzt, welcher hier die User-ID des HU-Accounts ist.
Leserechte für eine Datei liesen sich wie folgt setzen:
setfacl -m u:benutzername:r test-datei
Rechte lassen sich ebenfalls rekursiv setzen, wodurch alle Dateien und Ordner abgedeckt sind.
setfacl -Rm u:benutzername:r pfad-zur/test-datei
Weiterführende Informationen zu Access Control Lists inklusive einer Erklärung der "flags" finden sich auf der Seite des Ohio Supercomputing Centre: https://www.osc.edu/resources/getting_started/howto/howto_manage_access_control_list_acls/howto_use_posix_acl
Sollte es notwendig sein die Zugriffsrechte auf spezifische Benutzer (und nicht nur einen Fachbereich) zu begrenzen wird folgender Vorgang empfohlen:
Die regulären UNIX/POSIX-Rechte werden auf den Eigentümer reduziert, ohne Zugriffsrechte für die Gruppe oder Welt. Dies entspräche einem r-x------
(500
) oder rwx------
(700
). Das Aufzeigen von Inhalten in Ordnern erfordert hierbei die Ausführungsrechte (x
). Für Dateien welche nicht ausgeführt werden reichen Lese- und Schreibrechte (r--
/ rw-
).
Im nächsten Schritt werden berechtigen Nutzern über die ACLs Zugriffsrechte eingeräumt - der Gruppe bleibt hierbei weiter der Zugriff auf der POSIX-Basis verwehrt.
Anmerkung: Sollte die Vertraulichkeit von Daten eine Einschränkung der Zugriffsrechte erfordern, sollte im Allgemeinen minimalste Rechte eingeräumt werden. So wenige wie möglich, so viele wie erforderlich. Andererseits ist ein konventionelles HPC-Cluster nicht für hochsensible Daten ausgelegt. In diesem Fall bitten wir darum dass mit dem HPC-Team unter hpc-suppport@hu-berlin.de Kontakt aufgenommen wird um eventuelle Lösungsansätze zu besprechen.
Externer Zugriff:
Der Zugriff auf das Dateisystem erfolgt über sftp (ftp ûber ssh) aus dem Netz der Humboldt Universität heraus.
Die ist unter Windows mit WinScp ( https://winscp.net/ ) möglich - auch in Verbindung mit putty ( https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html ) für die Befehlszeile - und wird unter Linux im Plasma Desktop nativ von Dolphin unterstützt.