Konfigurera ZFS på Ubuntu 20.04

nov 17, 2021
admin

När du har installerat ZFS på Ubuntu 20.04 är nästa steg att konfigurera dina hårddiskar. Det finns många möjligheter med ZFS och vad du väljer att göra beror på hur många hårddiskar du har tillgängliga och vad dina lagringsmål är. Vill du till exempel att din lagringsarray ska fokusera på hastighet eller redundans? Har du 3 diskar eller 20 diskar? Hur är det med kryptering?

Vilken typ av konfiguration du än väljer visar vi dig hur du kommer igång i den här guiden. Läs vidare när vi tar upp grundläggande användningskommandon i ZFS och konfigurerar zpools, RAID-Z, kryptering med mera.

I den här handledningen kommer du att lära dig:

  • Hur man installerar ZFS på Ubuntu 20.04
  • Hur man skapar och förstör zpools
  • Konfigurera olika nivåer av RAID och RAID-Z
  • Hur man använder kryptering med ZFS
ZFS på Ubuntu 20.04

ZFS på Ubuntu 20.04

Mjukvarukrav och konventioner för Linux-kommandoraden
Kategori Krav, konventioner eller programvaruversion som används
System Installerat eller uppgraderat Ubuntu 20.04 Focal Fossa
Mjukvara ZFS Utilities
Andra Priviligierad åtkomst till ditt Linuxsystem som root eller via kommandot sudo.
Konventioner # – kräver att givna linuxkommandon ska utföras med root-privilegier, antingen direkt som root-användare eller med hjälp av sudo-kommandot $ – kräver att givna linuxkommandon exekveras som en vanlig icke-priviligierad användare

Förutsättningar

Det enda du behöver för att komma igång med ZFS och följa med i vår guide är Ubuntu 20.04 Focal Fossa, några hårddiskar som du vill använda i din(a) lagringsarray(s) och ZFS-verktygen som är installerade på ditt system. Om du inte redan har ZFS installerat kan du öppna en terminal och installera zfsutils-linux-paketet med dessa två kommandon:

$ sudo apt update$ sudo apt install zfsutils-linux

Du kan verifiera att ZFS är installerat med följande kommando i terminalen:

$ zfs --version
Kontrollera ZFS-versionen för att verifiera att ZFS är installerat på ditt system

Kontrollera ZFS-versionen för att verifiera att ZFS är installerat på ditt system

ZFS Basic Usage and Commands

Vi har ett par hårddiskar i vårt testsystem som vi planerar att använda med ZFS. Vi kommer att visa dig olika saker du kan göra med dem i det här avsnittet.

När du ansluter nya hårddiskar till ditt system adresserar ZFS dem med deras enhetsnamn – normalt något i stil med /dev/sda eller liknande. Du kan använda kommandot fdisk för att se vilka hårddiskar du har tillgängliga.

$ sudo fdisk -l
Kommandot fdisk visar oss alla hårddiskar på vårt system som kan användas i zpools

Kommandot fdisk visar oss alla hårddiskar på vårt system som kan användas i zpools

Skapa och förstör ZFS-lagringspooler

ZFS fungerar genom att ”poola” diskar tillsammans. Dessa pooler (vanligen kallade ”zpools”) kan konfigureras för olika RAID-nivåer.

Den första zpoolen vi ska titta på är en RAID 0. Detta fungerar genom att data stripsas över flera diskar. När en fil läses från eller skrivs till lagringspoolen arbetar alla diskar tillsammans för att presentera en del av data. Detta ger dig en hastighetsökning för dina läs- och skrivhastigheter, men det gör ingenting för redundans. Faktum är att varje diskfel i poolen resulterar i en fullständig förlust av data.

$ sudo zpool create mypool /dev/sdb /dev/sdc
Kommandot zpool status visar vår RAID 0 striped zpool

Kommandot zpool status visar vår RAID 0 striped zpool

Detta kommando har skapat en ZFS-lagringspool som heter ”mypool” med två hårddiskar, /dev/sdb och /dev/sdc. Du kan när som helst se detaljer om dina lagringspooler genom att köra det här kommandot:

$ zpool status

Och du kan se en mer kortfattad rapport om dina ZFS-lagringspooler genom att köra:

