Hjemmeside » hvordan » En introduktion til Z-filsystemet (ZFS) til Linux

    En introduktion til Z-filsystemet (ZFS) til Linux

    ZFS bruges almindeligvis af datahødere, NAS-elskere og andre geeks, der foretrækker at sætte deres tillid til et redundant lagringssystem af deres egen frem for skyen. Det er et fantastisk filsystem til brug for styring af flere diske med data og rivaler nogle af de største RAID-opsætninger.

    Foto af Kenny Louie.

    Hvad er ZFS og hvorfor skal jeg bruge det?

    Z-filsystemet er en gratis og åben kilde logisk lydstyring, der er bygget af Sun Microsystems til brug i deres Solaris-operativsystem. Nogle af dens mest tiltalende funktioner omfatter:

    Endeløs skalerbarhed

    Nå, det er det ikke teknisk set uendelig, men det er et 128-bit filsystem, der kan administrere zettabytes (en milliard terabyte) data. Uanset hvor meget harddiskplads du har, vil ZFS være egnet til styring af det.

    Maksimal integritet

    Alt du gør inde i ZFS bruger en checksum for at sikre fil integritet. Du kan være sikker på, at dine filer og deres overflødige kopier ikke støder på tavs data korruption. Også, mens ZFS har travlt med at tjekke dine data for integritet, gør den automatisk reparationer, når som helst.

    Drive pooling

    Skaberne af ZFS vil have dig til at tænke på det som ligner den måde din computer bruger RAM på. Når du har brug for mere hukommelse i din computer, sætter du i en anden pind, og du er færdig. På samme måde med ZFS, når du har brug for mere plads på harddisken, sætter du i en anden harddisk, og du er færdig. Du behøver ikke bruge tid på partitionering, formatering, initialisering eller gør noget andet til dine diske - når du har brug for en større opbevaring "pool", skal du blot tilføje diske.

    RAID

    ZFS er i stand til mange forskellige RAID-niveauer, alt sammen med levering af ydeevne, der kan sammenlignes med hardware RAID-controllere. Dette giver dig mulighed for at spare penge, gøre installationen lettere, og få adgang til overlegne RAID-niveauer, som ZFS har forbedret.

    Installation af ZFS

    Da vi kun dækker det grundlæggende i denne vejledning, vil vi ikke installere ZFS som et rodfilsystem. Dette afsnit forudsætter at du bruger ext4 eller et andet filsystem og gerne vil bruge ZFS til nogle sekundære harddiske. Her er kommandoer til installation af ZFS på nogle af de mest populære Linux-distributioner.

    Solaris og FreeBSD bør allerede leveres med ZFS installeret og klar til brug.

    Ubuntu:

    $ sudo add-apt-depot ppa: zfs-native / stable
    $ sudo apt-get opdatering
    $ sudo apt-get installer ubuntu-zfs

    Debian:

    $ su -
    # wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
    # dpkg -i zfsonlinux_2 ~ wheezy_all.deb
    # apt-get opdatering
    # apt-get install debian-zfs

    RHEL / CentOS:

    $ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
    $ sudo yum installere zfs

    Hvis du har en anden distribution, skal du tjekke zfsonlinux.org og klikke på din distribution under "Pakker" listen for instruktioner om, hvordan du installerer ZFS.

    Som vi fortsætter med denne vejledning, vil vi bruge Ubuntu, fordi det synes at være # 1 valg til Linux-geeks. Du bør stadig kunne følge med, uanset hvad, da ZFS-kommandoerne ikke ændres på tværs af forskellige distributioner.

    Installation tager et stykke tid, men når det er færdigt, løbe $ sudo zfs liste for at sikre, at den er installeret korrekt. Du skal få en udgang som denne:

    Vi bruger en ny installation af Ubuntu-server lige nu, med kun en harddisk.

    Konfiguration af ZFS

    Lad os nu sige, at vi sætter yderligere seks harddiske i vores computer.

    $ sudo fdisk -l | grep Fejl vil vise os de seks harddiske vi lige har installeret. De er i øjeblikket ubrugelige, da de ikke indeholder nogen form for partitionstabellen.

    Som vi nævnte tidligere, er en af ​​de gode ting ved ZFS, at vi ikke behøver at gribe med partitioner (selvom du kan, hvis du vil). Lad os begynde med at tage tre af vores harddiske og sætte dem i en opbevaringsbassin ved at køre følgende kommando:

    $ sudo zpool oprette -f geek1 / dev / sdb / dev / sdc / dev / sdd

    zpool skabe Er kommandoen brugt til at oprette en ny oplagringsbassin, -f overstyrer eventuelle fejl, der opstår (f.eks. hvis disken / diskerne allerede har oplysninger om dem), geek1 er navnet på oplagringsbassinet og / dev / sdb / dev / sdc / dev / sdd er de harddiske vi sætter i puljen.

    Når du har oprettet din pool, skal du kunne se den med df kommando eller sudo zfs liste:

    Som du kan se, er / geek1 allerede monteret og klar til brug.

    Hvis du vil se hvilke tre diske du har valgt til din pool, kan du køre sudo zpool status:

    Hvad vi har gjort indtil videre, er at oprette en 9 TB dynamisk stripe pool (effektivt, RAID 0). Hvis du ikke er bekendt med hvad det betyder, forestil dig, at vi oprettet 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 læsning af 3 KB-filen, vil hver harddisk præsentere 1 KB for os, og kombinere hastigheden af ​​de tre drev. Dette gør skrivning og læsning af data hurtigt, men betyder også, at vi har et enkelt punkt med fejl. Hvis kun en harddisk fejler, vil vi miste vores 3 KB-fil.

    Forudsat at beskytte dine data er vigtigere end at få adgang til det hurtigt, lad os tage et kig på andre populære opsætninger. Først sletter vi zpoolen, vi har oprettet, så vi kan bruge disse diske i en mere overflødig opsætning:

    $ sudo zpool ødelægge geek1

    Bam, vores zpool er væk. Denne gang, lad os bruge vores tre diske til at oprette en RAID-Z-pool. RAID-Z er stort set en forbedret version af RAID 5, fordi den undgår "skrivehullet" ved hjælp af kopi-på-skriv. RAID-Z kræver mindst tre harddiske og er et kompromis mellem RAID 0 og RAID 1. I en RAID-Z-pool får du stadig hurtigere blokering på blokniveau, men vil også have fordelt paritet. Hvis en enkelt disk i din pool dør, skal du blot erstatte den disk, og ZFS vil automatisk genopbygge dataene baseret på paritetsoplysninger fra de andre diske. For at miste al informationen i din lagerplads skal to diske være nødt til at dø. For at gøre tingene endnu mere overflødige kan du bruge RAID 6 (RAID-Z2 i tilfælde af ZFS) og have dobbeltparitet.

    For at opnå dette kan vi bruge det samme zpool skabe kommando som før, men angiv raidz efter poolens navn:

    $ sudo zpool oprette -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd

    Som du kan se, df -h viser, at vores 9 TB pool er nu blevet reduceret til 6 TB, da 3 TB bruges til at holde paritetsinformation. Med zpool status kommando, vi ser at vores pool er stort set den samme som før, men bruger nu RAID-Z.

    For at vise, hvor nemt det er at tilføje flere diske til vores opbevaringsbassin, lad os tilføje de tre andre diske (en anden 9 TB) til vores geek1-lagerbassin som en anden RAID-Z-konfiguration:

    $ sudo zpool add -f geek1 raidz / dev / sde / dev / sdf / dev / sdg

    Vi ender med:

    Saga fortsætter ...

    Vi har næppe skrabet overfladen af ​​ZFS og dens evner, men ved at bruge det, du har lært i denne artikel, skal du nu kunne oprette overflødige lagringspuljer af dine data. Kig tilbage med os for fremtidige artikler om ZFS, se mandens sider, og søg efter de endeløse nicheguidere og Youtube-videoer, der dækker ZFS-funktioner.