Konfiguration af ZFS på Ubuntu 20.04

nov 17, 2021
admin

Når du er færdig med at installere ZFS på Ubuntu 20.04, er det næste skridt at foretage en konfiguration af dine harddiske. Der er mange muligheder med ZFS, og hvad du beslutter dig for at gøre, afhænger af, hvor mange diske du har til rådighed, og hvad dine lagermål er. Vil du f.eks. hellere have, at dit storage array fokuserer på hastighed eller redundans? Har du 3 diske eller 20 diske? Hvad med kryptering?

Hvilken type konfiguration du end vælger, viser vi dig i denne vejledning, hvordan du kommer i gang. Læs videre, mens vi dækker grundlæggende brugskommandoer i ZFS og opsætning af zpools, RAID-Z, kryptering og meget mere.

I denne vejledning lærer du bl.a:

  • Sådan installerer du ZFS på Ubuntu 20.04
  • Sådan opretter og ødelægger du zpools
  • Konfigurer forskellige niveauer af RAID og RAID-Z
  • Sådan bruger du kryptering med ZFS
ZFS på Ubuntu 20.04

ZFS på Ubuntu 20.04

ZFS på Ubuntu 20.04

Softwareforudsætninger og Linux-kommandolinjekonventioner
Kategori Krav, konventioner eller anvendt softwareversion
System Installerede eller opgraderede Ubuntu 20.04 Focal Fossa
Software ZFS Utilities
Andre Privilegeret adgang til dit Linux-system som root eller via kommandoen sudo.
Konventioner # – kræver, at givne linux-kommandoer skal udføres med root-privilegier enten direkte som root-bruger eller ved brug af sudo-kommandoen $ – kræver, at givne linux-kommandoer udføres som en almindelig ikke-privilegeret bruger

Forudsætninger

Det eneste, du behøver for at komme i gang med ZFS og følge med i vores vejledning, er Ubuntu 20.04 Focal Fossa, nogle harddiske, som du gerne vil bruge i din(e) storage array(s), og ZFS-værktøjerne installeret på dit system. Hvis du ikke allerede har ZFS installeret, kan du åbne en terminal og installere zfsutils-linux-pakken med disse to kommandoer:

$ sudo apt update$ sudo apt install zfsutils-linux

Du kan verificere, at ZFS er installeret med følgende kommando i terminalen:

$ zfs --version
Kontroller ZFS-versionen for at verificere, at ZFS er installeret på dit system

Kontroller ZFS-versionen for at verificere, at ZFS er installeret på dit system

ZFS Basic Usage and Commands

Vi har et par harddiske i vores testsystem, som vi planlægger at bruge med ZFS. Vi vil vise dig forskellige ting, du kan gøre med dem i dette afsnit.

Når du sætter nye harddiske i dit system, adresserer ZFS dem ved deres enhedsnavn – normalt noget i retning af /dev/sda eller lignende. Du kan bruge kommandoen fdisk til at se, hvilke harddiske du har til rådighed.

$ sudo fdisk -l
Kommandoen fdisk viser os alle de harddiske på vores system, der kan bruges i zpools

Kommandoen fdisk viser os alle de harddiske på vores system, der kan bruges i zpools

Opret og ødelæg ZFS-lagringspools

ZFS fungerer ved at “samle” diske i puljer. Disse puljer (almindeligvis kaldet “zpools”) kan konfigureres til forskellige RAID-niveauer.

Den første zpool, vi skal se på, er en RAID 0. Denne fungerer ved at strippe dine data på flere diske. Når en fil læses fra eller skrives til lagringspoolen, arbejder alle diskene sammen om at præsentere en del af dataene. Dette giver dig et hastighedsboost for dine læse- og skrivehastigheder, men det gør ikke noget for redundans. Faktisk vil enhver diskfejl i poolen resultere i et fuldstændigt tab af data.

$ sudo zpool create mypool /dev/sdb /dev/sdc
Kommandoen zpool status viser vores RAID 0 striped zpool

Kommandoen zpool status viser vores RAID 0 striped zpool

Denne kommando har oprettet en ZFS-lagringspool med navnet “mypool” med to harddiske, /dev/sdb og /dev/sdc. Du kan til enhver tid få vist detaljer om dine lagringspuljer ved at køre denne kommando:

$ zpool status

Og du kan få vist en mere kortfattet rapport om dine ZFS-lagringspuljer ved at udføre:

$ zpool list
Output of zpool list command

Output of zpool list command

