ZFS-Anleitung: ZFS-Dateisystem auf dem ZimaBoard installieren und optimieren

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Grüße an alle ZimaBoard-Enthusiasten! Heute freuen wir uns, Ihnen ein umfassendes Tutorial unseres engagierten Community-Mitglieds Tyrehl zu präsentieren. Tyrehl führt Sie nicht nur fachkundig durch die Installation von ZFS auf dem ZimaBoard, sondern bietet auch einen ganzheitlichen Überblick über das ZimaBoard selbst.

Von Community-Einblicken bis hin zu detaillierten Installationsanleitungen ist Tyrehl’s Artikel Ihre zentrale Ressource, um das volle Potenzial von ZFS und ZimaBoard zu erschließen. Unser herzlicher Dank gilt Tyrehl für diesen bereichernden Beitrag, der die Lücke zwischen Community-Engagement und technischem Know-how schließt. Lassen Sie uns gemeinsam diese Reise antreten und Ihr ZimaBoard-Erlebnis auf ein neues Level heben. Viel Spaß beim Entdecken!

Einführung

Single-Board-Computer (SBCs) sind in Home-Lab-Szenarien sehr beliebt und haben in den letzten Jahren auch in professionellen Umgebungen und der Industrie Fuß gefasst. Heute gibt es ein großes Ökosystem rund um Edge-Computing und Systeme im kleinen Formfaktor.

Gute Rechenleistung ist leicht zu bekommen, verschiedene SBCs bieten 4 Kerne und viel RAM für diverse Anwendungen. Wo sie meist schwächeln, ist der Speicherbereich. SD-Karten und Flash-Speicher sind generell langsam und anfällig für Ausfälle bei schreibintensiven Szenarien. Über USB angeschlossene Festplatten bieten nicht dieselbe Zuverlässigkeit, und einen guten USB-zu-SATA-Adapter zu finden, ist ebenfalls nicht trivial.

Das ZimaBoard hat ein Ass im Ärmel. Zwei SATA-Ports, duales 100/1000 Ethernet und verschiedene PCIe-Erweiterungsoptionen machen es zu einem sehr flexiblen System.

Wo liegen die Grenzen dessen, was ein SBC realistisch leisten kann, und warum ist Speicher immer so ein Problem? Wo ist der goldene Mittelweg zwischen einer kompakten Maschine, die keine Aufgabe besonders gut beherrscht, und einem Kabelsalat-Monster mit 6 SATA-Festplatten, das ein externes ATX-Netzteil benötigt?

Dieser Artikel zielt darauf ab, die Stärken des ZimaBoards zu erkunden und wie man sie nutzen kann, um es sinnvoll einzusetzen – ohne am Ende eine albern aussehende und unpraktische Lösung zu haben.

Motivation

Wie bereits erwähnt, ist viel Rechenleistung einfach bereitzustellen und zu nutzen. Arbeitsspeicher ist ebenfalls günstig, sodass Speicher schnell zum begrenzenden Faktor wird. Wer schon einmal mit Infrastruktur zu tun hatte, weiß das wahrscheinlich. Schauen Sie sich nur die k8s-Netzwerkspeicheroptionen an, die verschiedenen Plattformen, die S3-kompatible APIs für Ihren Cluster versprechen, und wie nervig deren Bereitstellung und ordnungsgemäßer Betrieb sind.

Das ZimaBoard mit seinen hervorragenden I/O-Fähigkeiten ist ein großartiger Kandidat für ein NAS im kleinen Formfaktor oder einen Allzweckserver mit resilientem lokalem Speicher. Und hier liegt die Herausforderung – wie bieten wir fehlertoleranten Speicher in einem kleinen Formfaktor, auf einer Plattform, die „einfach funktioniert“ und im Betrieb langweilig ist.

Auf der Hardware-Seite beschränken wir uns darauf, nur zwei 2,5-Zoll-Festplatten über die Strom- und SATA-Anschlüsse auf der Rückseite des ZimaBoards zu betreiben. Das ergibt eine sehr kompakte Lösung ohne die Notwendigkeit eines externen Netzteils und Erweiterungskarten.

