ZFS

ZFS DigitalOcean Hands On Tutorial

ZFS DigitalOcean Hands On Tutorial

OpenZFS: En praktisk guide med DigitalOcean

Du har kanskje flere ganger hørt at ZFS er et filsystem som er beregnet på å håndtere store datamengder i kompliserte matriser. Naturligvis vil dette få enhver nybegynner til å tenke at de ikke burde (eller ikke kunne) dabble med slik teknologi.

Ingenting kan være lenger fra sannheten. ZFS er en av få programvare der ute som bare fungerer. Uten esken, uten finjustering, gjør den alle tingene den reklamerer for - Fra dataintegritetskontroller til RAIDZ-konfigurasjon. Ja, det er finjusteringsalternativer tilgjengelig, og man kan fordype seg i det hvis behovet oppstår. Men for nybegynnere fungerer standardene fantastisk bra.

Den eneste begrensningen du kan støte på, er maskinvaren. Å sette flere disker i forskjellige konfigurasjoner betyr at du har mange disker liggende å være sammen med! Det er der DigitalOcean (DO) kommer til unnsetning.

Merk: Hvis du er kjent med DO og hvordan du setter opp SSH-nøkler, kan du hoppe rett til ZFS-delen av diskusjonen. Hva de neste to avsnittene viser er hvordan du setter opp en virtuell maskin på DigitalOcean og kobler blokkenheter til den med

Introduksjon til DigitalOcean

For å si det enkelt, DigitalOcean er en skytjenesteleverandør hvor du kan spinne opp virtuelle maskiner slik at appene dine kan kjøres på. Du får vanvittig mye båndbredde og all SSD-lagring du kan kjøre appene dine på. Det er rettet mot utviklerne og ikke operatørene, og derfor er brukergrensesnittet mye enklere og lettere å forstå.

I tillegg belaster de per time, noe som betyr at du kan jobbe med forskjellige ZFS-konfigurasjoner i noen timer, slette alle virtuelle maskiner og lagring når du er fornøyd, og regningen vil ikke overstige mer enn noen få dollar.

Vi bruker to av funksjonene på DigitalOcean for denne opplæringen:

  1. Små dråper: En dråpe er deres ord for en virtuell maskin som kjører et operativsystem med en statisk offentlig IP. Vårt valg av operativsystem vil være Ubuntu 16.04 LTS.
  2. Blokker lagring: Blokkering av lagring ligner på en disk som er koblet til datamaskinen. Med unntak av, her får du bestemme størrelsen og antallet disker du ønsker.

Registrer deg for DigitalOcean hvis du ikke allerede har gjort det.

For å logge inn på den virtuelle maskinen din er det to måter, den ene er å bruke konsollen (som passordet får e-post til deg), eller du kan bruke SSH-nøkkelalternativet.

Grunnleggende SSH-oppsett

MacOS og andre UNIX-brukere som har en terminal på skrivebordet, kan bruke den til å SSH i dråpene sine (SSH-klienten er installert som standard på stort sett alle enheter) og Windows-brukere vil kanskje laste ned Git Bash.

Når du er i terminalen, skriver du inn følgende kommandoer:

$ mkdir -p ~ /.ssh
$ cd ~ /.ssh
$ ssh-keygen -y -f YourKeyName

Dette vil generere to filer i ~ /.ssh katalog, en som heter YourKeyName, som du trenger for å være trygg og privat hele tiden. Det er din private nøkkel. Det vil kryptere meldinger før du sender dem til serveren, og det vil dekryptere meldingene som filen sender deg tilbake. Som navnet antyder, er den private nøkkelen ment å holdes hemmelig hele tiden.

En annen fil er opprettet med navnet Ditt nøkkelnavn.pub og dette er din offentlige nøkkel som du vil gi til DigitalOcean når du lager Droplet. Den håndterer kryptering og dekryptering av meldinger på serveren, akkurat som den private nøkkelen gjør på din lokale maskin.

Lage din første dråpe

Etter at du registrerte deg for DO, er du klar til å lage din første Droplet.  Følg trinnene nedenfor:

1. Klikk på Opprett-knappen øverst til høyre og velg Dråpe alternativ.

2. Den neste siden lar deg bestemme spesifikasjonene til Droplet. Vi bruker Ubuntu.

3. Velg størrelse, selv alternativet $ 5 / mo fungerer for små eksperimenter.

4. Velg datasenteret nærmest deg for lave ventetider. Du kan hoppe over resten av tilleggsalternativene.

Merk: Ikke legg til noen volumer nå. Vi vil legge dem til senere for klarhetens skyld.

5. Klikk på Nye SSH-nøkler og kopier alt innholdet av Ditt nøkkelnavn.pub inn i den og gi den et navn. Nå er det bare å klikke på Skape og din dråpe er god å gå.

6. Få IP-adressen til Droplet fra dashbordet.

7. Nå kan du SSH, som rotbruker, i Droplet fra terminalen din ved hjelp av kommandoen:

$ ssh root @ 138.68.97.47 -i ~ /.ssh / YourKeyName

Ikke kopier kommandoen ovenfor, siden IP-adressen din vil være annerledes. Hvis alt fungerte riktig, vil du motta en velkomstmelding på terminalen din, og du vil være logget inn på den eksterne serveren din.

Legger til blokkeringslagring

For å få listen over blokkeringsenheter i den virtuelle maskinen din, bruk kommandoen i terminalen:

$ lsblk

