Bilde av Kenny Louie.
Hva er ZFS og hvorfor skal jeg bruke det?
Z-filsystemet er en gratis og åpen kildekode logisk volumleder bygget av Sun Microsystems for bruk i deres Solaris-operativsystem. Noen av sine mest tiltalende funksjoner inkluderer:
Uendelig skalerbarhet
Vel, det er det ikke teknisk sett uendelig, men det er et 128-biters filsystem som kan administrere zettabytes (en milliard terabyte) data. Uansett hvor mye harddiskplass du har, vil ZFS være egnet for å administrere den.
Maksimal integritet
Alt du gjør inne i ZFS bruker et kontrollsum for å sikre filintegritet. Du kan være trygg på at filene dine og deres overflødige kopier ikke kommer til å møte stille data korrupsjon. Også, mens ZFS er opptatt av å sjekke dataene dine for integritet, gjør det automatisk reparasjoner når som helst.
Kjør pooling
Skaperne av ZFS vil at du skal tenke på det som ligner på hvordan datamaskinen bruker RAM. Når du trenger mer minne i datamaskinen, legger du i en annen pinne og du er ferdig. På samme måte som ZFS, når du trenger mer harddiskplass, legger du inn en annen harddisk, og du er ferdig. Du trenger ikke å bruke tidspartisjonering, formatering, initialisering eller noe annet på diskene dine - når du trenger et større lagringsbasseng, bare legg til disker.
RAID
ZFS er i stand til mange forskjellige RAID-nivåer, samtidig som det leverer ytelse som er sammenlignbare med RAID-controllere. Dette gjør at du kan spare penger, gjøre oppsettet lettere, og få tilgang til overlegne RAID-nivåer som ZFS har forbedret.
Installere ZFS
Siden vi bare dekker det grunnleggende i denne veiledningen, skal vi ikke installere ZFS som et rotfilsystem. Denne delen antar at du bruker ext4 eller et annet filsystem, og vil gjerne bruke ZFS for noen sekundære harddisker. Her er kommandoer for å installere ZFS på noen av de mest populære Linux-distribusjonene.
Solaris og FreeBSD bør allerede leveres med ZFS installert og klar til bruk.
Ubuntu:
$ sudo add-apt-repository ppa:zfs-native/stable $ sudo apt-get update $ sudo apt-get install ubuntu-zfs
Debian:
$ su - # wget https://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb # dpkg -i zfsonlinux_2~wheezy_all.deb # apt-get update # apt-get install debian-zfs
RHEL / CentOS:
$ sudo yum localinstall --nogpgcheck https://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm $ sudo yum install zfs
Hvis du har annen distribusjon, sjekk ut zfsonlinux.org og klikk på distribusjonen din under "Pakker" -listen for instruksjoner om hvordan du installerer ZFS.
Når vi fortsetter med denne veiledningen, skal vi bruke Ubuntu fordi det synes å være # 1-valget for Linux-geeks. Du bør fortsatt kunne følge med, uansett hva, da ZFS-kommandoene ikke endres på tvers av forskjellige distribusjoner.
Installasjon tar litt tid, men når den er ferdig, løp
$ sudo zfs list
for å sikre at den er riktig installert. Du bør få en utgang som denne:
Konfigurere ZFS
La oss si at vi setter seks flere harddisker inn i datamaskinen vår.
$ sudo fdisk -l | grep Error
vil vise oss de seks harddiskene vi nettopp har installert. De er for tiden ubrukelige, siden de ikke inneholder noen form for partisjonstabell.
$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd
zpool create
er kommandoen brukt til å opprette et nytt lagringsbasseng,
-f
overstyrer eventuelle feil som oppstår (for eksempel hvis disken / diskene allerede har informasjon om dem),
geek1
er navnet på lagringsbassenget, og
/dev/sdb /dev/sdc /dev/sdd
er harddiskene vi legger i bassenget.
Etter at du har opprettet bassenget ditt, bør du kunne se det med
df
kommando eller
sudo zfs list
:
Hvis du vil se hvilke tre disker du har valgt for bassenget ditt, kan du kjøre
sudo zpool status
:
Det vi har gjort så langt, er å skape et 9 TB dynamisk stripepool (effektivt, RAID 0). Hvis du ikke er kjent med hva det betyr, forestill deg at vi opprettet en 3 KB-fil på / geek1. 1 KB ville automatisk gå til sdb, 1 kB til sdc og 1 kb til sdd. Så når vi går til å lese 3 KB-filen, vil hver harddisk presentere 1 KB til oss, og kombinere hastigheten til de tre stasjonene. Dette gjør at du skriver og leser data raskt, men betyr også at vi har et enkelt feilpunkt. Hvis bare en harddisk mislykkes, vil vi miste vår 3 KB-fil.
Forutsatt at det er viktigere å beskytte dataene dine enn å få tilgang til det raskt, la oss se på andre populære oppsett. Først sletter vi zpoolen vi har opprettet, slik at vi kan bruke disse diskene i et mer overflødig oppsett:
$ sudo zpool destroy geek1
Bam, vår zpool er borte. Denne gangen, la oss bruke våre tre disker for å lage et RAID-Z-basseng. RAID-Z er i utgangspunktet en forbedret versjon av RAID 5, fordi den unngår "skrivehullet" ved å bruke copy-on-write. RAID-Z krever minst tre harddisker, og er et kompromiss mellom RAID 0 og RAID 1. I et RAID-Z-basseng vil du fortsatt få hastigheten på blokknivå-striping, men vil også ha fordelt paritet. Hvis en enkelt disk i bassenget ditt dør, bare erstatt den disken, og ZFS vil automatisk gjenoppbygge dataene basert på paritetsinformasjon fra de andre diskene. For å miste all informasjon i lagringsbassenget ditt, måtte to disker dø. For å gjøre ting enda mer overflødig, kan du bruke RAID 6 (RAID-Z2 i tilfelle ZFS) og har dobbel paritet.
For å oppnå dette kan vi bruke det samme
zpool create
kommando som før, men spesifiser
raidz
etter navnet på bassenget:
$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd
df -h
viser at vår 9 TB basseng har nå blitt redusert til 6 TB, siden 3 TB blir brukt til å holde paritetsinformasjon. Med
zpool status
kommando, vi ser at vårt basseng er stort sett det samme som før, men bruker RAID-Z nå.
For å vise hvor enkelt det er å legge til flere disker i lagringsbassenget, la vi legge til de tre andre diskene (en annen 9 TB) til vårt geek1-lagringsområde som en annen RAID-Z-konfigurasjon:
$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg
Vi ender med:
Historien fortsetter …
Vi har knapt skrapt overflaten av ZFS og dens evner, men ved å bruke det du har lært i denne artikkelen, bør du nå kunne opprette overflødige lagringsbassenger av dataene dine. Sjekk tilbake med oss for fremtidige artikler om ZFS, se mannens sider, og søk etter de endeløse nisjeguider og Youtube-videoer som dekker ZFS-funksjoner.