Konfigurera ZFS på Ubuntu 20.04
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
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
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
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
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
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
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
.
Vi kan förstöra vår zpool när som helst med följande kommando:
$ sudo zpool destroy mypool
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
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
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.
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
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.