ZFS

ZFS Concepts and Tutorial

ZFS Concepts and Tutorial

 ZFS: Concepts and Tutorial

På din søgen efter dataintegritet ved hjælp af OpenZFS er uundgåelig. Faktisk ville det være ret uheldigt, hvis du bruger andet end ZFS til at gemme dine værdifulde data.  Imidlertid er mange mennesker tilbageholdende med at prøve det. Årsagen er, at et filsystem med enterprise-grade med en lang række funktioner indbygget i det, ZFS skal være vanskeligt at bruge og administrere.  Intet kan være længere væk fra sandheden. Brug af ZFS er så let som det bliver. Med en håndfuld terminologier og endnu færre kommandoer er du klar til at bruge ZFS hvor som helst - Fra virksomheden til dit hjem / kontor NAS.

Med ordene fra skaberne af ZFS: “Vi vil gøre det nemt at tilføje lagerplads til dit system som at tilføje nye RAM-sticks.”

Vi vil senere se, hvordan det gøres. Jeg bruger FreeBSD 11.1 for at udføre nedenstående tests er kommandoerne og den underliggende arkitektur ens for alle Linux-distributioner, der understøtter OpenZFS.

Hele ZFS-stakken kan lægges ud i følgende lag:

Zpool oprette

Til at begynde med kan vi starte med en opsætning af, hvor vi har seks 20 GB-diske ada [1-6]

$ ls -al / dev / ada?

Det ada0 er, hvor operativsystemet er installeret. Resten vil blive brugt til denne demonstration.

Navnene på dine diske kan variere afhængigt af den anvendte grænseflade. Typiske eksempler inkluderer: da0, ada0, acd0 og cd.  Ser ind/ devgiver dig en idé om, hvad der er tilgængeligt.

EN zpool er skabt af zpool oprette kommando:

$ zpool create OurFirstZpool ada1 ada2 ada3 # Og kør derefter følgende kommando: $ zpool status 

Vi ser et pænt output, der giver os detaljerede oplysninger om puljen:

Dette er den enkleste zpool uden redundans eller fejltolerance ... Hver disk er sin egen vdev.

Du får dog stadig al ZFS-godhed som kontrolsum for hver datablok, der opbevares, så du i det mindste kan opdage, om de data, du har gemt, bliver ødelagt.

Filsystemer, a.k.et datasæt, kan nu oprettes oven på denne pool på følgende måde:

$ zfs opretter OurFirstZpool / dataset1 

Brug nu din velkendte df -h kommando eller kør:

$ zfs liste

Sådan ser du egenskaberne for dit nyoprettede filsystem:

Bemærk, hvordan hele pladsen, der tilbydes af de tre diske (vdevs), er tilgængelig for filsystemet. Dette gælder for alle filsystemer, du opretter i puljen, medmindre vi angiver andet.

Hvis du vil tilføje en ny disk (vdev), ada4, du kan gøre det ved at køre:

$ zpool tilføj OurFirstZpool ada4

Nu, hvis du ser tilstanden for dit filsystem

Den tilgængelige størrelse er nu vokset uden noget ekstra besvær med at dyrke partitionen eller sikkerhedskopiere og gendanne dataene på filsystemet.


Virtuelle enheder - Vdevs

Vdevs er byggestenene i en zpool, det meste af redundans og ydeevne afhænger af den måde, hvorpå dine diske er grupperet i disse, såkaldte, vdevs . Lad os se på nogle af de vigtigste typer af vdevs:

1. RAID 0 eller striber

Hver disk fungerer som sin egen vdev. Ingen dataredundans, og dataene spredes på alle diskene. Også kendt som striping. En enkelt disks fejl ville betyde, at hele zpoolen gøres ubrugelig. Brugbar lagring er lig med summen af ​​alle tilgængelige lagerenheder.

Den første zpool, som vi oprettede i det foregående afsnit, er et RAID 0- eller stripet lagringsarray.

2. RAID 1 eller spejl

