Aktuell verwende ich TrueNAS für meinen Heimserver, aber hier und da hakt es genug sd. ich überlege auf Proxmox zu wechseln. Auf der Arbeit konnte ich viel Erfahrung damit sammeln, leider nicht in Kombination mit ZFS. Letzteres ist mir ausgesprochen wichtig. Und hier sehe ich auch die Herausforderung. Nach meinem Eindruck erwartet Proxmox einen nutzbaren Storage, und hat standardmäßig kaum eigene Tools/Scripte um den Gesundheitszustand der Platten, allgemein und ZFS-spezifisch, zu bewerten. Aber vielleicht täusche ich mich? TrueNAS bringt hier einiges mit.
Ich möchte so ziemlich alles überwachen das irgendwie einen Hinweis auf Probleme mit den Platten hinweist: read/write/checksum Fehler, Änderungen im Pool State, SMART, HDD Temps, etc.. Gerne auch Zusatzinfos wie bspw. ein mögliches ZFS Feature Upgrade. Da nur dieser Server dauerhaft bei mir läuft, möchte ich das alles ohne Abhängigkeit zu einem separatem Monitoringsystem aufbauen. Das soll es zwar auch geben, aber mehr mit einem Fokus auf Softwarestatus.
Vermutlich kann ich hier mit extra Tools die Lücke schließen. Zuerst habe ich Cockpit + ZFS Plugins probiert, aber das wollte nicht funktionieren. Napp-it cs ist soweit vielversprechend, aber da möchte ich noch mehr Erfahrung auf einem Testsystem sammeln. Die Dokumentation ist leider ein wenig ... durcheinander. Könnte man napp-it cs eigentlich in einen (hochpriviligierten) LXC auslagern, oder ist das nicht vorgesehen?
Für SMART, Scrubs und Snapshots überlege ich mir eigene cronjobs zu bauen. Das Proxmox Wiki erwähnt noch den ZFS event daemon, dieser soll im Falle von ZFS Fehlern eigene Nachrichten verschicken. Das finde ich vielversprechend, hoffentlich klappt das. Weiß jemand was der alles überwacht?
Ebenso möchte ich für die Platten aus meinem Datenpool Spindown aktivieren, da gibt es nur wenige Zugriffe. Das sollte ja kein Problem via hdparm sein, nur habe ich noch nicht verstanden ob es reicht das Timeout einmalig zu konfigurieren. Oder muss man den Befehl regelmäßig ausführen?
Auf den Pools selber verwende ich bisher die ZFS native Verschlüsselung. Das funktioniert unter TrueNAS gut, ich möchte es beibehalten und die Pools migrieren. Dabei überlege ich noch einen Schritt weiter zu gehen und auch den Bootpool zu verschlüsseln.
Da scheint es zwei Methoden zu geben: die Datasets nach der Installation einzeln zu verschlüsseln und dann zu tauschen, oder direkt während der Installation den ganzen Pool zu verschlüsseln (
https://forum.proxmox.com/threads/native-full-disk-encryption-with-zfs.140170/page-2#post-742082). Da PVE auf das ZFS Boot Menu setzt, scheint das gut zu funktionieren. In meinem Test funktionierte das wunderbar, nach einer Passworteingabe wäres des Bootvorgangs war alles direkt entschlüsselt und hat ganz normal funktioniert.
Welche Nachteile könnte ich hierdurch haben? Es wird ja einen Grund haben warum Proxmox das nicht nativ mitbringt. Ich glaube die Clusterfunktion wird hier massiv eingeschränkt, da man die Datasets nicht einfach synchronisieren kann. Das wäre mir egal, der Server wird Standalone betrieben.
Allgemein bei ZFS Replikation müsste man natürlich auch aufpassen, aber hier sehe ich auch keinen Anwendungsfall bei mir. Wird die ggf. irgendwo im Hintergrund verwendet?
Allgemeine Backups, bspw. auch via PBS, sollten ja nicht betroffen sein.
Zuletzt noch das Thema Dateifreigaben. TrueNAS stellt bei mir im Netzwerk ein paar Shares via SMB, NFS und rsync zur Verfügung. Aber nichts kompliziertes und vor allem langsam. Mein Netzwerk läuft primär via 2.5G. Mein Plan wäre ein dedizierter LXC mit den passenden Applikationen, die Shares werden via bind mount durchgereicht. Manche installieren ja die Tools direkt im PVE, ich möchte das lieber voneinander trennen. Am Ende soll es auch durch eine Ansible Rolle konfiguriert werden. Gibt es hier noch irgendwelche Fallstricke?
---
Der Post ist jetzt ziemlich lang geworden. Inhaltlich finde ich den Stammtisch dazu ganz passend, aber sagt Bescheid wenn ich das doch lieber ausgliedern soll.