commit 79ace47bf119103c6fa7cde58cfe4499721d722d Author: Valentin Brandl Date: Mon Mar 4 15:22:06 2024 +0100 Initial notes diff --git a/README.md b/README.md new file mode 100644 index 0000000..4aeefc8 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# 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