nas-setup/README.md
2024-03-04 17:15:26 +01:00

35 lines
2.0 KiB
Markdown

# NAS Setup
## Hardware
- [x] 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
- [ ] Benchmarks: Welche Kombination bietet integrity, RAID, CoW/Snapshots, Verschlüsselung und die besten read/write raten