Konfiguration af ZFS på Ubuntu 20.04
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
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
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
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
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
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
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
.
Vi kan til enhver tid ødelægge vores zpool med følgende kommando:
$ sudo zpool destroy mypool
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
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
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.
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
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.