Verschlüsselter LUKS-Container

500 GB verschlüsselter LUKS-Container erstellen

Ist die Systemplatte nur 250GB, dann würde auch diese Größe ausreichen.

Übersicht

Ich erstelle eine verschlüsselte Container-Datei auf deiner unverschlüsselten Platte /dev/sda1. Der Rest der Platte bleibt normal nutzbar.

Vorteil: Backups sind verschlüsselt, andere Daten auf der Platte bleiben unverschlüsselt zugänglich.


1. Container-Datei erstellen (einmalig)

Platte einhängen (falls noch nicht gemountet):

Meine Platte wird beim Boot gemountet – also benötige ich das nicht.

sudo mkdir -p /mnt/exthdd1
sudo mount /dev/sda1 /mnt/exthdd1

Ich prüfe verfügbaren Speicherplatz:

df -h /mnt/exthdd1
  • Sicher stellen, dass mindestens 500 GB frei sind! So groß ist meine System-Platte.

Nun 2 Optionen:

Option_1. Container-Datei erstellen (dauert ca. 10-60 Minuten):

sudo dd if=/dev/zero of=/mnt/exthdd1/backup-container.img bs=1M count=512000 status=progress

Vorteile:

  • Der gesamte Speicher wird physisch mit Nullen gefüllt → garantiert, dass jede Sektorposition auf der Platte belegt ist.
  • Sicherer für einige Verschlüsselungs-Setups, da keine “nicht initialisierten” Blöcke existieren.
  • Kompatibel mit alten Systemen oder Dateisystemen, die keine Sparse-Files mögen.

Nachteile:

  • Extrem langsam (je nach Platte 10–60 Minuten oder länger für 500 GB).
  • Erzeugt sofort die volle Größe auf der Platte → blockiert Speicherplatz komplett.
  • Energie- und Schreibintensiv → verschleißt SSDs unnötig.

Tipp: Option_2. Container-Datei erstellen (sofort verfügbar):

sudo fallocate -l 500G /mnt/exthdd1/backup-container.img

Vorteile:

  • Sehr schnell, praktisch sofort angelegt.
  • Platte wird nicht physisch mit Nullen gefüllt → spart Zeit und Schreibzyklen auf SSDs.
  • Perfekt für rsync-Backups, da Sparse-Files dynamisch wachsen können (nicht verwendeter Speicher wird erst bei Bedarf belegt).

Nachteile:

  • Nicht jeder Scanner oder alte Backup-Software kann Sparse-Files korrekt erkennen.
  • Uninitialisierte Blöcke → theoretisch geringfügig unsicher, falls das Dateisystem vorher Datenreste enthält (bei LUKS aber irrelevant, da alles verschlüsselt wird).
  • Manche Tools oder Virtualisierungssysteme interpretieren Sparse-Files falsch (selten, meist nur bei exotischen Setups).

2. Container mit LUKS verschlüsseln

LUKS-Verschlüsselung einrichten:

sudo cryptsetup luksFormat /mnt/exthdd1/backup-container.img

Ich werde gefragt:

  1. Are you sure? (Type 'yes' in capital letters): → Tippe: YES (Großbuchstaben!)
  2. Enter passphrase: → Ich wähle ein sicheres Passwort
  3. Verify passphrase: → Passwort wiederholen

WICHTIG: Dieses Passwort gut merken/aufschreiben! Ohne Passwort sind meine Backups für immer verloren!


3. Container öffnen und formatieren

Container entschlüsseln und öffnen:

sudo cryptsetup open /mnt/exthdd1/backup-container.img backup-crypt

Passwort eingeben → Container erscheint als /dev/mapper/backup-crypt

Container mit Dateisystem formatieren:

sudo mkfs.ext4 -L BackupContainer /dev/mapper/backup-crypt

Erklärung:

  • ext4 = stabiles Linux-Dateisystem
  • -L BackupContainer = Label (optisch, für bessere Erkennung)

4. Container mounten und testen

Mount-Punkt erstellen:

sudo mkdir -p /mnt/backup-encrypted

Container mounten:

sudo mount /dev/mapper/backup-crypt /mnt/backup-encrypted

Test: Datei erstellen

echo "Test" | sudo tee /mnt/backup-encrypted/test.txt
cat /mnt/backup-encrypted/test.txt

Wenn „Test“ ausgegeben wird → funktioniert!

Container wieder entmounten:

sudo umount /mnt/backup-encrypted

Sicher stellen, dass ich mich nicht mehr in dem Verzeichnis /mnt/backup-encrypted befinde und auch keine Programme oder Prozesse mehr auf Dateien in diesem Verzeichnis zugreifen, da der Entmount-Vorgang sonst fehlschlagen könnte.

Sollte der Befehl fehlschlagen, weil das Verzeichnis noch „busy“ (beschäftigt) ist, kann ich versuchen, das Entmounten zu erzwingen (allerdings mit Vorsicht zu genießen):

sudo umount -f /mnt/backup-encrypted

Schließen des LUKS-Geräts:

sudo cryptsetup close backup-crypt