TrueNAS (FreeNAS), erste Schritte mit FreeBSD

Unfälle kommen immer dann, wenn man sie am wenigsten vertragen kann. Diesmal hat’s mein altes NAS getroffen. Mit einer Fehlaussage des Supports kam dann auch noch Datenverlust hinzu. Ich schreibe über einen Datenunfall in 3 Akten, mit „Happy-End“.

tl;dr: Laufe vor Heimplaste weg. Ist besser so.

Vorwort:

Dieser kleine Erlebnisbericht mag sich vielleicht anfangs etwas „negativ“ anhören, ist aber so nicht gemeint! Er zeigt lediglich die ganzen Fallstricke auf, über die ich allesamt gestolpert bin und für bemerkenswert halte. Es ist also nichts weiter, als das Festhalten meiner Lernphase. Deswegen ist TrueNAS kein schlechtes Produkt, sondern ganz im Gegenteil: Ich glaube, wir kommen inzwischen sehr gut miteinander zurecht. Aber bis dahin war’s dann doch eine spannende Reise.

Mein „EX-NAS“ ist – bedingt durch meine bescheidene Behausung – in Hörweite. Unschön, wenn’s mitten in der Nacht piept. 3x, hintereinander. Wenn das um 3:30 Uhr morgens stattfindet, sind in meinem Hirn nur die Energiespar-CPU’s aktiv und nicht die etwas leistungsfähigeren, ich komme ja gerade aus dem Deep-Standby.

Um das mal abzukürzen:

Es ist überhaupt nicht zweckdienlich, auf den Support VON oder AUF Foreneinträge beim Hersteller QNAP zu hören, jenem einen bei 3maligen Piepen den Kauf eines neuen Lüfters andichten möchten. Ganz großer Fehler! Wirklich. Macht das nicht. Stellt Euer NAS niemals aus, bevor Ihr nicht alle Eure Daten gesichert habt. Und wenn es die Nachbarn aus dem Bett piept.

Die LED-Konstellation verbrieft nach dem Wiedereinschalten das Ende: Weder sind zwei Platten kaputt, noch fehlen zwei Platten: Im Gegenteil: Die Platten sind gesund. Das Timing des Intel-Prozessor funktioniert nicht mehr. Das QNAP ist komplett am Ende und reif für die Mülltonne.

Kein Backup, kein Mitleid

Viel eher sollte man alles, was auf den verschlüsselten LVM-LUKS-Raids gespeichert ist, auf externe Platten schaufeln. Und zwar ASAPST und das NAS schon gar nicht ausschalten, selbst wenn’s denn piepst! Sollte kein Backup da sein, war’s das nämlich. Manch‘ *nix-Experte und meiner einer hatten aufgegeben, das LVM von außerhalb noch mal zum Laufen zu bekommen. Wenn man dann schon am Boden liegt, wird natürlich noch verbal nachgetreten:

„Ich schimpfe doch immer über Heimplaste-Spielzeug“, sagte man mir. „Warum sollten für NAS denn plötzlich andere Standards gelten?“.
*Hust*.
Schwer getroffen.

Weiteres Problem:

Die „Qualifizierung“ der relevanten Daten für das Backup war im Nachhinein falsch. Ich hatte zuvor nicht eingesehen, bestimmte Medien zu sichern, Musik, Hörbücher und Filme z.B.. Aus Kostengründen. Alles andere war gesichert. Immerhin.

Wer schonmal Blu-Rays gerippt hat, weiß, wie aufwändig das ist. Die Original-Beatport Wavedateien brauchen ebenfalls immens viel Platz. Das kostet alles eben viel Geld.

Nie wieder Heimplaste!

Die von Intel angetriebenen NAS – Egal ob von QNAP oder von Synology will ich nicht mehr als vertrauenswürdiges Ziel ansehen (Link). Gepart mit der unterirdisch schlechten Supportleistung von QNAP im Schadensfall sind die Dinger m.E. ein perfektes Datengrab. Und zwar für die Ewigkeit. Wir hatten das ja schonmal, mit Intel (Link). Ich hätte es auch besser wissen müssen. Und so bin ich auch eine gehörige Portion sauer auf mich selbst.