Du vil bare se en disk partisjonert i tre blokkeringsenheter. Dette er OS-installasjonen, og vi skal ikke eksperimentere med dem. Vi trenger flere lagringsenheter for det.

For å gå til DigitalOcean dashbordet ditt, klikk på Create knappen som du gjorde i første trinn, og velg alternativet for volum. Fest den til dråpen din og gi den et passende navn. Legg til tre slike volumer ved å gjenta dette trinnet to ganger til.

Nå hvis du går tilbake til terminalen og skriver inn lsblk, du vil se nye oppføringer til denne listen. I skjermbildet nedenfor er det 3 nye disker som vi skal bruke til å teste ZFS.

Som et siste trinn, før du går inn i ZFS, bør du først merke diskene dine under GPT-ordningen. ZFS fungerer best med GPT-skjema, men blokkeringslageret som er lagt til dråpene dine, har en MBR-etikett. Følgende kommando løser problemet ved å legge til en GPT-etikett på de nylig tilkoblede blokkene.

$ sudo parted / dev / sda mklabel gpt

Merk: Den partisjonerer ikke blokkenheten, den bruker bare det 'delte' verktøyet for å gi en globalt unik ID (GUID) til blokkenheten. GPT står for GUID Partition Table, og den holder oversikt over hver disk eller partisjon med en GPT-etikett på.

Gjenta det samme for sdb og sdc.

Nå er vi klare til å komme i gang med å bruke OpenZFS med nok stasjoner til å eksperimentere med forskjellige arrangementer.

Zpools og VDEVs

For å komme i gang med å lage din første Zpool. Du må forstå hva en virtuell enhet er og hva formålet er.

En virtuell enhet (eller en Vdev) kan være en enkelt disk eller en gruppering av disker som er utsatt som en enhet for zpoolen. For eksempel de tre 100 GB enhetene opprettet ovenfor sda, sdb og sdc alle kan være en egen vdev, og du kan opprette en zpool med navnet tank, ut av den som vil ha lagringskapasiteten til de tre diskene til sammen som er 300 GB
Installer først ZFS for Ubuntu 16.04:

$ apt installere zfs
$ zpool opprett tank sda sdb sdc
$ zpool status tank

Dataene dine fordeles jevnt over de tre diskene, og hvis noen av diskene feiler, går alle dataene dine tapt. Som du kan se ovenfor, er diskene selve vdevene.

Men du kan også opprette en zpool der de tre diskene replikerer hverandre, kjent som speiling.

Først ødelegge bassenget tidligere opprettet:

$ zpool ødelegge tanken

For å lage en speilet vdev vil vi bruke nøkkelordet speil:

$ zpool lage tank speil sda sdb sdc

Nå er den totale mengden tilgjengelig lagringsplass bare 100 GB (bruk zpool-listen for å se det), men nå tåler vi opptil to feilstasjoner i vdev speil-0.

Når du går tom for plass og vil legge til mer lagringsplass i bassenget ditt, må du opprette tre volumer i DigitalOcean og gjenta trinnene i Legger til blokkeringslagring gjør det med 3 blokkeringsenheter til som vil vises som vdev speil-1. Du kan hoppe over dette trinnet for nå, bare vet at det kan gjøres.

$ zpool legg til tank speil sde sdf sdg

Til slutt er det raidz1-konfigurasjon som kan brukes til å gruppere tre eller flere disker i hver vdev og kan overleve feilen på 1 disk per vdev og gi en total tilgjengelig lagringsplass på 200 GB.

$ zpool ødelegge tanken
$ zpool opprett tank raidz1 sda sdb sdc

Mens zpool-listen viser nettokapasiteten til rå lagring, zfs liste og df -h kommandoer viser faktisk tilgjengelig lagring av zpool. Så det er alltid en god ide å sjekke tilgjengelig lagring ved hjelp av zfs liste kommando.

Vi bruker dette til å lage datasett.

Datasett og gjenoppretting

Tradisjonelt pleide vi å montere filsystemer som / home, / usr og / temp i forskjellige partisjoner, og når vi gikk tom for plass, måtte man legge til symlenker til ekstra lagringsenheter lagt til systemet.

Med zpool add Du kan legge til disker i samme basseng, og det fortsetter å vokse etter behov. Du kan da opprette datasett, som er zfs-betegnelsen for et filsystem, som / usr / home og mange andre som deretter bor på zpoolen og deler all lagringsplass som er tilgjengelig for dem.

For å opprette et zfs-datasett i bassenget tank bruk kommandoen:

$ zfs opprett tank / datasett1
$ zfs liste

Som nevnt tidligere tåler et raidz1-basseng feil på opptil en disk. Så la oss teste det.

$ zpool offline tank sda

Nå er bassenget frakoblet, men ikke alt er tapt. Vi kan legge til et nytt volum, sdd, ved å bruke DigitalOcean og gi den en gpt-etikett som før.

Videre lesning

Vi oppfordrer deg til å prøve ZFS og dens forskjellige funksjoner så mye du vil, på fritiden. Sørg for å slette alle volumene og dråpene når du er ferdig, for å unngå uventede faktureringer på slutten av måneden.

Du kan lære mer om ZFS-terminologi her.

OpenTTD vs Simutrans
Å lage din egen transportsimulering kan være morsom, avslappende og ekstremt fristende. Derfor må du sørge for at du prøver så mange spill som mulig f...
OpenTTD Tutorial
OpenTTD er et av de mest populære forretningssimuleringsspillene der ute. I dette spillet må du lage en fantastisk transportvirksomhet. Du begynner im...
SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...