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 den Installationsprozess von ZFS auf dem ZimaBoard, sondern bietet auch einen ganzheitlichen Überblick über das ZimaBoard selbst.
Von Community-Einblicken bis hin zu detaillierten Installationsanleitungen ist Tyrehls Artikel Ihre zentrale Ressource, um das volle Potenzial von ZFS und ZimaBoard freizuschalten. Unser herzlicher Dank geht an 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 Erkunden!
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. Heutzutage gibt es ein großes Ökosystem rund um Edge Computing und Systeme mit kleinem Formfaktor.
Anständige Rechenleistung ist leicht zu bekommen, da verschiedene SBCs 4 Kerne und viel RAM für verschiedene Anwendungen bieten. Wo sie normalerweise schwächeln, ist der Speicherbereich. SD-Karten und Flash-Speicher im Allgemeinen sind meist langsam und anfällig für Ausfälle bei schreibintensiven Szenarien. Über USB angeschlossene Festplatten bieten nicht die gleiche Zuverlässigkeit, und einen guten USB-zu-SATA-Adapter auszuwählen, ist ebenfalls nicht trivial.
Das ZimaBoard hat ein Ass im Ärmel. Zwei SATA-Anschlüsse, der duale 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 Ärgernis? Wo liegt 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 ZimaBoard zu erkunden und wie diese genutzt werden können, um es sinnvoll einzusetzen. Ohne am Ende mit einer albern aussehenden und unpraktischen Einrichtung dazustehen.
Motivation
Wie bereits erwähnt, ist viel Rechenleistung einfach bereitzustellen und zu nutzen. Speicher ist ebenfalls günstig, daher wird der Speicherplatz schnell zum begrenzenden Faktor. Jeder, der sich mit Infrastruktur beschäftigen musste, ist sich dessen wahrscheinlich bewusst. Schauen Sie sich nur die k8s-Netzwerkspeicheroptionen an, die verschiedenen Plattformen, die behaupten, S3-kompatible APIs in Ihren Cluster zu bringen, 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 mit kleinem Formfaktor oder einen Allzweckserver mit resilientem lokalem Speicher. Und hier liegt die Herausforderung – wie bieten wir fehlertoleranten Speicher in einem kleinen Formfaktor-Paket 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 Menge Speicher bereitzustellen ist gut, aber fehlertoleranten Speicher zu haben ist noch besser. Dafür benötigen 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. Dies halbiert effektiv die Speicherkapazität, bietet aber gleichzeitig eine bessere Redundanz und die Fähigkeit, 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-Schienenanschluss zum Betrieb benötigen. Es gibt Berichte über erfolgreiche Tests mit 3,5-Zoll-Festplatten, also kann es variieren. In meinem Fall habe ich mich für zwei 1TB SSDs entschieden. Sie können auch HDDs wählen, wenn Sie mehr Kapazität benötigen.
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 Dual-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 aufgrund der geringen Größe sehr kompakt und praktisch. Es gibt auch verschiedene 3D-gedruckte Platten für die Rackmontage, falls Sie den Platz dafür haben.
ZFS installieren
Das ZimaBoard wird standardmäßig mit Debian ausgeliefert. Dies ist auch meine persönliche Empfehlung für eine solide Distribution, die nicht im Weg steht oder Sie überrascht. Für andere Distributionen konsultieren Sie bitte die jeweilige Dokumentation und ZFS-Installationsanweisungen.
Bevor Sie beginnen, denken Sie daran, wenn möglich auf die neueste LTS-Version zu aktualisieren. Sichern Sie Ihre Daten, damit es einfach ist, alles abzubauen und neu zu starten. Und dokumentieren Sie jeden Schritt, damit die Fehlerbehebung leichter fällt. Schauen Sie sich 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 primäre Quelle für die Einrichtung von ZFS.
Voraussetzungen
Stellen Sie sicher, dass HTTPS-Repositories zugänglich sind:
1 apt install -y lsb-release apt-transport-https
Fügen Sie das Backports-Repo für Ihre Version hinzu, indem Sie /etc/apt/sources.list bearbeiten oder eine neue Quellen-Datei unter „/etc/apt/sources.list.d/“ anlegen:
1 #Codename ermitteln oder unten manuell ersetzen:
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 abschließend 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
Datenträger nach IDs auflisten:
1 ls -l /dev/disk/by-id/
2 ls -l /dev/disk/by-id/
3 lrwxrwxrwx 1 root root 9 Dez 22 15:29 ata-KINGSTON_SA400S37960G_50026B73818333D1 -> ../../sdb
lrwxrwxrwx 1 root root 9 Dez 22 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 erforderlich
3 -o keyformat=passphrase -o casesensitivity=mixed \
4 -o acltype=posixacl -o xattr=sa -o dnodesize=auto $mirror_pool_name/$dataset_name
Einsatzszenarien und Leistung in der Praxis
ZimaBoard hat keine Probleme mit dem Betrieb von ZFS und bietet viel Leistung, wobei nur die Verschlüsselung die CPU-Auslastung spürbar belastet. Transkodierung und Streaming (z.B. mit Jellyfin) sind ebenfalls kein Problem. Es ist erwähnenswert, 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 12GB-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 1Gbps-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 12GB-Datei wurde vom unverschlüsselten ZFS-Dateisystem gelesen und in ein verschlüsseltes geschrieben. Die Leistung ist immer noch ausgezeichnet, aber die CPU-Auslastung stieg stark an und blieb während des gesamten Prozesses sehr hoch.

Ressourcen und Referenzen
- ZFS-Installation auf Debian: https://wiki.debian.org/ZFS#Installation
- https://www.printables.com/model/224057-zimaboard-dual-hdd-stand
- SATA Y-Kabel: https://shop.zimaboard.com/products/sata-y-cable-for-zimaboard-2-5-inch-hdd-3-5-inch-hdd-raid-free-nas-unraid
Fazit
Haben Sie Fragen oder benötigen Sie weitere Erläuterungen zu einem Aspekt des Tutorials? Tyrehl ist hier, um zu helfen! 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 steht bereit, Sie auf Ihrer ZFS-Reise zu unterstützen. Treten Sie unserem Discord-Server bei: [ zimaboard.com/discord]