Und ja, natürlich ging mir QNAP schon Monate vorher auf den Zünder. Ich wollte da weg, hatte aber nie Zeit für nix. Was die bei jedem Update auf dem ollen Hobel installiert hatten, passt noch nicht mal auf einen Scania-Sattelschlepper. Wer maintaint überhaupt diesen ganzen Blödsinn? Alles komplett überflüssiger Bullshit: PhotoStation, Videostation, Musicstation, Cinemagedönz, Appcentersülz, Helpcenter, Virgendwas, Magieirgendwas, Gedönz, Gedönz.

Und das Ding funkt allen möglichen Bullshit zu irgendwelchen Servern in Fernost. Weil Du genau weißt, dass Du da keinen kleinen Angrifsvektor, sondern einen riesigen – um drölfzig faktorisierten – hast, machst Du zu, was geht.

Ein jemand, der einen Plex-Lifetime Account hat, braucht diesen schlecht programmierten Bullshit nicht. Dieses QNAP-Dingens kann 2021 alles, aber eben nix davon richtig.

Würde ich mir heute noch ein NAS von QNAP kaufen? Im Leben nicht!

Zwei Tage für einen neuen Plan.

So. Da stehst jetzt senkrecht, morgens um 4, mit „voll die Ringe unter den Augen und fragst Dich, watte all zu speichern hast. Wat man so halt braucht, wenn man sich Azure-/Amazon-Blobspeicher samt passender VM’s für 20TB nicht leisten kann“. Das ist eine rein private Anforderung, ich bin ja kein Unternehmen.

Ausserdem willst Du eigentlich nur

  • iSCSI
  • NFS
  • SMB
  • Plex

Und davon ganz viel. Aber wenn, dann bitte richtig. Ohne Blingblingbloatware. Nachdem ich mir Openmediavault und Nas4free angeschaut habe, bin ich eigentlich durch. Windows Storage Server kann jeder, ist also langweilig.

Entscheiden wollte ich, wenn die Sonne scheint. In Krefeld war 2 Tage Blizzard. Dann erst kam die Sonne raus. Die Entscheidung ist durch. Es gab nur noch zwei im Ring, Unraid oder Truenas.

TrueNAS (ehemals FreeNAS) sollte es sein.

IXSystems hat so Barebones und fertig konfigurierte Apparate in allen Varianten. Die stecken hinter TrueNAS. Leute mit Geld (für viel Strom oder Photovoltaik) kaufen sich so „Storinator“-Dinger von 45Drives (Link). Da läuft dann auch Truenas drauf. Gesehen hast Du die bestimmt schon mal bei dem liebenswerten, verrückten, Socken-In-Sandalen-Träger aus Kanada (Link).

Die Barebones von IXSystems für den Heimgebrauch finden sich hier: Link. Übrigens auch wieder mit sonne Intel-Prozzelozzels. Nö. Den CPU’s trau ich nicht und das ist auch ganz schön teuer, was die da anbieten. Die Software von denen soll wohl cool sein, hatte ich mir sagen lassen, aber unter einem Xeon und einem ordentlichem Board stell ich mir nix mehr von Intel in die Bude. Selbst wenn’s Supermicro ist.

Für das erfolgreiche Gelingen meines Projekts waren Ratschläge von gleich zwei meiner lieben Kollegen im Rechenzentrum erforderlich: Dennis und Peter.

Mein Kollege Peter hatte da „so ’ne Idee“ für einen passenden Server, für die ich dankbar bin. Ich bin seinem Vorschlag zwar nicht zu 100% gefolgt, aber in etwa zu 90%:

Der ProLiant Microserver Gen8 hat iLO4 (das mit der html5-Konsole), Xeons, genügend SATA-Ports und ist ordentlich verarbeitet. HP, halt. Vertrauenserweckend. Alles nach der Generation8 war in meinen Augen aber nicht sinnvoll – entweder fehlt da iLO oder der Hobel hatte nicht genügend SATA-Ports.

Der Gen8 hat für größere TrueNASse wohl einen Nachteil: Bei 16GB ist Schluss. ZFS (BSD/TrueNAS) frisst wohl Hauptspeicher zum Frühstück, hatte ich mir sagen lassen. Ferner könnte der Lüfter gesprächiger sein, als ich wünschte und zwei der notwendigen SATA-Ports konnten wohl „nur“ 3G statt 6G. Aber ich wollte das mal probieren. Im schlimmsten Fall könnte ich mir einen LSI 9220-8i auf IT-Mode flashen (Link) – ZFS hasst nämlich RAID-Controller und will so nah an die Tellerminen, wie’s eben geht. Den Lüfter müsste ich im schlimmsten Fall gegen Noctua (Link) tauschen.

