ZFS-gids: Installeer en optimaliseer het ZFS-bestandssysteem op ZimaBo – Zima Store Online Sla over naar inhoud
Zima Store OnlineZima Store Online
ZFS-gids: Installeer en optimaliseer het ZFS-bestandssysteem op ZimaBoard

ZFS-gids: Installeer en optimaliseer het ZFS-bestandssysteem op ZimaBoard

Eva Wong is de Technical Writer en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, ze is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de gemeenschap in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

Groeten ZimaBoard-liefhebbers! Vandaag zijn we verheugd om je een uitgebreide tutorial te brengen van ons toegewijde communitylid Tyrehl. Tyrehl begeleidt je niet alleen deskundig door het installatieproces van ZFS op ZimaBoard, maar geeft ook een holistisch overzicht van de ZimaBoard zelf.

Van community-inzichten tot gedetailleerde installatie-instructies, Tyrehl’s artikel is jouw alles-in-één bron om het volledige potentieel van zowel ZFS als ZimaBoard te ontsluiten. Onze oprechte dank gaat uit naar Tyrehl voor deze verrijkende bijdrage, die de kloof overbrugt tussen communitybetrokkenheid en technische knowhow. Laten we samen aan deze reis beginnen en je ZimaBoard-ervaring naar een hoger niveau tillen. Veel plezier met ontdekken!

Introductie