Weniger ist mehr

Eine große Speicherkapazität ist gut, aber fehlertoleranter Speicher ist noch besser. Dafür brauchen wir ein fortschrittlicheres Dateisystem, das Speicherredundanz bietet.

ZFS bietet Software-RAID-Fähigkeiten, die die der meisten Hardware-RAID-Controller übertreffen. Es ist ein wirklich exzellentes Dateisystem mit vielen weiteren bemerkenswerten Funktionen wie inkrementellen Snapshots, Synchronisation zwischen entfernten Systemen und Speicherpools sowie Verschlüsselung.

Der Fokus liegt heute ausschließlich darauf, die Festplatten redundant zu betreiben. Normalerweise wird ZFS verwendet, um ein RAIDZ-Array zu verwalten. Da wir uns jedoch auf zwei Festplatten beschränkt haben, bleibt nur eine relevante Option – der ZFS-Spiegelpool. Das halbiert effektiv die Speicherkapazität, bietet aber gleichzeitig bessere Redundanz und die Möglichkeit, einen einzelnen Festplattenausfall zu verkraften. Nicht ideal, aber es muss reichen.

Hardware

Festplatten

Generell empfiehlt die ZimaBoard-Community, 2,5-Zoll-Festplatten zu verwenden. Ihr Hauptvorteil ist, dass sie keinen 12V-Stromanschluss benötigen. Es gibt Berichte über erfolgreiche Tests mit 3,5-Zoll-Festplatten, daher kann es variieren. In meinem Fall habe ich mich für zwei 1TB SSDs entschieden. Du kannst auch HDDs wählen, wenn du mehr Kapazität brauchst.

Anschlüsse und 3D-gedrucktes Zubehör

Der offizielle Y-Splitter wird dringend empfohlen, um die beiden Festplatten anzuschließen und mit Strom zu versorgen. Es gibt Workarounds, wie die Verwendung von USB-zu-SATA-Stromadaptern. Das sieht zwar unschön aus, funktioniert aber. Um alles zusammenzuhalten, eignet sich ein 3D-gedruckter Doppel-HDD-Ständer hervorragend. Das Endergebnis ist ein sehr tragbares und unauffälliges Paket.

Links sind am Ende des Artikels enthalten. Ich fand diese Version sehr kompakt und praktisch wegen der kleinen Größe. Es gibt auch verschiedene 3D-gedruckte Halterungen für die Rackmontage, falls du Platz dafür hast.

ZFS installieren

Das ZimaBoard wird standardmäßig mit Debian ausgeliefert. Das ist auch meine persönliche Empfehlung für eine solide Distribution, die nicht im Weg steht oder dich überrascht. Für andere Distributionen konsultiere die jeweilige Dokumentation und ZFS-Installationsanweisungen.

Bevor du beginnst, denke daran, auf die neueste LTS-Version zu aktualisieren, wenn möglich. Sichere deine Daten, damit es einfach ist, alles zurückzusetzen und neu zu starten. Und dokumentiere jeden Schritt, damit die Fehlerbehebung leichter fällt. Schau dir die Skript Befehl für eine bequeme Möglichkeit, dies zu tun.

Detaillierte Anleitungen und erweiterte Anwendungsfälle sind dokumentiert unter https://wiki.debian.org/ZFS Dies ist die empfohlene Hauptquelle für die Einrichtung von ZFS.

Voraussetzungen

Stelle sicher, dass HTTPS-Repositories zugänglich sind:

1 apt install -y lsb-release apt-transport-https

Füge das Backports-Repository für deine Version hinzu, indem du /etc/apt/sources.list bearbeitest oder eine neue Quellen-Datei unter ‘/etc/apt/sources.list.d/’ hinzufügst:

1 #Bestimme den Codenamen oder ersetze ihn manuell unten:
2 codename=$(lsb_release -cs)
3 #Backports-Repo zur Quellenliste hinzufügen:
4 echo “deb http://deb.debian.org/debian $codename-backports main contrib non-free”|sudo tee /etc/apt/sources.list.d/debian_backports.list && sudo apt update