Data spejles imellem ndiske. Den faktiske kapacitet af vdev er begrænset af den rå kapacitet på den mindste disk i den n-disk array. Data spejles imellem n diske, betyder det, at du kan modstå fejl i n-1 diske.

For at oprette et spejlet array skal du bruge nøgleordet mirror:

$ zpool opret tank spejl ada1 ada2 ada3

Dataene skrevet til tank zpool vil blive spejlet blandt disse tre diske, og den faktiske tilgængelige lagerplads er lig med størrelsen på den mindste disk, som i dette tilfælde er ca. 20 GB.

I fremtiden vil du måske føje flere diske til denne pool, og der er to mulige ting, du kan gøre. For eksempel zpool tank har tre diske, der spejler data som et enkelt vdev-spejl-0:

Du vil måske tilføje ekstra disk, siger ada4, for at spejle samme data. Dette kan gøres ved at køre kommandoen:

$ zpool vedhæft tank ada1 ada4

Dette vil tilføje en ekstra disk til vdev, som allerede har disken ada1 i det, men øg ikke tilgængelig lagerplads.

På samme måde kan du løsne drev fra et spejl ved at køre:

$ zpool løsne tank ada4

På den anden side vil du måske tilføje en ekstra vdev for at øge kapaciteten af ​​zpool. Det kan gøres ved hjælp af kommandoen zpool add:

$ zpool tilføj tank spejl ada4 ada5 ada6


Ovenstående konfiguration gør det muligt at stribe data over vdevs mirror-0 og mirror-1. Du kan miste 2 diske pr. Vdev, i dette tilfælde, og dine data vil stadig være intakte. Samlet brugbar plads øges til 40 GB.

3. RAID-Z1, RAID-Z2 og RAID-Z3

Hvis en vdev er af typen RAID-Z1, skal den bruge mindst 3 diske, og vdev kan kun tåle død af en af ​​disse diske. RAID-Z-konfigurationer tillader ikke tilslutning af diske direkte til en vdev. Men du kan tilføje flere vdevs ved hjælp af zpool tilføj, sådan at poolens kapacitet kan fortsætte med at stige.

RAID-Z2 vil kræve mindst 4 diske pr. Vdev og kan tåle op til 2 diskfejl, og hvis den tredje disk fejler, før de 2 diske udskiftes, går dine værdifulde data tabt. Det samme følger for RAID-Z3, som kræver mindst 5 diske pr. Vdev, med op til 3 diske med fejltolerance, før opsving bliver håbløs.

Lad os oprette en RAID-Z1-pool og dyrke den:

$ zpool opret tank raidz1 ada1 ada2 ada3

Puljen bruger tre 20 GB diske, der gør 40 GB af den tilgængelig for brugeren.

Tilføjelse af endnu en vdev kræver 3 ekstra diske:

$ zpool tilføj tank raidz1 ada4 ada5 ada6


De samlede anvendelige data er nu 80 GB, og du kan miste op til 2 diske (en fra hver vdev) og stadig have et håb om opsving.

Konklusion

Nu ved du nok om ZFS til at importere alle dine data til det med tillid. Herfra kan du slå op på forskellige andre funktioner, som ZFS giver som at bruge højhastigheds NVM'er til læsning og skrivecache, ved hjælp af indbygget komprimering til dine datasæt og i stedet for at blive overvældet af alle de tilgængelige muligheder skal du bare se efter, hvad du har brug for til din særlig brugssag.

I mellemtiden er der et par nyttige tips til valg af hardware, som du skal følge:

  1. Brug aldrig RAID-controller til hardware sammen med ZFS.
  2. Fejlkorrektion af RAM (ECC) anbefales, men ikke obligatorisk
  3. Data deduplication funktion bruger meget hukommelse, brug kompression i stedet.
  4. Data redundans er ikke et alternativ til backup. Har flere sikkerhedskopier, gem disse sikkerhedskopier ved hjælp af ZFS!
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...
Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...