Er ist wohl da und nimmt doch ein wenig mehr Raum ein, als das ehemalige QNAP.

Ebay’s Svetlana aus Kirchheim wollte 399,00 Euro Geldeinheiten zzgl. Versand für die Xeon E3-Variante haben, inkludierte 16GB ECC (allerdings keine Original-HP) und eine iLO-Advanced-Lizenz (nach Prüfung wohl auch kein „Original-HP“). Sehr nervig, da iLO-Lizenzen nun doch Geld kosten (Link).

Das Gehäuse war staubfrei und laut nicht gelöschtem IML gerade mal ein paar Monate im Einsatz, stand dann gut 1 Jahr in der Ecke. Nein, Händler löschen keine Daten, schon gar keine bei Ebay. In sofern konnte ich auch nachvollziehen, in welchem Unternehmen der Hobel vorher war. In diesem Fall dann doch positiv und vertrauenserweckend.

Nachdem ich 4 Stück 6TB EFRX-Tellerminen (nein, keine EFAX) aus dem QNAP auf defekte Sektoren geprüft hatte (kein einziger Defekt nach 4 Jahren Dauerbetrieb), entschied ich mich erstmal für die Verwendung derer.

Die TrueNAS-Gemeinde rät von USB-Pendrives inzwischen ab (Link), das erschwerte meine Planung ein wenig: Den Caddy für Slim-Drives wollte ich eigentlich für ein Cache-Laufwerk (Fehlannahme, nicht benötigt) verwenden, booten lässt sich aber bei deaktivierten B120 Controller nicht davon. Und SD-Karten sind für sowas nun noch weniger zu gebrauchen.

Nicht verboten sei aber die Verwendung von USB-SATA-Adaptern. Den Kram hier hab‘ ich noch nachgeordert:

Tellerminen:

1x Crucial BX500 (Boot-Drive)
1x Samsung EVO 860 250GB (Jails)
4x WD60EFRX WD Red’s (Pool)

Konfiguration:

  • Reset to defaults + Nachfolgendes:
  • SATA-Controller im Standard AHCI-Modus (B120i deaktiviert)
  • Power-Modus: OS-Control
  • Boot: USB Internal

Feststellungen: Free-BSD ist für mich wirklich nicht einfach. Ich kann zwar mit Händen und Füßen mit Debian/Ubuntu sprechen, Das Ding hier ist aber eben doch eine völlig andere Hausnummer.

BSD will auch kein Linux sein. Das merke ich spätestens dann, wenn einige Features im Jail nicht laufen wollen, wie z.B. der Collabora Document Server oder der Community Document Server für Nextcloud.

Außerdem muss man sich wirklich drauf einlassen. Die ACL-Konfigurationen sind gewöhnungsbedürftig. Mit ein wenig Unterstützung von meinem Kollegen will es dann auch klappen. Allerdings falle ich hier und da immer mal wieder auf die Nase, zuletzt jedoch deutlich weniger.

Inzwischen bin ich soweit, dass ich endlich wieder „arbeitsfähig“ bin und auch einen ganzen Satz an Daten zurückspielen kann. Wohl habe ich – notgedrungen – in vielen Punkten bislang falsch gelegen. Anbei mal eine Aufstellung aller meiner (bislang bekannten) Fehler, welche ich zu Beginn oder während der Einrichtung gemacht habe, so dass Ihr die nicht auch noch machen müsst.

Fehlannahme 1:
Die Samsung-SSD, welche ich als Cache eingeplant habe, ist völlig überflüssig und erhöht das Risiko für Datenschäden. ZFS braucht Hauptspeicher.

Fehlannahme 2:
Der Hobel ist sowas von überkandidelt für mich, dass ich vermutlich mit einem kleineren Prozessor genauso Freude gehabt hätte. Große und kleine Daten werden mit 116 MByte/sec. übertragen. Bei Kleinzeugs ist ZFS gefühlt um den Faktor 5 schneller, als mein kaputtes QNAP. Jetzt sorge ich mich um den Stromverbrauch.

