Inhaltsverzeichnis:

ramdisk2023.jpg

Eine RAM-Disk kann die Arbeitseffizienz verbessern, da sie schnellere Zugriffszeiten als traditionelle Festplatten oder SSDs bietet. Da der Arbeitsspeicher (RAM) deutlich schneller ist als jedes andere Speichermedium, kann eine RAM-Disk Daten schneller lesen und schreiben, was die Gesamtleistung des Systems verbessert.

Ein Beispiel wäre, wenn Sie häufig grosse Dateien lesen und schreiben, wie beispielsweise bei Datenbanken, Video- und Audiobearbeitung oder dem Rendern von 3D-Modellen. Durch das Speichern dieser Dateien auf einer RAM-Disk kann die Zugriffszeit signifikant verbessert werden, was zu einer schnelleren Gesamtleistung führt.

Es ist jedoch zu beachten, dass die Daten auf einer RAM-Disk bei einem Neustart oder einem Stromausfall verloren gehen, daher müssen regelmässig Sicherungen gemacht werden.

Was ist eine RAM-Disk ?

Eine RAM-Disk (auch bekannt als virtueller RAM-Laufwerk) ist ein virtuelles Laufwerk, das auf dem Arbeitsspeicher (RAM) des Computers erstellt wird, anstatt auf einer Festplatte oder SSD gespeichert zu werden. Es bietet eine schnellere Zugriffszeit als traditionelle Speichermedien, aber die Daten gehen verloren, wenn der Computer ausgeschaltet wird.

Wie kann man unter Microsoft-Windows eine RAM-Disk erzeugen?

Unter Windows kann man eine RAM-Disk erstellen, indem man eine Drittanbietersoftware verwendet, wie zum Beispiel:

  • ImDisk Toolkit:
    Ein kostenloses und einfach zu verwendendes Tool zur Erstellung einer RAM-Disk.

  • SoftPerfect RAM Disk:
    Ein weiteres kostenloses Tool mit erweiterten Funktionen, wie z.B. die Fähigkeit, die RAM-Disk als virtuelles Laufwerk zu speichern.

  • Prime95:
    Ein weiteres kostenloses Tool, das auch als Benchmark-Software verwendet wird, bietet die Möglichkeit, eine RAM-Disk zu erstellen.

Nach der Installation der Software müssen Sie die Grösse und den Pfad der RAM-Disk definieren und die Software kann die RAM-Disk für Sie erstellen.

Zurück zur Übersicht


Wie kann man unter Linux eine RAM-Disk erzeugen?

Unter Linux kann man eine RAM-Disk erstellen, indem man das “tmpfs” Dateisystem verwendet.
Hier ist ein Beispiel:

  1. Erstellen Sie ein Verzeichnis für die RAM-Disk:
    sudo mkdir /mnt/ramdisk
    
  2. Mounten Sie das “tmpfs” Dateisystem auf das Verzeichnis:
    sudo mount -t tmpfs -o size=512M tmpfs /mnt/ramdisk/
    

In diesem Beispiel wird ein tmpfs-Dateisystem mit einer Grösse von 512 MB auf das Verzeichnis “/mnt/ramdisk” gemountet. Die Grösse kann angepasst werden, um Ihren Bedarf zu erfüllen.

Um die RAM-Disk automatisch beim Booten zu erstellen, können Sie die mount-Befehle in die Datei “/etc/fstab” hinzufügen.

Ich habe bei mir in der Regel mindestens 2GB RAM-Disk. Auf meinem normalen Arbeitsrechner habe ich 64GB RAM zur Verfügung, d.h. hier nehme ich 10GB RAM als RAM-Disk. Weil ich möchte, dass beim ausschalten des Computers die RAM-Disk automatisch gelöscht wird, schreibe ich diese in den Ordner /tmp. Der Befehl dazu sieht wie folgt aus:

sudo mount -t tmpfs -o size=10G tmpfs /tmp/ramdisk/

Eine RAM-Disk ist für mich einfach ein schneller Speicher, in welchem ich meine täglichen Dokumente bearbeite. Erst wenn die Arbeit abgeschlossen ist, wird die korrekt in das Filesystem an den korrekten Ort verschoben.

Zurück zur Übersicht


RAM-Disk alle 10 Minuten automatisch sichern

Für das Speichern der RAM-Disk in ein Ordner auf einer SSD hätte ich gerne erst einmal, dass zwei Bedingungen geprüft werden:

  1. Ist der Zielordner überhaupt vorhanden? Mein Zielordner /data/aktuell/backup-ramdisk befindet sich auf einer vollständig verschlüsselten SSD, welche erst nach der Eingabe des korrekten Passwortes als /data gemountet wird. Wurde die SSD von mir nicht gemountet, steht der Ordner /data/aktuell/backup-ramdisk nicht zur Verfügung und damit macht es kein Sinn, dass eine Sicherungskopie der RAM-Disk durchgeführt wird.

  2. Wenn auf der RAM-Disk keine Daten vorhanden sind, braucht das Skript nicht ausgeführt zu werden.

Das nachstehende Skript speichert mir meine RAM-Disk aus dem temporären Ordner /tmp/ramdisk auf eine SSD in den Ordner /data/aktuell/backup-ramdisk.

#!/bin/bash

RAMDISK_DIR="/tmp/ramdisk"
BACKUP_DIR="/data/aktuell/backup-ramdisk"

if [ ! -d "$RAMDISK_DIR" ]; then
  echo "Error: RAM disk directory does not exist."
  exit 1
fi

if [ -z "$(ls -A $RAMDISK_DIR)" ]; then
  echo "RAM disk directory is empty, no backup required."
  exit 0
fi

if [ ! -d "$BACKUP_DIR" ]; then
  echo "Creating backup directory."
  mkdir -p "$BACKUP_DIR"
fi

echo "Backing up data from RAM disk to $BACKUP_DIR"
cp -r "$RAMDISK_DIR/." "$BACKUP_DIR"

Ich hatte mich für die «Sicherheitskopie» absichtlich auf den Befehl cp (Kopie) entschieden. Ich will einfach alles, was ich so den ganzen Tag arbeite, dorthin einfach rein geschrieben wird, ohne Berücksichtigung ob es Sinn macht oder nicht. Möchte man das nicht, könnte man den Befehl cp mit bspw. rdiff austauschen udn die gewünschten Optionen, bspw. wegen überschreiben oder löschen mitgeben.

Nun wäre es noch schön, wenn das Skript bspw. alle 10 Minuten von selbst ausgeführt wird. Ist der Arbeitsrechner nicht an einem USV angeschlossen oder hat man dem Laptop vergessen gehabt, den Strom anzuschliessen und der Akku vom Laptop ist am Ende, sollten dennoch die Daten «irgendwo» regelmässig gespeichert werden. Dies kann man mit Hilfe eines Cronjobs ganz gemütlich bewerkstelligen.

  1. Cronjob editieren:
    crontab -e
    
  2. Sich den Eintrag setzen, dass alle 10 Minuten das entsprechende Skript ausgeführt werden soll.
    */10 * * * * /bin/bash /usr/bin/eigene/backup-ramdisk.sh
    
Zurück zur Übersicht