$ zpool list
Output of zpool list command

Output of zpool list command

Din nyligen skapade pool monteras automatiskt åt dig och du kan börja använda den direkt. En trevlig egenskap hos ZFS är att du inte behöver gå igenom en långvarig partitionering (när du använder hela diskar) eller formateringsprocess. Lagringsutrymmet är bara tillgängligt direkt.

$ df -hT | grep zfs
Använd kommandot df för att se din monterade zpool

Använd kommandot df för att se din monterade zpool

Om du vill lägga till ytterligare en hårddisk till poolen, kan du ta en titt på det här kommandot där vi lägger till hårddisk /dev/sdd till vår tidigare skapade mypool lagringspool:

$ sudo zpool add mypool /dev/sdd

Du kan se att disken har lagts till i zpoolen med kommandot zpool status.

En ny hårddisk har lagts till vår zpool

En ny hårddisk har lagts till vår zpool

Vi kan förstöra vår zpool när som helst med följande kommando:

$ sudo zpool destroy mypool
Destroying our zpool

Destroying our zpool

I fallet med RAID 0-zpooler kan du inte ta bort någon disk från poolen utan att förstöra poolen helt och hållet och förlora all data. ZFS har många olika alternativ, varav vissa gör det möjligt att ta bort eller misslyckas med diskar samtidigt som poolens integritet bibehålls.

Andra typer av ZFS-lagringspooler skapas på samma sätt som vi har visat dig ovan, men du måste ange ett extra argument i zpool-kommandot när du skapar poolen. Låt oss titta på några exempel.

En speglad lagringspool är ZFS motsvarighet till RAID 1. Detta ger dig redundans eftersom alla dina data speglas från en hårddisk till en eller flera andra hårddiskar. För att skapa en speglad lagringspool använder du följande kommandosyntax:

$ sudo zpool create mypool mirror /dev/sdb /dev/sdc
Skapa en speglad (RAID 1) zpool

Skapa en speglad (RAID 1) zpool

Självklart kan fler diskar läggas till i poolen för att skapa ytterligare redundans.

Nu ska vi ta en titt på RAID-Z-pooler. RAID-Z är mycket lik RAID 5, men förbättrar den med bättre hastighet och undviker några av de vanligaste felen som är förknippade med RAID 5.

RAID-Z ger dig snabbhet plus redundans genom att använda striping på blocknivå och distribuerad paritet. Det finns tre typer av RAID-Z tillgängliga, beroende på hur mycket paritet du vill ha.

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

Här kan du se hur du kan skapa en RAID-Z-pool. Använd raidz2 eller raidz3 i stället för raidz i det här kommandot om du vill ha mer paritet (tänk på att du också behöver ytterligare diskar i så fall):

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

Skapa en RAID-Z zpool

Kryptering på ZFS

När du skapat din ZFS-lagringspool kan du konfigurera kryptering på den med följande kommandon. I det här exemplet använder vi fortfarande vår RAID-Z-pool med tre diskar som heter mypool.

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

Du ombeds ange en lösenfras två gånger för krypteringen.

Konfigurering av kryptering med ZFS

Konfigurering av kryptering med ZFS

En ny katalog skapas under /mypool/encrypted och allt i den katalogen krypteras. Varje gång du startar om måste du manuellt montera det krypterade datasetet. Var noga med att använda flaggan -l när du monterar krypterade datamängder. Du kommer att uppmanas att ange den lösenfras du valde tidigare.

$ sudo zfs mount -l mypool/encrypted
Montera det krypterade ZFS-dataset

Montera det krypterade ZFS-dataset

Slutsats

ZFS är ett filsystem med fokus på hög tillgänglighet och dataintegritet. Det är perfekt för lagrings-/NAS-servrar och alla miljöer där läs- och skrivhastigheter är avgörande tillsammans med redundans av hårddiskar.

I den här guiden har vi lärt oss om några grundläggande användningskommandon för ZFS i Ubuntu 20.04 Focal Fossa. Vi har visat hur du kan komma igång med att konfigurera ZFS på ditt eget system med zpools, men konfigurationen för ZFS kan bli mycket mer omfattande.

Lämna ett svar

Din e-postadress kommer inte publiceras.