Single-board computers (SBC's) zijn erg populair in home lab-scenario's, en de afgelopen jaren hebben ze ook terrein gewonnen in professionele omgevingen en de industrie. Tegenwoordig is er een groot ecosysteem rondom edge computing en systemen met een kleine vormfactor.

Redelijke rekenkracht is gemakkelijk te verkrijgen, met verschillende SBC's die 4 cores en voldoende RAM bieden voor diverse toepassingen. Waar ze meestal tekortschieten is op het gebied van opslag. SD-kaarten en Flash-opslag in het algemeen zijn meestal traag en gevoelig voor uitval bij schrijfintensieve scenario's. Schijven die via USB zijn aangesloten bieden niet dezelfde betrouwbaarheid, en het kiezen van een goede USB-naar-SATA-connector is ook niet triviaal.

De ZimaBoard heeft een troef achter de hand. Twee SATA-poorten, de dubbele 100/1000 Ethernet en diverse PCIe-uitbreidingsopties maken het een zeer flexibel systeem.

Waar liggen de grenzen van wat een SBC realistisch gezien kan bereiken, en waarom is opslag altijd zo'n probleem? Waar ligt het gouden midden tussen een compacte machine, die geen enkele taak bijzonder goed beheerst, en een kabelsalade-monster met 6 SATA-schijven die een externe ATX-voeding nodig heeft?

Dit artikel heeft als doel de sterke punten van de ZimaBoard te verkennen en hoe deze benut kunnen worden om er goed gebruik van te maken. Zonder te eindigen met een belachelijk uitziende en onpraktische opstelling.

Motivatie

Zoals eerder vermeld, is veel rekenkracht gemakkelijk te implementeren en te gebruiken. Geheugen is ook goedkoop, dus opslag wordt al snel de beperkende factor. Iedereen die met infrastructuur te maken heeft gehad, is zich hier waarschijnlijk van bewust. Kijk maar eens naar de k8s netwerkopslagopties, de verschillende platforms die beweren S3-compatibele API's naar je cluster te brengen, en hoe vervelend ze zijn om te implementeren en goed te laten werken.

De ZimaBoard, met zijn uitstekende I/O-mogelijkheden, is een geweldige kandidaat voor een NAS met een klein formaat of een algemene server met veerkrachtige lokale opslag. En hier ligt de uitdaging – hoe bieden we fouttolerante opslag in een klein formaat pakket, op een platform dat "gewoon werkt" en operationeel saai is.

Aan de hardwarekant beperken we ons tot het draaien met slechts twee 2,5 inch schijven via de stroom- en SATA-connectoren aan de achterkant van de ZimaBoard. Dit zorgt voor een zeer compacte oplossing zonder de noodzaak van een externe voeding en uitbreidingskaarten.

Minder is meer

Het inzetten van veel opslag is goed, maar fouttolerante opslag is nog beter. Daarvoor hebben we een geavanceerder bestandssysteem nodig dat opslagredundantie biedt.

ZFS biedt software RAID-mogelijkheden die die van de meeste hardware RAID-controllers overtreffen. Het is een werkelijk uitstekend bestandssysteem met vele andere opmerkelijke functies zoals incrementele snapshots, synchronisatie tussen externe systemen en opslagpools, en encryptie.

De focus ligt vandaag puur op het redundant laten draaien van de schijven. Normaal wordt ZFS gebruikt om een RAIDZ-array te beheren. Maar omdat we ons hebben beperkt tot twee schijven, blijft er slechts één relevante optie over – de ZFS mirror pool. Dit halveert effectief de opslagcapaciteit, maar tegelijkertijd biedt het ons betere redundantie en de mogelijkheid om een enkele schijfuitval te weerstaan. Niet ideaal, maar het zal moeten.

Hardware

Schijven

Over het algemeen raadt de ZimaBoard-gemeenschap gebruikers aan om 2,5 inch schijven te gebruiken. Hun belangrijkste voordeel is dat ze geen 12V-rail nodig hebben om te functioneren. Er zijn meldingen van succesvolle tests met 3,5 inch schijven, dus YMMV. In mijn geval koos ik voor twee 1TB SSD's. Je kunt ook HDD's kiezen als je meer capaciteit nodig hebt.

Connectoren en 3D-geprinte accessoires

De officiële Y-Splitter wordt sterk aanbevolen voor het aansluiten en voeden van de twee schijven. Er zijn omwegen, zoals het gebruik van USB-naar-SATA stroomadapters. Dit ziet er slordig uit, maar het werkt. Om alles bij elkaar te houden werkt een 3D-geprinte dubbele HDD-standaard uitstekend. Het eindresultaat is een zeer draagbaar en laag profiel pakket.

Links zijn opgenomen aan het einde van het artikel. Ik vond deze versie erg compact en praktisch vanwege de kleine omvang. Er bestaan ook verschillende 3D-geprinte platen voor rackmontage, als je daar ruimte voor hebt.

ZFS installeren

De ZimaBoard wordt standaard geleverd met Debian. Dit is ook mijn persoonlijke aanbeveling voor een solide distro die niet in de weg zit of je zal verrassen. Voor andere distributies raadpleeg je de respectievelijke documentatie en ZFS-installatie-instructies.

Voordat je begint, vergeet niet bij te werken naar de nieuwste LTS-release als dat mogelijk is. Maak een back-up van je gegevens zodat het gemakkelijk is om alles af te breken en opnieuw te beginnen. En documenteer elke stap, zodat het oplossen van problemen eenvoudiger wordt. Bekijk de script commando voor een handige manier om dit te doen.

Gedetailleerde instructies en geavanceerde gebruiksscenario's zijn gedocumenteerd op https://wiki.debian.org/ZFS dit is de aanbevolen primaire bron voor het opzetten van ZFS.

Vereisten vooraf

Zorg ervoor dat HTTPS-repositories toegankelijk zijn:

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

Voeg de Backports-repository voor jouw release toe door /etc/apt/sources.list te bewerken of voeg een nieuw sources-bestand toe onder ‘/etc/apt/sources.list.d/’:

1 #bepaal codenaam of vervang handmatig hieronder:
2 codename=$(lsb_release -cs)
3 #backports-repository toevoegen aan sources list:
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-pakketten

Installeer tenslotte, volgens de Debian-documentatie, de nieuwste Linux-headers en de relevante ZFS-pakketten:

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

“Oh nee – er is iets misgegaan”

Het niet kunnen installeren van ZFS is meestal terug te voeren op een oude of onjuiste kernel, of ontbrekende headers. Het is het beste om alle ZFS-gerelateerde pakketten te verwijderen, de geïnstalleerde headers te controleren en de installatiedocumentatie opnieuw te lezen.

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

Een pool en een bestandssysteem aanmaken

Schijven weergeven op ID's:

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

En maak een pool aan door de stabiele apparaat-ID’s op te geven, bijvoorbeeld:

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

Maak een versleuteld bestandssysteem aan:

1 zfs create \
2 -o encryption=on \ # verwijderen indien niet nodig
3 -o keyformat=passphrase -o casesensitivity=mixed \
4 -o acltype=posixacl -o xattr=sa -o dnodesize=auto $mirror_pool_name/$dataset_name

Praktische gebruiksscenario’s en prestaties

ZimaBoard heeft geen problemen met het draaien van ZFS en heeft voldoende prestaties, waarbij alleen encryptie het CPU-gebruik merkbaar verhoogt. Transcoderen en streamen (bijv. met Jellyfin) is ook geen probleem. Het is belangrijk op te merken dat het lezen of schrijven van zeer grote bestanden naar een versleuteld bestandssysteem de CPU zwaar belast. Dit kan invloed hebben op andere workloads die op het systeem draaien.

SMB/NFS

Tijdens algemene tests duurde het schrijven van een enkel 12GB-bestand naar de ZFS-mirrorpool ongeveer 5 minuten, waarbij de schijf-I/O de bottleneck was. Het lezen van de ZFS-pool ging veel sneller en nam minder dan de helft van de tijd in beslag. Effectief was de 1Gbps-netwerkverbinding volledig benut. Beide tests werden uitgevoerd naar/van een niet-versleuteld bestandssysteem:

De volgende test toont de zware impact die encryptie op de CPU heeft. Hetzelfde 12GB-bestand werd gelezen van het niet-versleutelde ZFS-bestandssysteem en geschreven naar een versleuteld bestandssysteem. De prestaties zijn nog steeds uitstekend, maar het CPU-gebruik schoot omhoog en bleef gedurende het hele proces erg hoog.

Bronnen en referenties

Conclusie

Heb je vragen of wil je meer duidelijkheid over een aspect van de tutorial? Tyrehl staat klaar om te helpen! Word lid van onze Discord-community om direct contact te maken met Tyrehl en mee te doen aan interessante discussies. Je nieuwsgierigheid hoeft niet te stoppen bij de tutorial – Tyrehl helpt je graag op je ZFS-reis. Word lid van onze Discord-server: [ zimaboard.com/discord]

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd..

    1 out of ...
    Winkelwagen 0

    Je winkelwagen is momenteel leeg.

    Begin met winkelen