Lokales / Temporäres Arbeitsverzeichnis auf Notebooks
Inhaltsverzeichnis
Für Aufgaben wie z.Bsp. Videoschnitt o.ä. ist das Bearbeiten der oft sehr großen Dateien via NFS (im Home-Verzeichnis) nicht performant genug. Die Dateien müssen auf disk-full Workstations (z.Bsp. Notebooks) lokal bearbeitet werden. Hierfür benötigen wir ein (großes) Verzeichnis, in das SuS temporär Dateien kopieren können. Ein solches Verzeichnis nennen wir "Scratch-Verzeichnis".
Erstellen eines Scratch-Verzeichnisses (als Admin)
Ermitteln des verfügbaren Speicherplatzes
Auf Debian Edu Workstations wird bei Installation die Volume Group vg_system erstellt. In dieser Volume Group werden wir jetzt ein weiteres Logisches Volume erstellen. Vorerst schauen wir nach, wieviel Speicherplatz in der Volume Group vg_system noch verfügbar ist:
$ sudo vgdisplay --- Volume group --- VG Name vg_system System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 8 VG Access read/write VG Status resizable MAX LV 0 Cur LV 4 Open LV 4 Max PV 0 Cur PV 1 Act PV 1 VG Size 464,80 GiB ^^^^^^^^^^ -> Größe der Volume Group PE Size 4,00 MiB Total PE 118990 Alloc PE / Size 9794 / 38,26 GiB ^^^^^^^^^^^^^^^^ -> von Logischen Volumes bereits genutzt Free PE / Size 109196 / 426,55 GiB ^^^^^^^^^^^^^^^^^^^ -> noch nicht zugewiesener Speicherbereich, verwendbar als /scratch Verzeichnis VG UUID dWJUkT-LfYt-ccad-LTSU-kVLL-7hAo-BRKrT2
Idealerweise wird nicht der komplett verfügbare Speicherplatz dem Scratch-Volume zur Verfügung gestellt, sondern nur ein Teil davon. Eben gerade soviel, wie ca. benötigt wird.
Logisches Volume anlegen und einbinden
Mit den folgenden Befehlen kann ein/e Benutzer/in mit Administrationsrechten das Scratch-Verzeichnis dem System hinzufügen:
$ sudo lvcreate vg_system -n scratch -L 200G $ sudo mkfs.ext4 /dev/vg_system/scratch $ sudo editor /etc/fstab
In der Datei /etc/fstab wird eine Zeile hinzugefügt, die dafür sorgt, dass beim Neustart des Rechners das /scratch-Verzeichnis automatisch gemountet (eingehängt) wird:
diff --git a/fstab b/fstab index fbe8f41..4cbfdd5 100644 --- a/fstab +++ b/fstab @@ -11,4 +11,5 @@ none /tmp tmpfs defaults,nosuid 0 0 UUID=0bb8f8b2-6afd-4a84-999e-cad01a123986 /boot ext4 defaults 0 2 /dev/mapper/vg_system-usr /usr ext4 defaults 0 2 /dev/mapper/vg_system-swap_1 none swap sw 0 0 +/dev/mapper/vg_system-scratch /scratch ext4 defaults 0 2
Das oben dargestellte .diff bedeutet, dass folgende Zeile an /etc/fstab angehängt werden muss:
/dev/mapper/vg_system-scratch /scratch ext4 defaults 0 2
Schließlich muss noch das Verzeichnis /scratch erstellt werden und das neue Logische Volume muss an der Stelle ins System eingehängt werden (bei Anlegen des Verzeichnisses muss das Einhängen einmalig von Hand gemacht werden, später erfolgt das Einhängen beim Systemstart):
$ sudo mkdir /scratch $ sudo mount -a
Zu allerletzt muss das /scratch-Verzeichnis noch als "temporäres" Verzeichnis deklariert werden:
$ sudo chmod 1777 /scratch/
In temporären Verzeichnissen ist es Benutzern möglich, Verzeichnisse zu erstellen, in die nur sie selbst hinschreiben dürfen. Andere Benutzer/innen können im selben temporären Verzeichnis auch Ordner erstellen, man darf aber immer nur den eigenen Ordner wieder entfernen. Dadurch sind die temporär erstellten pro-Benutzer-Verzeichnisse vor jeweils anderen Benutzern vor Löschen geschützt. Auch die Dateirechte auf den erstellen Ordnern können die Nutzer/innen frei wählen (vergl. chmod Befehl an der Kommandozeile).
Scratch-Verzeichnis im Unterricht benutzen
Das /scratch-Verzeichnis sollte zum Beispiel für Projekte via Videoschnitt, Audio-Sampling, aufwändige Bildbearbeitung u.v.m im Unterricht verwendet werden.
Neues Benutzer-Verzeichnis erstellen
Terminal öffnen, darin dann diese Eingaben tätigen:
$ cd /scratch $ mkdir <username>
Unterhalb von /scratch/<username> kann der/die Benutzer/in jetzt Dateienn und Ordner ablegen bzw. erstellen. Diese Dateien werden nicht im Netzwerk gespeichert, also nicht zentral aufbewahrt. Es sind temporäre Arbeitsdaten!!!
Daten ins HOME kopieren
Nach Abschluss einer Arbeitseinheit / Unterrichtsstunde müssen:
alle Daten von /scratch/<username> ins HOME-Verzeichnis (oder einen anderen Ordner im Netzwerk) kopiert bzw. verschoben werden
der Ordner /scratch/<username> wieder gelöscht werden:
$ rm -Rfv /scratch/<username>
Arbeit am Projekt fortsetzen
Sollen Arbeiten an bereits erstellten Dateien fortgesetzt werden, dann wird empfohlen:
Dateien unter /scratch/<username> entweder löschen oder "aus dem Weg räumen" (d.h. Dateien in Unterordner verschieben oder Arbeitsordner umbenennen)
dann die bereits erarbeiteten Daten vom HOME zurück kopieren nach /scratch/<username>
- Arbeit Projekt fortsetzen
- nach Abschluss der Arbeitseinheit, Daten wieder zurück ins HOME kopieren
Wichtig: Bitte darauf achten, dass im HOME der Schüler/innen nicht unendlich viele Kopien des gleichen Projekts abgelegt werden. Bitte sorgsam mit den Speicherressourcen im Schulnetzwerk umgehen.
Wartungsaufgaben (für den Admin)
Aktuell werden die Dateien und Ordner unter /scratch nicht automatisch gelöscht oder archiviert. Ein Schul-Admin kann den Ordner mit folgendem Befehl in den Ausgangszustand zurückversetzen:
sudo rm -Rfv /scratch/*