Din nyligt oprettede pool monteres automatisk for dig, og du kan begynde at bruge den med det samme. En god egenskab ved ZFS er, at du ikke behøver at gennemgå en langvarig partitionering (når du bruger hele diske) eller formateringsproces. Lagerpladsen er bare tilgængelig med det samme.

$ df -hT | grep zfs
Brug kommandoen df for at se din monterede zpool

Brug kommandoen df for at se din monterede zpool

Hvis du vil tilføje endnu en harddisk til puljen, så tag et kig på denne kommando, hvor vi tilføjer harddisk /dev/sdd til vores tidligere oprettede mypool-lagringspool:

$ sudo zpool add mypool /dev/sdd

Du kan se, at disken er blevet tilføjet til zpoolen med kommandoen zpool status.

En ny harddisk er blevet tilføjet til vores zpool

En ny harddisk er blevet tilføjet til vores zpool

Vi kan til enhver tid ødelægge vores zpool med følgende kommando:

$ sudo zpool destroy mypool
Destruktion af vores zpool

Destruktion af vores zpool

I tilfælde af RAID 0-zpools kan du ikke fjerne en disk fra poolen uden at ødelægge poolen fuldstændigt og miste alle data. ZFS har mange forskellige muligheder, hvoraf nogle giver mulighed for at fjerne eller fejle diske, mens poolens integritet stadig opretholdes.

Andre typer ZFS-lagringspools oprettes på samme måde, som vi har vist dig ovenfor, men du skal angive et ekstra argument i zpool-kommandoen, når du opretter poolen. Lad os se på nogle eksempler.

En spejlet lagringspool er ZFS’ ækvivalent til RAID 1. Dette giver dig redundans, fordi alle dine data er spejlet fra en harddisk til en eller flere andre harddiske. Hvis du vil oprette en spejlet lagringspool, skal du bruge følgende kommandosyntaks:

$ sudo zpool create mypool mirror /dev/sdb /dev/sdc
Skabelse af en spejlet (RAID 1) zpool

Skabelse af en spejlet (RAID 1) zpool

Der kan naturligvis tilføjes flere diske til poolen for at skabe yderligere redundans.

Nu tager vi et kig på RAID-Z-puljer. RAID-Z minder meget om RAID 5, men forbedrer det med bedre hastighed og undgår nogle af de almindelige fejl, der er forbundet med RAID 5.

RAID-Z giver dig hastighed plus redundans ved at bruge striping på blokniveau og distribueret paritet. Der findes tre typer RAID-Z, afhængigt af hvor meget paritet du ønsker.

  • raidz1 (eller bare raidz) – single parity
  • raidz2 – double parity
  • raidz3 – triple parity

Sådan her kan du oprette en RAID-Z-pulje. Brug raidz2 eller raidz3 i stedet for raidz i denne kommando, hvis du vil have mere paritet (husk, at du også skal bruge ekstra diske i så fald):

$ sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
Opretning af en RAID-Z zpool

Opretning af en RAID-Z zpool

Kryptering på ZFS

Når du har oprettet din ZFS-lagringspool, kan du konfigurere kryptering på den med følgende kommandoer:

$ sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd

Når du har oprettet din ZFS-lagringspool, kan du konfigurere kryptering på den med følgende kommandoer. I dette eksempel bruger vi stadig vores RAID-Z-pool med tre diske ved navn mypool.

$ sudo zfs create -o encryption=on -o keylocation=prompt -o keyformat=passphrase mypool/encrypted

Du bliver bedt om at indtaste en adgangsfrase to gange til krypteringen.

Konfigurering af kryptering med ZFS

Konfigurering af kryptering med ZFS

Der oprettes en ny mappe under /mypool/encrypted, og alt i den mappe krypteres. Hver gang du genstarter, skal du manuelt montere det krypterede datasæt. Du skal sørge for at bruge -l-flaget, når du monterer krypterede datasæt. Du bliver bedt om at indtaste den adgangsfrase, du valgte tidligere.

$ sudo zfs mount -l mypool/encrypted
Montering af det krypterede ZFS-datasæt

Montering af det krypterede ZFS-datasæt

Konklusion

ZFS er et filsystem, der fokuserer på høj tilgængelighed og dataintegritet. Det er perfekt til storage/NAS-servere og ethvert miljø, hvor læse- og skrivehastigheder er afgørende sammen med harddiskredundans.

I denne vejledning har vi lært om nogle grundlæggende brugskommandoer til ZFS i Ubuntu 20.04 Focal Fossa. Vi har vist dig, hvordan du kan komme i gang med at konfigurere ZFS på dit eget system med zpools, men konfigurationen for ZFS kan blive langt mere omfattende.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.