Files
Homelab--Bratonein-Kontroll…/Kapitel 8/Free Rohtext.md

394 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Kapitel 8 Duplicati GUI-gestütztes Backup nach der 3-2-1-Regel
## 1. Einleitung
Backups gehören zu den wichtigsten Grundlagen im UCC.
Dieses Kapitel zeigt dir, wie du mit **Duplicati** ein sicheres und komfortables Backup-System einrichtest.
Duplicati ist eine **Open-Source-Backup-Software mit Web-GUI**, die für Einsteiger verständlich bleibt, aber genug Funktionen für große Datenmengen bietet.
### Warum Duplicati?
- **GUI-basiert:** Die gesamte Einrichtung und Verwaltung erfolgt bequem im Browser.
- **Verschlüsselung & Komprimierung:** Schützt Daten und spart Speicherplatz.
- **Inkrementelle Sicherung:** Nach dem ersten Backup werden nur geänderte Teile übertragen.
- **Breite Speicherziel-Unterstützung:** Lokale Platten, NAS, externe USB-Disks und Cloud-Dienste wichtig für die **3-2-1-Regel**.
- **Flexible Anpassung:** Für große Archive wie VOD-Sammlungen können wir im Premium-Teil die **Blockgröße anpassen** und Workarounds zur Beschleunigung nutzen.
### Die 3-2-1-Regel
Für ein wirklich belastbares Backup brauchst du:
- **3 Kopien** der Daten
→ 1 × Original + 2 × Backup
- auf **2 unterschiedlichen Speichermedien**
→ z. B. interne HDD + NAS oder USB-HDD
- davon **1 Kopie außer Haus**
→ z. B. Cloud-Speicher oder extern gelagerte Festplatte
[!WARNING]
RAID ersetzt kein Backup.
Brand, Diebstahl oder Malware betreffen alle Laufwerke im selben Gerät nur getrennte Speicherorte schützen.
### Für wen dieses Kapitel gedacht ist
Wir bleiben bei der gewohnten Zielgruppe: Content-Creator und Privatanwender ohne tiefes Linux-Wissen.
Deshalb zeigen wir alle Schritte in der **Web-GUI von Duplicati**.
CLI-Befehle werden nur dann benötigt, wenn sie klare Vorteile bringen (z. B. optimierte Blockgröße).
Diese Sonderfälle behandeln wir im **Premium-Kapitel** und liefern sie als fertige Befehle, sodass du nichts selbst zusammensuchen musst.
[!TIP]
In Free lernst du die **Basisinstallation** und ein erstes komplettes Backup (z. B. Nextcloud).
Im Premium-Teil kommen **Performance-Optimierungen**, **selektive Sicherung** und **Workarounds für große Archive** dazu.
### Schaubild 3-2-1-Regel (Platzhalter)
[Schaubild: Quelle → lokales Backup → zweites Medium → außer Haus]
- Quelle: z. B. **Nextcloud-Daten**
- Backup 1: **schnelles lokales Repository** (z. B. interne HDD/SSD)
- Backup 2: **zweites Medium** (z. B. externe USB-HDD oder NAS)
- Außer Haus: **Cloud-Ziel** oder physisch ausgelagerte Festplatte
---
## 2. Voraussetzungen
Duplicati benötigt kein komplexes System und läuft stabil auf einer schlichten Linux-Umgebung.
Für saubere Trennung und Wartbarkeit setzen wir wie gewohnt auf einen **eigenen LXC-Container mit Debian 12**.
### 2.1 Minimale Systemressourcen des Containers
- **Betriebssystem:** Debian 12
- **CPU:** 2 Kerne
- **RAM:** 4 GB (empfphlen nicht weniger)
- **Root-Speicher:** 10 GB für Programm, Logs und Metadaten
- **Netzwerk:** DHCP mit **Reservierung im Router** (innerhalb des DHCP-Pools, siehe Kapitel 1)
- **Backup-Speicherort:**
- lokales Verzeichnis auf dem Proxmox-Host (z. B. `/mnt/backups/`) oder
- eingehängte externe HDD / NAS-Freigabe
[!WARNING]
Plane für das Backup-Ziel **mindestens 120 % der Datenmenge** ein, die du sichern möchtest.
Für inkrementelle Versionen und wachsende VOD-Archive ist dieser Puffer wichtig.
### 2.2 Voraussetzungen im UCC-Netzwerk
- Ein laufender **Proxmox-Host** mit Internetzugang
- Zugriff auf den geplanten Backup-Speicherort (lokal oder im Netzwerk)
- Bereits eingerichteter **Nginx Proxy Manager** (Kapitel 3), falls die Duplicati-Web-GUI später unter einer Domain und per HTTPS erreichbar sein soll
### 2.3 Sicherheit
Duplicati verschlüsselt Backups optional mit AES-256.
Das **Passwort** für die Verschlüsselung darf **nicht verloren gehen** ohne dieses ist keine Wiederherstellung möglich.
Wir empfehlen, das Passwort in **Vaultwarden** (Kapitel 5) zu speichern.
[!TIP]
Wer von Anfang an die **3-2-1-Regel** umsetzen will, plant gleich zwei Ziele ein:
1. ein **schnelles lokales Backup-Ziel** (z. B. interne HDD oder NAS)
2. ein **zweites Medium oder Cloud-Speicher** für die Kopie außer Haus
---
## 3. Installation von Duplicati (Debian 12)
Duplicati läuft in einem eigenen LXC-Container mit Debian 12.
Wir bereiten den Container vor und installieren anschließend das aktuelle .deb-Paket.
### 3.1 Container vorbereiten
1) Öffne das **Proxmox-Webinterface**, wähle links den **Duplicati-Container** und öffne die **Konsole**.
👉 Screenshot geeignet: Proxmox Container auswählen und Konsole geöffnet
2) Führe in der Konsole folgende Befehle aus, um das System zu aktualisieren und die benötigten Hilfspakete zu installieren:
```bash
apt update && apt upgrade -y
apt install -y wget ca-certificates
```
👉 Screenshot geeignet: Konsole nach erfolgreichem Update und Installation
### 3.2 Duplicati herunterladen und installieren
1) Öffne auf deinem **PC-Browser** die Seite
[https://www.duplicati.com/download](https://www.duplicati.com/download)
👉 Screenshot geeignet: Duplicati-Downloadseite mit sichtbarem Bereich „Linux 64-bit (GUI)“
2) Kopiere beim Eintrag **Linux 64-bit (GUI)** den Link der aktuellen Stable-Version (z. B. `duplicati-2.1.x.x_linux-x64-gui.deb`).
3) Lade die Datei im Container in das Verzeichnis `/tmp` herunter:
```bash
cd /tmp
wget <HIER_DEN_KOPIERTEN_LINK_EINFÜGEN>
```
👉 Screenshot geeignet: Konsole Download mit `wget` erfolgreich abgeschlossen
4) Installiere das Paket und ziehe bei Bedarf fehlende Abhängigkeiten nach:
```bash
dpkg -i <NAME_DER_DATEI>.deb
apt-get install -f -y
```
5) Prüfe die Installation:
```bash
duplicati-server --version
```
👉 Screenshot geeignet: Konsole Anzeige der installierten Duplicati-Version
[!WARNING]
Duplicati bietet **kein** statisches „latest“-Paket.
Immer den konkreten Link der aktuellen Stable-Version von der Downloadseite verwenden.
[!TIP]
Nach der Installation ist die Web-GUI unter
`http://<Container-IP>:8200`
erreichbar.
### 3.3 Duplicati in Nginx Proxy Manager einbinden
Öffne den **Nginx Proxy Manager** und lege einen neuen Proxy-Host für Duplicati an.
1) **Anmelden** im NPM-Dashboard
👉 Screenshot geeignet: NPM Dashboard
2) Klick auf **Add Proxy Host**
3) Trage folgende Werte ein:
| Feld | Wert / Auswahl |
|--------------------------------|-----------------------------------------|
| **Domain Names** | `backup.deinedomain.tld` |
| **Scheme** | `http` |
| **Forward Hostname / IP** | IP-Adresse des Duplicati-Containers |
| **Forward Port** | `8200` |
| **Block Common Exploits** | aktivieren |
| **Websockets Support** | aktivieren |
👉 Screenshot geeignet: Formular „Add Proxy Host“ mit eingetragener IP und Port 8200
4) Wechsel zu **SSL** und setze:
| Feld | Einstellung |
|-----------------------------------|---------------------------------|
| **Request a new SSL Certificate** | aktivieren |
| **Force SSL** | aktivieren |
| **HTTP/2 Support** | aktivieren |
👉 Screenshot geeignet: SSL-Tab mit aktivierter Option „Force SSL“
5) **Save** klicken, um den Proxy-Host anzulegen.
Nach wenigen Sekunden ist Duplicati über die Subdomain erreichbar, z. B.:
`https://backup.deinedomain.tld`
[!TIP]
Falls der Zugriff auch von außen möglich sein soll, Port **443** im Router auf den NPM-Host weiterleiten.
### 3.4 Ersteinrichtung der Duplicati-Web-GUI
#### 1) Aufruf der Web-Oberfläche
Öffne im Browser die zuvor eingerichtete Adresse:
`https://backup.deinedomain.tld`
Prüfe, ob das Schlosssymbol (HTTPS) angezeigt wird. Wenn die Seite nicht lädt, kontrolliere im NPM-Kapitel die Domain und das SSL-Zertifikat.
👉 Screenshot geeignet: Duplicati-Startseite mit sichtbarem HTTPS-Schloss
#### 2) Backup-Assistent starten
Klicke auf **Add backup****Configure a new backup****Next**.
Damit startest du den geführten Assistenten und vermeidest, Einstellungen zu übersehen.
👉 Screenshot geeignet: Assistent „Configure a new backup“, Schritt 1 sichtbar
#### 3) Name & Verschlüsselung setzen
- **Name:** Vergib einen klaren Namen, z. B. `Nextcloud_Full_Backup`.
- **Encrypt backup:** Aktivieren.
- **Passphrase:** Starkes, langes Passwort wählen (mind. 16 Zeichen, zufällig). In **Vaultwarden** ablegen (Kapitel 5).
[!WARNING]
Ohne die Passphrase ist **keine Wiederherstellung** möglich. Die Passphrase wird nicht „zurücksetzbar“ gespeichert.
[!TIP]
Nutze eine Passwort-Phrase (z. B. 56 zufällige Wörter) oder einen Generator in Vaultwarden. Teste die Eingabe sofort mit „Augen-Icon“ (Lesbarkeit), um Tippfehler auszuschließen.
👉 Screenshot geeignet: Formular „Name & Encryption“ mit aktivierter Verschlüsselung
#### 4) Quelle & Ziel definieren
**Quelle (Source data)**
- Klicke auf **Source data** und wähle dein Datenverzeichnis, z. B.
`/mnt/nextcloud_data`
- Achte darauf, dass gemountete Speicher bereits vorhanden sind.
**Ziel (Destination)**
- **Destination type:** `Local folder or drive`
- **Path:** z. B. `/mnt/backups/nextcloud`
- Erstelle den Ordner vorher, falls er noch nicht existiert (`mkdir -p /mnt/backups/nextcloud`).
- Klicke auf **Test connection**. Die Meldung muss **OK** sein.
[!TIP]
Halte dich an die 3-2-1-Regel: Dieses Ziel ist deine **lokale Kopie**. Eine zweite Kopie auf **anderem Medium** (z. B. USB-HDD/NAS) und **außer Haus** (z. B. Cloud) ergänzen wir später.
[!WARNING]
Wenn „Permission denied“ erscheint, fehlen Schreibrechte auf dem Zielpfad. Prüfe Mount, Besitzer und Rechte.
👉 Screenshot geeignet: Destination-Einstellungen mit Pfad und „Test connection: OK“
#### 5) Zeitplan, Aufbewahrung, Start
**Zeitplan (Schedule)**
- Stelle **täglich um 02:00 Uhr** ein.
- Aktiviere **Run missed schedule immediately**, damit verpasste Läufe nachgeholt werden.
**Aufbewahrung (Retention)**
- Wähle **Smart backup retention**. Empfohlener Start:
- 7 Tage: täglich behalten
- 4 Wochen: wöchentlich behalten
- 3 Monate: monatlich behalten
[!NOTE]
Diese Werte funktionieren für die meisten. Im Premium-Teil passen wir sie an Datenwachstum und Speicherplatz an.
**Speichern & erster Lauf**
- Klicke **Save**.
- Starte mit **Run now** den ersten Lauf. Das erste Backup dauert am längsten; Folge-Backups sind inkrementell und deutlich schneller.
- Beobachte den Fortschritt in der Übersicht (Status, Geschwindigkeit, geschriebene Daten).
👉 Screenshot geeignet: Übersichtsseite mit laufendem Job („Running…“ und Fortschrittsbalken)
### 3.5 Backup überwachen und testen
Regelmäßige Kontrolle und ein Test der Wiederherstellung sind entscheidend, um sicherzustellen, dass deine Sicherungen auch im Ernstfall funktionieren.
#### 1) Backup-Status prüfen
Öffne die Duplicati-Web-GUI unter
`https://backup.deinedomain.tld`
Die Startseite zeigt alle eingerichteten Jobs mit diesen Spalten:
- **Last successful backup:** Datum und Uhrzeit des letzten erfolgreichen Laufs
- **Next scheduled run:** Zeitpunkt des nächsten geplanten Backups
- **Last result:** grüner Haken = erfolgreich, rotes Kreuz = Fehler
👉 Screenshot geeignet: Job-Übersicht mit grünem Haken bei „Last result“
[!TIP]
Prüfe den Status mindestens einmal pro Woche.
#### 2) Benachrichtigungen per E-Mail einrichten
Damit Fehler nicht unbemerkt bleiben, solltest du dir Berichte per E-Mail senden lassen.
1) In der Web-GUI oben rechts auf **Settings → Default options** klicken.
2) Unter **send-mail-to** die eigene E-Mail-Adresse eintragen.
3) Unter **send-mail-url** den SMTP-Server deines Mail-Providers hinterlegen.
4) Benutzername und Passwort für den Mailserver ergänzen.
5) Mit **Test** prüfen, ob die Verbindung funktioniert.
👉 Screenshot geeignet: Einstellungen mit eingetragener E-Mail-Adresse und erfolgreichem Test
[!TIP]
Falls du keinen eigenen Mailserver hast, kannst du den SMTP-Dienst deines Hosting-Anbieters oder deiner Domain verwenden.
#### 3) Fehlerprotokolle einsehen
Falls ein Backup fehlschlägt:
1) Auf den entsprechenden Job klicken.
2) **Show log → Remote log** öffnen.
3) Fehlerdetails überprüfen, z. B. fehlende Rechte oder nicht erreichbare Ziele.
👉 Screenshot geeignet: Fehlerprotokoll mit Beispiel-Fehlermeldung
#### 4) Test-Wiederherstellung durchführen
Mindestens einmal nach der Einrichtung und dann regelmäßig (z. B. alle paar Monate) eine Wiederherstellung testen.
1) In der Web-GUI auf den Job klicken.
2) **Restore files** wählen.
3) Einen kleinen Ordner oder einige Dateien auswählen.
4) Zielordner für den Restore wählen (z. B. temporäres Testverzeichnis).
5) Wiederherstellung starten und prüfen, ob die Dateien vollständig und fehlerfrei sind.
👉 Screenshot geeignet: Fenster der Wiederherstellung mit ausgewählten Test-Dateien
[!NOTE]
Die Test-Wiederherstellung stellt sicher, dass sowohl die Backups als auch das gewählte Zielmedium korrekt funktionieren.
---
## 4. Troubleshooting & Tipps
Hier findest du die häufigsten Probleme und was du tun kannst, um sie schnell zu beheben.
Alle Schritte sind so beschrieben, dass sie auch ohne Vorkenntnisse leicht nachvollziehbar sind.
### 4.1 Die Web-Oberfläche öffnet sich nicht
**Symptom:**
Im Browser kommt keine Seite, wenn du `https://backup.deinedomain.tld` oder `http://<Container-IP>:8200` aufrufst.
**Lösung:**
1) Im **Proxmox-Fenster** prüfen, ob der Duplicati-Container gestartet ist.
2) Teste im Browser die direkte Adresse: `http://<Container-IP>:8200`
funktioniert das, liegt das Problem am Proxy.
3) Melde dich im **Nginx Proxy Manager** an und kontrolliere beim Eintrag für Duplicati:
- Die **IP-Adresse** des Containers ist korrekt.
- Der **Port 8200** ist richtig eingetragen.
- **Force SSL** ist aktiviert.
4) Wenn du von außerhalb zugreifst: Stelle sicher, dass im Router die Ports **80** und **443** an den NPM-Server weitergeleitet sind.
👉 Screenshot geeignet: Proxy-Host-Einstellungen in NPM mit IP und Port 8200
### 4.2 Browser meldet „Verbindung nicht sicher“
**Symptom:**
Im Browser erscheint ein Warnsymbol oder die Meldung „unsichere Verbindung“.
**Lösung:**
- Im NPM den Eintrag für Duplicati öffnen → Tab **SSL** → auf **„Request a new SSL Certificate“** klicken.
- Prüfen, ob im Router die Ports **80 und 443** freigegeben sind, damit das Zertifikat ausgestellt und erneuert werden kann.
- Seite nach der Erneuerung neu laden und ggf. Browser-Cache leeren.
### 4.3 Backup bricht ab mit „keine Berechtigung“
**Symptom:**
Der Job startet, bricht aber mit der Meldung „Permission denied“ ab.
**Lösung:**
- Prüfen, ob der Ordner, den du als Ziel gewählt hast (z. B. `/mnt/backups/nextcloud`), existiert.
- Sicherstellen, dass der Ordner nicht schreibgeschützt ist.
- Bei externen Laufwerken (z. B. USB-HDD) kontrollieren, ob das Laufwerk korrekt eingehängt ist und genügend freien Speicher hat.
👉 Screenshot geeignet: Fehlermeldung „Permission denied“ im Duplicati-Protokoll
### 4.4 Backup dauert ungewöhnlich lange
**Symptom:**
Das erste Backup braucht viele Stunden oder wirkt sehr langsam.
**Lösung:**
- Keine Sorge: **Das erste Backup dauert immer am längsten**, weil alle Dateien kopiert werden.
- Folge-Backups sichern nur die Änderungen und sind deutlich schneller.
- Bei sehr großen Datenmengen (mehr als 500 GB) kann die voreingestellte Blockgröße von 100 KB bremsen.
→ Im Premium-Kapitel zeigen wir, wie man die Blockgröße anpasst, um Zeit zu sparen.
- Prüfen, ob der Container ausreichend Ressourcen hat (mindestens **4 GB RAM**).
### 4.5 Wiederherstellung schlägt fehl
**Symptom:**
Beim Test-Restore fehlen Dateien oder es erscheint eine Fehlermeldung.
**Lösung:**
- Sicherstellen, dass die richtige **Passphrase** für die Entschlüsselung eingegeben wurde.
- Im Menü des Jobs auf **Show log → Remote log** klicken, um Fehlerdetails zu sehen.
- Prüfen, ob das Ziel-Laufwerk für die Wiederherstellung genügend freien Speicherplatz und Schreibrechte hat.
- Restore-Vorgang erneut ausführen, falls die Verbindung abgebrochen war.
👉 Screenshot geeignet: Fenster mit ausgewähltem Test-Restore und Fortschrittsanzeige
[!TIP]
Führe alle paar Monate eine kleine **Test-Wiederherstellung** durch, um sicherzugehen, dass deine Backups wirklich nutzbar sind.
## 5. Zusammenfassung
In diesem Kapitel hast du gelernt, wie du mit **Duplicati** zuverlässige Backups nach der 3-2-1-Regel einrichtest.
- Wir haben dafür einen eigenen **LXC-Container mit Debian 12** erstellt und ihm **4 GB RAM** gegeben.
- Duplicati wurde installiert und über den **Nginx Proxy Manager** per Subdomain und HTTPS erreichbar gemacht.
- Du hast gesehen, wie man mit dem **Backup-Assistenten** Schritt für Schritt einen Job anlegt:
Name vergeben, Verschlüsselung aktivieren, Quelle und Ziel auswählen, Zeitplan und Aufbewahrung einstellen.
- Die Funktion **Smart Retention** sorgt automatisch für eine saubere Versionierung der Sicherungen.
- Du weißt jetzt, wie du den **Status der Backups prüfst**, E-Mail-Benachrichtigungen einrichtest und bei Bedarf eine **Test-Wiederherstellung** durchführst.
- Im Abschnitt **Troubleshooting & Tipps** findest du Lösungen für die häufigsten Probleme.
[!TIP]
Im Premium-Kapitel lernst du, wie du **große Datenmengen optimierst** und **selektive Sicherungen** für spezielle Daten wie VOD-Archive oder Datenbanken einrichtest.
Damit ist dein Backup-System einsatzbereit und du hast den wichtigsten Teil der 3-2-1-Regel umgesetzt:
eine lokale, verschlüsselte und automatisierte Sicherung deiner Daten.