From eeb752edec453112061a22df3cef9f6d2df5f2f3 Mon Sep 17 00:00:00 2001 From: Dustin Frisch Date: Wed, 23 Aug 2023 16:01:24 +0200 Subject: [PATCH] Preps doc --- docs/content/best_practice.md | 0 docs/content/environment.md | 0 docs/content/first_steps.md | 65 ++++++++++++++++++++++++++++++++ docs/content/index.md | 25 ++++++++++++ docs/content/internal/network.md | 54 ++++++++++++++++++++++++++ docs/content/storage.md | 0 docs/content/support.md | 0 docs/content/usage.md | 0 docs/default.nix | 18 +++++++++ docs/mkdocs.yaml | 37 ++++++++++++++++++ docs/result | 1 + flake.nix | 1 + machines/manager/docs.nix | 17 +++++++++ packages/pdt/.gitignore | 3 ++ 14 files changed, 221 insertions(+) create mode 100644 docs/content/best_practice.md create mode 100644 docs/content/environment.md create mode 100644 docs/content/first_steps.md create mode 100644 docs/content/index.md create mode 100644 docs/content/internal/network.md create mode 100644 docs/content/storage.md create mode 100644 docs/content/support.md create mode 100644 docs/content/usage.md create mode 100644 docs/default.nix create mode 100644 docs/mkdocs.yaml create mode 120000 docs/result create mode 100644 machines/manager/docs.nix create mode 100644 packages/pdt/.gitignore diff --git a/docs/content/best_practice.md b/docs/content/best_practice.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/content/environment.md b/docs/content/environment.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/content/first_steps.md b/docs/content/first_steps.md new file mode 100644 index 0000000..f71b585 --- /dev/null +++ b/docs/content/first_steps.md @@ -0,0 +1,65 @@ +# Erste Schritte mit dem Lehr-HPC Cluster + +Willkommen zum Abschnitt "Erste Schritte" der Benutzer-Dokumentation für den Lehr-HPC Cluster! Hier erfahren Sie, wie Sie Zugang zum Cluster erhalten, sich anmelden und grundlegende Konzepte des High-Performance Computing (HPC) kennenlernen können. + +## Zugang zum Cluster beantragen + +Bevor Sie mit dem Lehr-HPC Cluster arbeiten können, müssen Sie Zugang beantragen. Hier sind die Schritte, um den Zugang zu erhalten: + +1. Besuchen Sie die Webseite des Lehr-HPC Clusters: https://lehr-hpc-cluster-university.edu. +1. Suchen Sie nach dem Abschnitt "Zugang beantragen" oder ähnlichem. +1. Füllen Sie das Zugangsformular aus, das Ihre Kontaktdaten, den Grund für den Zugang und möglicherweise andere Informationen abfragt. +1. Senden Sie den Antrag ab und warten Sie auf die Bestätigung Ihrer Zugangsberechtigung. Dies kann einige Zeit in Anspruch nehmen. + +## Anmeldung auf dem Cluster + +Sobald Ihr Zugang genehmigt wurde, können Sie sich auf dem Lehr-HPC Cluster anmelden: + +1. Öffnen Sie ein Terminal auf Ihrem Computer. +1. Verwenden Sie den Befehl ssh in Verbindung mit Ihrer zugewiesenen Benutzer-ID und der Cluster-Adresse, um sich anzumelden: +```bash +ssh benutzername@lehr-hpc-cluster-university.edu +``` + Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden. + +## Grundlegende Begriffe kennenlernen +Um erfolgreich mit dem Cluster zu arbeiten, sollten Sie einige grundlegende HPC-Konzepte verstehen: + +* **Knoten**: Ein Knoten ist eine einzelne Recheneinheit im Cluster, die aus mehreren CPU-Kernen besteht. +* **Batch-System**: Der Cluster verwendet ein Batch-System zur Verwaltung von Berechnungsaufträgen. Sie reichen Ihre Aufträge ein, und das System plant und verteilt sie auf verfügbare Ressourcen. +* **Job einreichen**: Das Einreichen eines Jobs bedeutet, eine rechenintensive Aufgabe an das Cluster zu senden, um sie dort ausführen zu lassen. + +# Erste Schritte mit einem Testjob +Um sich mit der Nutzung des Clusters vertraut zu machen, können Sie einen einfachen Testjob einreichen: + +* Erstellen Sie eine Textdatei namens testjob.sh auf Ihrem Computer. +* Öffnen Sie die Datei in einem Texteditor und fügen Sie den folgenden Inhalt ein: +```bash +#!/bin/bash +#SBATCH --job-name=testjob +#SBATCH --output=testjob.out +#SBATCH --partition=standard +#SBATCH --ntasks=1 +#SBATCH --time=00:10:00 + +echo "Hallo vom Lehr-HPC Cluster!" +sleep 60 +``` +Dieses Skript führt einen einfachen Befehl aus und wartet dann 60 Sekunden. + +* Laden Sie die Datei auf den Cluster hoch, beispielsweise mit dem Befehl scp: +```bash +scp testjob.sh benutzername@lehr-hpc-cluster-university.edu:~/testjob.sh +``` + +* Verbinden Sie sich erneut mit dem Cluster und reichen Sie den Testjob ein: +```bash +sbatch testjob.sh +``` + +* Überwachen Sie den Status des Jobs mit dem Befehl `squeue -u benutzername` und sehen Sie zu, wie er ausgeführt wird. + +Herzlichen Glückwunsch! Sie haben Ihren ersten Testjob auf dem Lehr-HPC Cluster erfolgreich eingereicht. +Nächste Schritte + +Sie haben nun erfolgreich die ersten Schritte auf dem Lehr-HPC Cluster unternommen! Als nächstes können Sie sich mit fortgeschritteneren Themen wie der Einreichung komplexerer Aufträge und der Nutzung spezifischer Software vertraut machen. Werfen Sie einen Blick auf die anderen Abschnitte dieser Dokumentation, um Ihr Wissen zu vertiefen. diff --git a/docs/content/index.md b/docs/content/index.md new file mode 100644 index 0000000..a2b1d70 --- /dev/null +++ b/docs/content/index.md @@ -0,0 +1,25 @@ +Herzlich Willkommen zur Benutzer-Dokumentation des High-Performance Computing (HPC) Clusters der Hochschule Fulda! + +## Einführung zum HPC Cluster +Herzlich willkommen zur offiziellen Benutzer-Dokumentation unseres High-Performance Computing (HPC) Clusters. +Diese Dokumentation soll Ihnen dabei helfen, das volle Potenzial unseres Clusters auszuschöpfen, um komplexe Berechnungen und wissenschaftliche Simulationen effizient durchzuführen. + + +## Was ist ein HPC Cluster? +Ein HPC Cluster ist ein leistungsstarkes Netzwerk von miteinander verbundenen Computern, die gemeinsam komplexe Berechnungen und rechenintensive Aufgaben bewältigen können. +Unser Cluster wurde entwickelt, um den Umgang mit einem HPC Cluster in der Lehre zu vermittel und Forscherinnen und Forschern aus verschiedenen Disziplinen die Möglichkeit zu bieten, Simulationen durchzuführen, Datenanalysen durchzuführen und innovative Forschungsprojekte zu realisieren. + +## Inhalt der Dokumentation +Unsere Benutzer-Dokumentation ist in mehrere Abschnitte unterteilt, um Ihnen einen klaren Überblick über die verschiedenen Aspekte unseres HPC Clusters zu geben: + +* [Erste Schritte](first_steps.md): Hier erfahren Sie, wie Sie Zugriff auf den Cluster erhalten, sich anmelden und grundlegende Befehle verwenden können. + +* [Cluster-Nutzung](usage.md): Dieser Abschnitt deckt fortgeschrittenere Themen ab, wie das Einreichen von Berechnungsaufträgen, die Nutzung von Parallelverarbeitung und die Verwaltung von Ressourcen. + +* [Software-Umgebung](environment.md): Erfahren Sie, wie Sie Softwarepakete laden, erstellen und verwenden können, um Ihre spezifischen Anforderungen zu erfüllen. + +* [Datenspeicherung](storage.md): Hier wird erläutert, wie Sie Daten auf dem Cluster speichern, verwalten und zwischen verschiedenen Speicheroptionen übertragen können. + +* [Best Practices](best_practice.md): Entdecken Sie bewährte Methoden und Tipps, um die Leistung Ihrer Berechnungen zu optimieren und potenzielle Stolpersteine zu vermeiden. + +* [Support und Hilfe](support.md): Falls Sie auf Probleme stoßen, bieten wir Ihnen in diesem Abschnitt Unterstützung an und zeigen Ihnen, wie Sie Hilfe erhalten können. diff --git a/docs/content/internal/network.md b/docs/content/internal/network.md new file mode 100644 index 0000000..c630429 --- /dev/null +++ b/docs/content/internal/network.md @@ -0,0 +1,54 @@ +# Network Details + +## Management Network +Each host (all nodes, management and storage) is attached to a dedicated management network. + +**VLAN**: 1032 +**IPv4**: 10.32.46.0/24 +**IPv6**: 2001:638:301:202e::/64 +**DHCP**: Enabled + +**Switch ports**: 25 - 48 + +### Hosts +``` +10.32.46.10 - manager +10.32.46.100 - node-00 +10.32.46.1xx - node-xx +10.32.46.120 - node-20 + +10.32.46.254 - switch +``` + +## Data Network +**VLAN**: 1033 +**IPv4**: 10.32.47.0/24 +**IPv6**: 2001:638:301:202f::/64 + +**Switch ports**: 1 - 24 + +### Hosts +``` +10.32.47.10 - manager +10.32.47.100 - node-00 +10.32.47.1xx - node-xx +10.32.47.120 - node-20 +``` + +## Switch configuration +The main switch, all interfaces are connected to, is split in two VLANs for management and data. + +**Management IP**: 10.32.46.254/24 + +### Enable SSH configuration +SSH login is enabled but quite unusable in the default state. To enable all config commands use the following procedure: + +After login with username and password, enter the command: +``` +_cmdline-mode on +``` + +Accept with `yes` and enter the following (vendor specific) password: +``` +512900 +``` diff --git a/docs/content/storage.md b/docs/content/storage.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/content/support.md b/docs/content/support.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/content/usage.md b/docs/content/usage.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/default.nix b/docs/default.nix new file mode 100644 index 0000000..1d2c0a8 --- /dev/null +++ b/docs/default.nix @@ -0,0 +1,18 @@ +{ stdenv +, mkdocs +, ... +}: + +stdenv.mkDerivation { + name = "docs"; + + preferLocalBuild = true; + allowSubstitutes = false; + + src = ./.; + + buildCommand = '' + cd "$src" + ${mkdocs}/bin/mkdocs build --site-dir "$out" + ''; +} diff --git a/docs/mkdocs.yaml b/docs/mkdocs.yaml new file mode 100644 index 0000000..c49f181 --- /dev/null +++ b/docs/mkdocs.yaml @@ -0,0 +1,37 @@ +site_name: HPC @ HS-Fulda +site_description: User documentation for high performance cluster on University of Applied Sciences Fulda +site_url: https://docs.hpc.informatik.hs-fulda.de/ +site_dir: public +use_directory_urls: false +strict: true +repo_url: https://gogs.informatik.hs-fulda.de/hpc/nixcfg.git +docs_dir: content + +theme: + name: readthedocs + locale: de + prev_next_buttons_location: none + highlightjs: true + hljs_languages: + - bash + - yaml + - rust + +markdown_extensions: + - extra + - admonition + +plugins: + - search + +nav: + - Start: index.md + - Erste Schritte: first_steps.md + - Nutzung: usage.md + - Software: environment.md + - Daten: storage.md + - Best Practices: best_practice.md + - Hilfe: support.md + - Internes: + - Netzwerk: internal/network.md + diff --git a/docs/result b/docs/result new file mode 120000 index 0000000..2d649e3 --- /dev/null +++ b/docs/result @@ -0,0 +1 @@ +/nix/store/8v3r668x18fl49yx2s41yzs0qx9cn24d-docs \ No newline at end of file diff --git a/flake.nix b/flake.nix index 0d3178c..e64b7f3 100644 --- a/flake.nix +++ b/flake.nix @@ -120,6 +120,7 @@ openssh sops age + mkdocs ]); shellHook = '' diff --git a/machines/manager/docs.nix b/machines/manager/docs.nix new file mode 100644 index 0000000..b19e57d --- /dev/null +++ b/machines/manager/docs.nix @@ -0,0 +1,17 @@ +{ pkgs, lib, ... }: + +with lib; + +let + docs = pkgs.callPackage ../../docs { }; + +in +{ + services.nginx = { + virtualHosts = { + "docs.${config.networking.domain}" = { + locations."/".root = docs; + }; + }; + }; +} diff --git a/packages/pdt/.gitignore b/packages/pdt/.gitignore new file mode 100644 index 0000000..8ac20e4 --- /dev/null +++ b/packages/pdt/.gitignore @@ -0,0 +1,3 @@ + +# nixago: ignore-linked-files +/.sops.yaml \ No newline at end of file