ZFS-Pakete

Installieren Sie schließlich gemäß der Debian-Dokumentation die neuesten Linux-Header und die relevanten ZFS-Pakete:

1 sudo apt install linux-headers-amd64;sudo apt install -t $codename-backports zfsutils-linux zfs-dkms

„Oh nein – etwas ist schiefgelaufen“

Fehler bei der Installation von ZFS lassen sich meist auf einen alten oder falschen Kernel oder fehlende Header zurückführen. Es ist am besten, alle ZFS-bezogenen Pakete zu entfernen, die installierten Header zu überprüfen und die Installationsanleitung erneut zu lesen.

1 sudo dpkg -l | egrep ‘linux-image|linux-headers’

Erstellen eines Pools und eines Dateisystems

Listen Sie Festplatten nach IDs auf:

1 ls -l /dev/disk/by-id/
2 ls -l /dev/disk/by-id/
3 lrwxrwxrwx 1 root root 9 22. Dez 15:29 ata-KINGSTON_SA400S37960G_50026B73818333D1 -> ../../sdb
lrwxrwxrwx 1 root root 9 22. Dez 15:29 ata-KINGSTON_SA400S37960G_50026B73818333DB -> ../../sda
4 lrwxrwxrwx 1

Und erstellen Sie einen Pool, indem Sie die stabilen Geräte-IDs angeben, z. B.:

1 zpool create $mirror_pool_name mirror ata-KINGSTON_SA400S37960G_50026B73818333D1 ata-KINGSTON_SA400S37960G_50026B73818333DB

Erstellen Sie ein verschlüsseltes Dateisystem:

1 zfs create \
2 -o encryption=on \ # entfernen, wenn nicht nötig
3 -o keyformat=passphrase -o casesensitivity=mixed \
4 -o acltype=posixacl -o xattr=sa -o dnodesize=auto $mirror_pool_name/$dataset_name

Praxisnahe Nutzungsszenarien und Leistung

ZimaBoard hat keine Probleme mit dem Betrieb von ZFS und bietet viel Leistung, wobei nur die Verschlüsselung die CPU-Auslastung spürbar erhöht. Transkodierung und Streaming (z. B. mit Jellyfin) sind ebenfalls kein Problem. Es ist jedoch zu beachten, dass das Lesen oder Schreiben sehr großer Dateien auf ein verschlüsseltes Dateisystem die CPU stark beansprucht. Dies könnte andere auf dem System laufende Arbeitslasten beeinträchtigen.

SMB/NFS

Während der allgemeinen Tests dauerte das Schreiben einer einzelnen 12-GB-Datei auf den ZFS-Spiegel-Pool etwa 5 Minuten, wobei die Festplatten-E/A der Engpass war. Das Lesen vom ZFS-Pool war deutlich schneller und dauerte weniger als halb so lang. Effektiv war die 1-Gbps-Netzwerkverbindung vollständig ausgelastet. Beide Tests wurden mit einem unverschlüsselten Dateisystem durchgeführt:

Der nächste Test zeigt die starke Auswirkung der Verschlüsselung auf die CPU. Dieselbe 12-GB-Datei wurde vom unverschlüsselten ZFS-Dateisystem gelesen und in ein verschlüsseltes geschrieben. Die Leistung ist weiterhin ausgezeichnet, aber die CPU-Auslastung stieg stark an und blieb während des gesamten Vorgangs sehr hoch.

Ressourcen und Referenzen

Fazit

Haben Sie Fragen oder benötigen Sie weitere Erläuterungen zu einem Aspekt des Tutorials? Tyrehl steht Ihnen zur Verfügung! Treten Sie unserer Discord-Community bei, um direkt mit Tyrehl in Kontakt zu treten und an aufschlussreichen Diskussionen teilzunehmen. Ihre Neugier muss nicht mit dem Tutorial enden – Tyrehl ist bereit, Sie auf Ihrer ZFS-Reise zu unterstützen. Treten Sie unserem Discord-Server bei: [ zimaboard.com/discord]

Zima Kampagnenzentrale

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.