Meine Laufwerke und das Zubehör
An meinem Pi 4 hängen eine Samsung T5 mit 1 TB als Hauptlaufwerk und eine Seagate-HDD mit 2 TB für die Sicherungen. Beide Laufwerke verwenden ext4. In der Liste sind die Samsung T9 und die 8-TB-BarraCuda als Alternativen zu diesen beiden Laufwerken verlinkt.
Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.
-
ICY BOX IB-377U3
USB-Gehäuse für die 3,5-Zoll-SATA-HDD.
Bei Amazon.de ansehen (Werbelink) -
Samsung Portable SSD T9 · 1 TB
Alternative zur Samsung T5 als Hauptspeicher.
Bei Amazon.de ansehen (Werbelink) -
Seagate BarraCuda · 8 TB
Alternative zur eingebauten 2-TB-HDD fürs Backup.
Bei Amazon.de ansehen (Werbelink) -
Brennenstuhl Premium-Line · 6
Steckdosenleiste mit sechs Anschlüssen und Überspannungsschutz.
Bei Amazon.de ansehen (Werbelink)
Komponentenbilder · KI-Illustrationen
Laufwerke einhängen und prüfen
Bei mir sind die Laufwerke über ihre Labels in /etc/fstab eingetragen. Mit diesen Befehlen siehst du, welche Geräte tatsächlich an den beiden Pfaden eingehängt sind. Prüfe das vor dem Einrichten der Freigabe oder des Backups und nach einem Neustart.
Die beiden Beispielzeilen gehen von bereits formatierten ext4-Laufwerken aus. Gleiche die Labels zuerst mit lsblk -f ab, lege die Zielordner an und ergänze die Zeilen in /etc/fstab. Bereits vorhandene Einträge für dieselben Pfade bearbeitest du an Ort und Stelle.
LABEL=ssd1tb /media/ssd1tb ext4 defaults,nofail 0 2
LABEL=backup /media/backup ext4 defaults,nofail 0 2lsblk -f
sudo mkdir -p /media/ssd1tb /media/backup
sudo mount /media/ssd1tb
sudo mount /media/backup
findmnt --mountpoint /media/ssd1tb
findmnt --mountpoint /media/backup
Die SSD über Samba freigeben
Meine Freigabe heißt SSD1TB und zeigt auf /media/ssd1tb. Installiere bei Bedarf das Paket samba. Der Beispielabschnitt gehört in /etc/samba/smb.conf. Ersetze nasuser durch deinen vorhandenen Linux-Benutzer mit Schreibrechten auf der SSD und leg für ihn ein Samba-Kennwort an. Unter Linux Mint öffnest du die Freigabe im Dateimanager über smb://HOSTNAME/SSD1TB. Ersetze HOSTNAME durch den Namen oder die LAN-IP deines Pi.
[SSD1TB]
path = /media/ssd1tb
read only = no
guest ok = no
valid users = nasusersudo smbpasswd -a nasuser
sudo testparm -s && sudo systemctl reload smbdSicherungsstände mit rsnapshot
rsnapshot sichert bei mir die SSD auf die zweite Platte. Installiere bei Bedarf das Paket rsnapshot. Ergänze oder bearbeite die folgenden Einträge in /etc/rsnapshot.conf und trenne die Felder mit Tabulatoren. Die Zeile mit backup gehört einmal in die Datei. Dieses Beispiel sichert die Dateien auf der SSD. Für die openHAB-Konfiguration brauchst du eine eigene Sicherung, sofern sie außerhalb der SSD liegt.
snapshot_root /media/backup/rsnapshot/
no_create_root 1
retain daily 7
retain weekly 4
retain monthly 6
retain yearly 3
backup /media/ssd1tb/ localhost/mountpoint -q /media/backup && sudo mkdir -p /media/backup/rsnapshot
sudo rsnapshot configtest
sudo rsnapshot -t daily
Cron startet die Sicherung. Die retain-Zeilen bestimmen, wie viele Stände pro Stufe aufgehoben werden. In diesem Beispiel testet jeder Auftrag zuerst die beiden Einhängepunkte. Treffen mehrere Stufen zusammen, laufen die selteneren zuerst. Prüfe nach dem Einrichten, ob die Jobs tatsächlich gelaufen sind. Den Beispielzeitplan trägst du in Roots Crontab ein. sudo crontab -e
0 0 1 1 * /usr/bin/mountpoint -q /media/ssd1tb && /usr/bin/mountpoint -q /media/backup && /usr/bin/rsnapshot yearly
0 1 1 * * /usr/bin/mountpoint -q /media/ssd1tb && /usr/bin/mountpoint -q /media/backup && /usr/bin/rsnapshot monthly
0 2 * * 0 /usr/bin/mountpoint -q /media/ssd1tb && /usr/bin/mountpoint -q /media/backup && /usr/bin/rsnapshot weekly
0 3 * * * /usr/bin/mountpoint -q /media/ssd1tb && /usr/bin/mountpoint -q /media/backup && /usr/bin/rsnapshot dailyEine Datei probeweise zurückholen
Ich habe eine kleine Datei aus daily.0 in einen privaten Testordner kopiert und mit cmp bytegenau gegen den Sicherungsstand verglichen. Der Test war erfolgreich. Wähle für deinen Test eine bekannte Datei aus dem Sicherungsstand und öffne die zurückgeholte Kopie. Der Testordner liegt außerhalb der Freigabe.
snapshot=/media/backup/rsnapshot/daily.0/localhost
file="$snapshot/path/to/file"
target=$(mktemp -d "$HOME/nas-restore-test.XXXXXX")
sudo install -m 0600 -o "$(id -u)" -g "$(id -g)" -- "$file" "$target/restored-file" &&
sudo cmp -- "$file" "$target/restored-file" && printf "%s\n" "$target/restored-file"openHAB separat sichern
Die openHAB-Konfiguration und die Nutzerdaten liegen bei mir außerhalb der NAS-SSD. Dafür erstelle ich eigene ZIP-Archive mit openhab-cli backup direkt auf der Backup-HDD. Der Wochenjob ist für Sonntag um 07:00 Uhr eingerichtet und behält die letzten acht Wochenarchive. Vor größeren Änderungen lege ich ein separates manuelles Archiv an.
Beim manuellen Testlauf hat unzip -tq das Wochenarchiv geprüft. Die ZIP-Prüfung bestätigt, dass das Archiv lesbar ist. Eine vollständige openHAB-Wiederherstellung steht noch aus.



