Gemeinsame Datennutzung

Dieser Artikel beschreibt, wie Sie Daten in Ihren KISSKI-Projekten mit anderen teilen können.

Es gibt verschiedene Werkzeuge, mit denen Sie Ihre Daten mit anderen Personen teilen können. Das Tool rsync erfordert wenig Einrichtungsaufwand und rclone ist gut geeignet, um Daten an andere Dienste wie Owncloud weiterzugeben:

  1. Rsync: Einfaches Kopieren auf den lokalen Rechner
  2. Rclone: Kopieren in die Owncloud
  3. Tmux: Kopieren mit langer Dauer

💎 Zusätzliche Hilfeabschnitte für den Fall, dass Sie einen bestimmten Schritt debuggen müssen, sind mit einem Diamanten gekennzeichnet.

Rsync: Grundlegendes Kopieren auf den lokalen Rechner

Vom Cluster zum entfernten Rechner

Das Tool rsync ist eine gute Möglichkeit, Dateien zwischen zwei entfernten Systemen auszutauschen. Um Dateien von Emmy auf Ihren lokalen Rechner zu kopieren, verwenden Sie folgendes in der Shell auf Ihrem lokalen Rechner:

rsync [FROM WO] [TO WO]

rsync -rpt nibsommr@glogin.hlrn.de:/home/nibsommr/deep-learning-with-gpu-cores/ .

mit den nützlichen Flags:

Ersetzen Sie nibsommr durch Ihren NHR-Benutzernamen. Dies kopiert das Repository deep-learning-with-gpu-cores an die aktuelle Stelle in der Shell, angegeben durch ..

💎 Wenn Sie Probleme haben, benutzen Sie das Verbose-Flag -vv, um mehr Ausgaben darüber zu erhalten, was falsch gelaufen ist.

💎 Es könnte sein, dass Sie Ihre ssh-Schlüsseldatei explizit mit -i ~/.ssh/hlrn-key übergeben müssen, indem Sie den Pfad durch den Pfad Ihrer Schlüsseldatei ersetzen.

Vom entfernten Rechner zum Cluster

Um eine Datei von Ihrem lokalen Rechner in den Cluster zu kopieren, führen Sie Folgendes auf dem lokalen Rechner aus:

rsync [FROM WHERE] [TO WHERE]

rsync -rpt beispiel-datei.png nibsommr@glogin.hlrn.de:/home/nibsommr/".

Verwenden Sie die Syntax von vorhin und vertauschen Sie Quelle und Ziel.

RClone: Kopieren nach Owncloud

Um Daten von und zu owncloud zu kopieren, können Sie Rclone als Client verwenden.

Setup

Auf dem Cluster führen Sie rclone config aus und konfigurieren Sie wie folgt (setup options):

- new remote
- name: owncloud
- 40 (Webdav)
- url: https://owncloud.gwdg.de/remote.php/nonshib-webdav
- 2: owncloud
- user name - the one you use for owncloud (e.g., single sign-on)
- password - the one used for owncloud
- no bearer token
- no editing advanced config necessary
- quit config (q)

💎 Um Ihre Konfiguration zu testen, führen Sie aus rclone lsd owncloud: und Sie sollten alle Verzeichnisse Ihrer Owncloud sehen.

Dateien vom Cluster in die Owncloud kopieren

Nehmen wir an, Sie wollen den Ordner auf dem Cluster /home/nibsommr/deep-learning-with-gpu-cores in den Ordner test in Owncloud kopieren:

rclone [FROM WHERE] [TO WHERE]

rclone copy -v /home/nibsommr/deep-learning-with-gpu-cores/ owncloud:test

Ähnlich und der Vollständigkeit halber: Um einen Ordner von Owncloud auf den Cluster zu kopieren, vertauschen Sie die Reihenfolge der Argumente: Kopieren des Ordners Hackathon von Owncloud in das lokale Repository auf dem Cluster:

```rclone [FROM WHERE] [TO WHERE]``

rclone copy -v owncloud:Hackathon .

Owncloud-Ordner freigeben

Sobald Sie die Daten aus dem Cluster in Owncloud hochgeladen haben, können Sie sie für Kollegen freigeben, die keinen Zugang zum Cluster haben. Gehen Sie dazu auf https://owncloud.gwdg.de und klicken Sie auf das Freigabesymbol neben dem Ordner, den Sie freigeben möchten. Sie können die Freigabe mit Benutzern und Gruppen verwenden (wenn die anderen Benutzer ebenfalls Zugriff auf Owncloud haben) oder auch eine öffentliche Freigabe für Personen verwenden, die keinen Zugriff auf Owncloud haben.

Tmux: Kopieren mit langer Dauer

Das Kopieren kann länger dauern, wenn Sie sehr viele Dateien haben. In diesem Fall kann es problematisch sein, dass der Prozess abbricht, sobald Sie die Shell schließen, von der aus Sie ihn gestartet haben! Sie können tmux verwenden, um dies zu kompensieren.

Einrichtung

Das Tool tmux ist bereits auf dem Cluster installiert. Für Ihren lokalen Rechner müssen Sie es möglicherweise installieren.

Starten einer Sitzung

Eine “tmux”-Sitzung ist eine Gruppe von Shell-Fenstern. Wenn Sie die Sitzung verlassen, werden Programme, die in dieser Sitzung laufen, weiterhin ausgeführt. So kann der Kopiervorgang in einer tmux-Sitzung gestartet werden, Sie können die Shell schließen und der Kopiervorgang wird fortgesetzt. Um eine neue Sitzung namens copying zu starten, führen Sie

tmux new -s Kopieren

💎 Um Ihre aktiven Sitzungen zu sehen, führen Sie aus tmux ls und Sie werden Ihre Sitzungen mit ihrem Erstellungsdatum sehen.

Anhängen von Sitzungen

Eine Sitzung anhängen bedeutet, eine tmux-Sitzung an Ihr aktuell geöffnetes Terminal anzuhängen.

Um an eine Sitzung anzuhängen, führen Sie

tmux attach -t Kopieren

wobei copying der Name Ihrer Sitzung ist.

💎 Wenn Sie sessions should be nested with care, unset $TMUX to force erhalten, bedeutet das, dass Sie sich bereits in einer Sitzung befinden! Wahrscheinlich möchten Sie (wenn Sie nichts Ausgefallenes vorhaben) zuerst die aktuelle Sitzung löschen und dann die Sitzung Ihrer Wahl hinzufügen.

Kopieren ausführen

Innerhalb der angehängten Sitzung können Sie nun den Kopiervorgang starten (mit rsync oder rclone wie in den obigen Kapiteln beschrieben).

Deattaching und Schließen von Sitzungen

Um Ihr aktuelles Terminal von der tmux Sitzung zu trennen, drücken Sie ctrl + b + d. Der Kopiervorgang, den Sie innerhalb der Sitzung gestartet haben, wird fortgesetzt.

Sie können die Sitzung wieder verbinden

Um eine Sitzung zu löschen, führen Sie

tmux ls

um alle Ihre Sitzungen aufzulisten und

tmux kill-session -t copying

mit copying als Name der Sitzung, die Sie beenden wollen.

Indem Sie den Kopiervorgang in eine tmux-Sitzung verpacken, können Sie sicherstellen, dass der Kopiervorgang auch dann noch fortgesetzt wird, wenn Sie Ihr Terminal geschlossen haben. Für einen vollständigen Überblick über weitere tmux-Befehle finden Sie hier und hier ein hilfreiches Tutorial.