Fehlannahme 3:
Die GEN6-Firmware J06 04/04/2019 fliegt, sie sorgt nach 5 Minuten Truenas-Betrieb für einen geregelten Neustart, allerdings ohne irgend einen Hinweis in irgendeinem Log. Ich nutze jetzt wieder J06 05/21/2018, die Firmware läuft ultrastabil.

Fehlannahme 4:
Nach Erzeugung des Pools sollte grundsätzlich im Pool immer ein Dataset erzeugt werden. Es sollten niemals Freigaben direkt im Poool erstellt werden.

Fehlannahme 5:
USB-Backup geht nicht? Du brauchst immer ein anderes Truenas oder eine Remotehütte? Zumindest steht das recht häufig in allen Truenas-Foren. Falsch: Via USB angeschlossene Tellerminen lassen sich blockweise prima per Replikat bespielen. Ob Replication-Snapshots jetzt ein Backup ist, lasse ich mal dahingestellt. Immerhin kann ich so mehrere Snapshots von einem Dataset auf einem externen USB-Medium sichern, auch per Cronjob. An ZFS-Volumes komme ich auch von meinem Mac.

Fehlannahme 6:
16GB reichen nicht? Von wegen. Die Hütte rennt. Für meine Zwecke allemal ausreichend. Mehr gibt meine Gigabit-Verkabelung nicht her.

Einige meiner Fehlannahmen wurden von meinem Kollegen Peter korrigiert, der mir doch recht zügig in Form einer Druckbetankung das Wichtigste mit auf den Weg gab. Korrekturen standen an. Und ’ne Menge Arbeit. Aber, wer nicht stolpert, kann auch nicht aufstehen. Die Fehler musste ich allesamt vorher machen, bevor ich das Ding mit Daten betanke.

Sachen, die mir nicht gefallen:

Mitunter gefällt mir der Umgang in den Foren und bei Reddit nicht. Der Schreibstiel vieler ist ziemlich hochnäsig, herablassend und könnte für Newbies abschreckend wirken. Die Dokumentation ist nicht immer vollständig oder in Teilen auch nicht richtig. Vieles musst Du Dir selbst erarbeiten.

Beispiel: Nirgends steht z.B. geschrieben, dass ich für die Nutzung des von IX-Systems unterstützten Plugin Plex die UID von Plex im Jail herausbekommen und in Truenas selbst einen Nutzer Plex mit derselben UID anlegen muss, so dass ich auf das im Jail gemountete Volume zugreifen kann. Das gilt auch für das Nextcloud-Plugin, hier ist’s übrigens der Nutzer WWW.

Viele Community-Anwendungen werden offensichtlich auch nicht gepflegt. Ein pkg-update wird nicht funktionieren. Sinnvoller ist es wohl, ein leeres Jail zu installieren und die Software adäquat selbst bereitzustellen.

Die im B120i angeschlossene Tellermine liefert keine SMART-Werte, auch nciht nachdem ich einen Task dafür gemacht habe. Ich habe das noch nicht raus bzw. noch dran. Vielleicht muss ich mir doch einen LSI-Controller zulegen?

Andere Anmerkungen:

Ich habe nicht ein bisschen Bling-Bling-Bullshit installiert. Da ist nix drauf, was ich nicht haben will. Alles ist im Default aus. Und ich glaube auch, dass sich das nicht ändern wird.

Ich bin mit dem Userinterface sehr zufrieden. Deutsch ist es noch nicht zu 100% fertig, in der Sprache Englisch (welche die meisten meiner Leser wohl eher bevorzugen) ist komplett fertig.

Vieles wird automatisch gemacht, z.B. ein Snapshot-Job, wenn ich einen Replication-Job anlege, oder ein Jail, wenn ich ein Plugin konfiguriere. Es wird nachgefragt, ob der SMB-Dienst gestartet werden soll, wenn Du eine CIFS-Dateifreigabe anlegst, usw.

Vor meinen Fehlern werde ich allerdings nicht gewarnt und so kommt es, dass ich z.B. einige Freigaben ohne Datasets anlege. Das ist zum einen ein Nachteil, weil ich dann ich keine zielbasierten Quotas anlegen kann und zum anderen, weil ich ohne Datasets dann das komplette Volume Snapshotten und Syncen muss. Jetzt bin ich schlauer.

