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

2.0 KiB

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
  • Benchmarks: Welche Kombination bietet integrity, RAID, CoW/Snapshots, Verschlüsselung und die besten read/write raten