FreeNAS
- 4 Minuten - 760 WörterNach Jahren fast ausschließlicher MS-Windows-Nutzung habe ich beschlossen meinen lenovo ThinkPad X201 mit GNU/Linux ubuntu LTS zum einzigen Rechner zu machen. Windows wird höchstens in einer VM gestartet, es kommt aber immer seltener vor.
Da die im Notebook eingebaute SSD eine nur begrenzte Kapazität hat, musste ein NAS her. Da ich viel Gutes über die HP Microserver-Serie gelesen habe, habe ich relativ günstig ein gebrauchtes Modell der Generation 7 ersteigert. Da die Video-Sammlung aus den Mediatheken der ÖR-Sender immer mehr Platz belegt, sind die verbauten drei 2 TB-Platten (durch das verwendete RAID-Z-Level entsprechend dem RAID5 stehen netto etwa 3,6 TiB zur Verfügung) erstmal ausreichend. Für Fotos und sonstige Daten ist also noch genügend Platz vorhanden.
Der Server ist zwar nicht der flotteste, für meine Bedürfnisse reicht er aber aus. Es sind 16 GiB ECC-RAM verbaut (ab Werk waren 2 GiB drin), da das verwendete ZFS-Dateisystem von mehr RAM profitiert (wird bei Bedarf als Cache genutzt). Zusätzlich können auf dem Niveau des Betriebssystems virtuelle Maschinen eingebunden werden (über VirtualBox), diese benötigen je nach System natürlich ebenfalls RAM zum Laufen. Aktuell wird eine ubuntu- debian-VM von Zeit zu Zeit genutzt, um ein Dokumenten-Management-System (ecoDMS: Hersteller | inoffizielles Forum) zu nutzen.
Das System ist recht einfach auf einem 16 GiB-USB-Stick installiert (interner USB-Port auf dem Server-Mainboard vorhanden — sehr praktisch!), die Shares (hier nur noch NFS) einfach und dynamisch eingerichtet (mit Quota, Zugriffrechten etc.), mit einem kleinen Gigabit-Switch erreiche ich je nach Dateigröße eine Geschwindigkeit von bis zu ca. 70 MiB/s, was mir ausreicht.
Es stehen viele Plugins zur Verfügung (BitTorrent-Clients, ownCloud etc.), die in “Container” (sog. Jails, also “Gefängnisse”) eingerichtet werden, die völlig unabhängig und transparent vom Grundsystem sind. Zur Virtualisierung werden entweder FreeBSD-basierte Jails erstellt (dann nur * BSD-Software nutzbar, dafür sehr schnell und klein) oder auf VirtualBox basierend — dann sind alle Betriebssysteme, die von dieser Virtualisierungslösung unterstützt werden nutzbar. Zur Verwaltung steht eine webbasierte Oberfläche (phpVirtualBox) zur Verfügung, die fast die komplette Funktionalität des VirtualBox-GUI nachbildet.
Der Strombedarf ist — bedingt durch die drei Festplatten (Seagate Barracuda Green (AF) WD Red)— etwas hoch (ca. 50 W), wenn die Festplatten ausgeschaltet werden sinkt er auf etwa unter 30 W. Deshalb wird der Server nur bei Bedarf eingeschaltet.
Update 2019-07
Das System läuft unter der noch unterstützten, aber veralteten Version 9.10.1-U4, die die letzte ist, unter der VirtualBox noch funktioniert.
In der aktuellen Version wird bhyve als Virtualisierungslösung verwendet, da für meine Zwecke VirtualBox aber ausreicht, habe ich das Upgrade nicht vollzogen.
Update 2024-07
Die Virtualisierung auf dem NAS wird nicht mehr verwendet, da auf dem Desktop-Systen genügend Ressourcen (u.A. 32 GiB RAM) zur Verfügung stehen, um VMs dort zu betreiben. Es wird die aktuellste Version von TrueNAS Core (FreeBSD-basiert) verwendet.
Die Installation wird – wie vom Hersteller empfohlen – auf eine SSD umgezogen, im Moment läuft das System aber immer noch auf einem USB-Stick.
Update 2024-12
Da TrueNAS Core langfristig abgekündigt und durch das (Debian-)Linux-basierte TrueNAS Scale ersetzt wird, habe ich die auf die aktuelle Version („Electric Eel“) aktualisiert. Erstaunlich ist, dass trotz der darunter liegenden leicht unterschiedlichen Architekturen (FreeBSD zu Debian Linux) ein Upgrade ohne Datenverlust (das NAS-Betriebssystem wird ja auf einem separaten Laufwerk installiert) und mit allen Einstellungen möglich ist; dafür muss lediglich die Konfuguration in eine Datei gesichert und nach dem Upgrade wieder eingespielt werden.
Der Upgradepfad: letzte TrueNAS Core-Version → via ISO-Image auf die erste TrueNAS Scale-Version → via Updater in der Web-GUI auf die aktuelle Version.
Bedingt durch den Umzug aus eine SSD habe ich ein frisches TrueNAS-System aufgesetzt und den oben beschriebenen Pfad dann verfolgt.
Bei TrueNAS Scale sind Docker-basierte Apps verfügbar, testweise habe ich eine Nextcloud-Instanz installiert und eine Paperless-ngx-App, bei der ich allerdings nicht via Konsole draufkomme, was notwendig wäre, um ein Backup meiner Daten einzuspielen, die auf der lokalen VM erfasst und katalogisiert wurden. Zudem war die Installation der letzteren mit langen erfolglosen Versuchen verbunden: die Container für Redis und die Postgres-Datenbank liefen aber der Paperless-Container ist beim Umschalten der Benutzer-ID auf 568:568
steckengeblieben.
Ich habe dann eine Lösung 1 gefunden, die darin besteht, in den Konfugurationseinstellungen der App vor der Installation die Benutzer-ID auf 1000:1000
zu setzen. Danach startet die App und lässt sich wie gewohnt via Web-GUI steuern und einstellen. Der Zugriff via Konsole ist mir aber immer noch nicht gelungen, sodass es bei einem Expreiment geblieben ist.
Die VM-Funktionalität (ehemals via VirtualBox bereitgestellt) wird aktuell nicht genutzt, da im Desktop-System genug RAM steckt, um teilw. mehrere VMs gleichzeitig zu verwenden. Das NAS wird nur als Backup und „Datengrab“ verwendet (was auch der eigentliche Sinn und Zweck ist).