Gottseidank habe ich einen Kollegen, der mich auch darauf hinweist, dass Deduplication zwar cool ist, aber immer validiert werden muss, sonst droht Gefahr. Das steht da so auch nicht in der UI.

Ich weiß noch nicht, ob „Current Train: TrueNAS-12.0-STABLE“ tatsächlich der richtige ist. Einen Train mit der Variante „Release“ habe ich nicht gefunden. Mein Ziel ist, so stabil wie möglich zu laufen und das Wording wäre nach Annahme meiner Kollegen dann eher „Release“, statt „Stable“. Tja, hier fehlt’s auch noch an Wissen über TrueNAS.

Auch habe ich im Nachhinein festgestellt, dass ZFS bei Copyjobs by default das Ziel sperrt. Der Mac-User sieht als erstes allerdings die Zugriff-Verboten-Symbole im Finder und kriegt Panik, ob er denn die ACL’s richtig geschrieben hat. Hat er. Weiß er anfangs nur nicht. Nachher ist das ein geniales Feature, wie so vieles bei ZFS.

Doof ist, dass ich im Truenas selbst einen NGINX vermisse und mein Kollege Dennis einspringen muss, um Letsencrypt erstmal in ein Nextcloud-Jail einzubauen. Die ganze Komfiguration ist für mich im Nachhinein nicht zu 100% nachzuvollziehen und das ärgert mich. Ich hätte mir das besser mal aufgeschrieben. Aber vielleicht will Truenas selbst ja kein Reverseproxy sein und ich soll das auch in ein Jail packen.

Wenn ich es mir jetzt so überlege, will ich eigentlich gar nix veröffentlichen. Mir reicht das Plex-Jail, wenn denn bald mal ein Update kommt – sonst baue ich mir das zu Fuß zusammen. Brauche ich Nextcloud auf dem Hobel überhaupt? Das ist alles noch gar nicht fertiggedacht…

Gutmütig und QNAP weitaus überlegen

Hauptspeicher frisst ZFS wohl zum Frühstück. Es gibt wohl eine PI x Auge Regel in der Community, die in meinem Fall aber nicht zutrifft. Das System liefert, was das Interface physisch liefern kann. Dauerhaft. Auch wenn ich nachfolgenden Report noch nicht zu 100% interpretieren kann, reicht’s mir vollkommen.

Das Package stimmt einfach. Entgegen der Annahme er könne zu laut sein, höre ich den Lüfter nur noch sehr leise im Arbeitszimmer. Ich habe mich schon dran gewöhnt, es ist nicht stören. Bei vielen von Euch wird der Lütte wohl eher im Keller landen. Nun, ich habe keinen. Sehr selten dreht er „hoch“ auf 30%, ansonsten bleibt’s bei müden 21% der vollen Leistung.

Das System bleibt angenehm kühl und wird nur bei Last ab und an wärmer, jedoch niemals über unangenehme Werte. Die Platten sitzen vorne, hinten der riesige Lüfter. Der 1220v2 passt in’s Package und ist auch bei umfangreichen Copyjobs (wie hier im Screenshot) noch angenehm kühl.

Freigaben und Speicherplatz bereitstellen kann TrueNAS ganz wunderbar. Es ist auf der von mir gewählten Hardware wirklich hölleschnell. Der Gen8 Microserver ist in meinen Augen im Moment kein falscher Kauf. Das Backup-Volume ist bestellt inzwischen auch da, die Snapshots laufen.

Ich danke meinen lieben Kollegen für die tolle Unterstützung.

Ja, ich stolperte anfangs noch, weiß eben auch noch nicht alles und bin für Hilfe immer dankbar. Auch wenn sich das jetzt alles nicht so 100% perfekt anhört, bin ich doch sehr zufrieden mit meiner Wahl. Die Kombi Gen8-Microserver und TrueNAS ist in meinen Augen wohl die beste Wahl – für meinen Einsatzzweck. Im Moment.

Ich hoffe, dass dieses gutmütige Verhalten wirklich lange so bleibt. Für mich war das eine wirklich spannende Reise, bei der ich noch nicht am Ziel angekommen bin. Es ist, wie so vieles im Leben: Man lernt nie aus. Und das ist auch gut so.

Ich hätte übrigens einen Original-Lüfter für ein QNAP-NAS der 45xer-Klasse übrig. Diese PIN/Steckerkombi gibt’s m.E. sonst so auch nicht zu kaufen.