README.md |
NAS Setup
Hardware
- RPI 4
- Optional: kleine SSD/nvme für RPI OS
- Festplatten für Daten (spinning metal/HDD)
- Case für Festplatten, Stromversorgung usw
Software/Setup
-
RPI OS (NixOS weil reproduzierbar?)
-
Stromverbrauch möglichst gering (HDD nach Inaktivität stoppen)
-
Wie viele Festplatten -> Welches RAID Level (am einfachsten: 2 Platten, RAID 1 -> 1:1 Kopie auf beiden Platten)
-
Verschlüsselung (wie entschlüsseln? Muss ggf immer manuell sein, aber wie, wenn man nicht zuhause ist?)
-
Integrity: Bei Bitrot erkennen, welche der beiden RAID Disks den fehlerfreien Stand hat und wiederherstellen
-
Filesystem? ext4 wäre naiv, Next Gen FS (btrfs/zfs mit CoW, data deduplication, atomic snapshots usw bestimmt cool)
-
Unterschiedliche Setups skizzieren, aufsetzen und Performance testen (hauptsächlich read/write)
-
Inkrementelle Backups: Nur beim initialen Backup müssen alle Daten einmal kopiert werden. Danach sollten nur noch veränderte Daten gesynct werden, dass es schneller geht
-
Wie oft Backups erstellen ("kleine Sachen" wie Gitea, mozilla sync, mailserver täglich, große Sachen wie Nextcloud wöchentlich? Hier messen, wie lange die Backups wirklich brauchen)
-
Versionierte Backups, um auch ältere Stände wieder herstellen zu können (Retention Policy? Für die letzten 2 Wochen täglich, für den aktuellen Stand stündlich, für das letzte Jahr monatlich und für immer ein jährliches Backup?)
Sicherheit und Berechtigungen
- NAS muss sich Backup vom Server holen/pullen und nicht vom Server and NAS pushen. Sonst könnte ein potentiell kompromittierter Server ggf alte Backups löschen.
- Append Only Backups. Alte Backups und Daten dürfen nicht ohne weiteres gelöscht oder überschrieben werden können.
Andere TODOs
- Server aufräumen, ggf sogar mal wieder komplett sauber und neu aufsetzen