ZFS

ZFS DigitalOcean Hands On-vejledning

ZFS DigitalOcean Hands On-vejledning

OpenZFS: En praktisk guide ved hjælp af DigitalOcean

Du har muligvis hørt flere gange, at ZFS er et filsystem, der er beregnet til at håndtere store datamængder i komplicerede arrays. Naturligvis vil dette få enhver nybegynder til at tro, at de ikke (eller ikke kunne) dabbe med sådan teknologi.

Intet kan være længere væk fra sandheden. ZFS er en af ​​de få software derude, der bare fungerer. Uden boksen uden finjustering gør den alle de ting, den reklamerer for - Fra dataintegritetskontrol til RAIDZ-konfiguration. Ja, der er finjusteringsmuligheder til rådighed, og man kan dykke ned i det, hvis behovet opstår. Men for begyndere fungerer standarderne vidunderligt godt.

Den ene begrænsning, som du kan støde på, er hardware. At sætte flere diske i forskellige konfigurationer betyder, at du har mange diske, der ligger rundt for at være sammen med! Det er her DigitalOcean (DO) kommer til undsætning.

Bemærk: Hvis du er bekendt med DO og hvordan du opsætter SSH-nøgler, kan du springe direkte til ZFS-delen af ​​diskussionen. Hvad de næste to afsnit viser, er, hvordan man opretter en VM på DigitalOcean og tilslutter blokkenheder til den med

Introduktion til DigitalOcean

For at sige det enkelt er DigitalOcean en cloudtjenesteudbyder, hvor du kan spin op virtuelle maskiner, så dine apps kan køre. Du får en sindssyg mængde båndbredde og al SSD-lager til at køre dine apps på. Det er rettet mod udviklerne og ikke operatørerne, hvorfor UI er meget enklere og lettere at forstå.

Derudover opkræves de pr. Time, hvilket betyder, at du kan arbejde på forskellige ZFS-konfigurationer i et par timer, slette alle virtuelle computere og lager, når du er tilfreds, og din regning overstiger ikke mere end et par dollars.

Vi bruger to af funktionerne på DigitalOcean til denne vejledning:

  1. Dråber: En dråbe er deres ord for en virtuel maskine, der kører et operativsystem med en statisk offentlig IP. Vores valg af OS vil være Ubuntu 16.04 LTS.
  2. Bloker opbevaring: Blokeringslagring ligner en disk, der er knyttet til din computer. Undtagen her får du beslutning om størrelsen og antallet af diske, du ønsker.

Tilmeld dig DigitalOcean, hvis du ikke allerede har gjort det.

For at logge ind på din virtuelle maskine er der to måder, den ene er at bruge konsollen (som adgangskoden får e-mail til dig), eller du kan bruge indstillingen SSH-nøgle.

Grundlæggende SSH-opsætning

MacOS og andre UNIX-brugere, der har en terminal på deres skrivebord, kan bruge det til at SSH i deres dråber (SSH-klienten er som standard installeret på stort set alle enheder), og Windows-brugere vil muligvis downloade Git Bash.

Når du er i din terminal, skal du indtaste følgende kommandoer:

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

Dette genererer to filer i ~ /.ssh bibliotek, en med navnet YourKeyName, som du har brug for for at være sikker og privat hele tiden. Det er din private nøgle. Det krypterer meddelelser, før du sender dem til serveren, og det dekrypterer de meddelelser, som severen sender dig tilbage. Som navnet antyder, skal den private nøgle altid holdes hemmelig.

En anden fil oprettes med navnet Dit nøglenavn.pub og dette er din offentlige nøgle, som du vil give til DigitalOcean, når du opretter dråben. Det håndterer kryptering og dekryptering af meddelelser på serveren, ligesom den private nøgle gør på din lokale maskine.

Oprettelse af din første dråbe

Efter tilmelding til DO er du klar til at oprette din første dråbe.  Følg nedenstående trin:

1. Klik på knappen Opret i øverste højre hjørne, og vælg Dråbe mulighed.

2. Den næste side giver dig mulighed for at bestemme specifikationerne for din dråbe. Vi bruger Ubuntu.

3. Vælg størrelse, selv indstillingen $ 5 / mo fungerer til små eksperimenter.

4. Vælg det nærmeste datacenter for lave ventetid. Du kan springe resten af ​​de ekstra muligheder over.

Bemærk: Tilføj ikke nogen diskenheder nu. Vi tilføjer dem senere for klarhedens skyld.

5. Klik på Nye SSH-nøgler og kopier alt indholdet af Dit nøglenavn.pub ind i det og giv det et navn. Klik nu bare på skab og din dråbe er god at gå.

6. Få IP-adressen til din Droplet fra instrumentbrættet.

7. Nu kan du SSH som rootbruger ind i din Droplet fra din terminal ved hjælp af kommandoen:

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

Kopier ikke ovenstående kommando, da din IP-adresse vil være anderledes. Hvis alt fungerede korrekt, modtager du en velkomstmeddelelse på din terminal, og du bliver logget ind på din eksterne server.

Tilføjelse af Block Storage

For at få listen over bloklagerenheder i din VM skal du bruge kommandoen i terminalen:

$ lsblk

Du vil kun se en disk opdelt i tre blokkenheder. Dette er OS-installationen, og vi skal ikke eksperimentere med dem. Vi har brug for flere lagerenheder til det.

For at gå til dit DigitalOcean dashboard skal du klikke på Create knap som du gjorde i det første trin, og vælg lydstyrkeindstilling. Fastgør det til din dråbe og giv det et passende navn. Tilføj tre sådanne bind ved at gentage dette trin to gange mere.

Nu hvis du går tilbage til din terminal og skriver ind lsblk, du vil se nye poster på denne liste. I skærmbilledet nedenfor er der 3 nye diske, som vi skal bruge til at teste ZFS.

Før du går ind i ZFS, skal du som sidste trin mærke dine diske under GPT-ordningen. ZFS fungerer bedst med GPT-ordningen, men bloklageret, der er føjet til dine dråber, har en MBR-etiket. Følgende kommando løser problemet ved at tilføje en GPT-etiket til dine nyligt tilsluttede blokkenheder.

$ sudo skiltes / dev / sda mklabel gpt

Bemærk: Det partitionerer ikke blokkenheden, den bruger bare 'skilt' -værktøjet til at give et globalt unikt ID (GUID) til blokkenheden. GPT står for GUID-partitionstabellen, og den holder styr på hver disk eller partition med en GPT-etiket på.

Gentag det samme for sdb og sdc.

Nu er vi klar til at komme i gang med at bruge OpenZFS med nok drev til at eksperimentere med forskellige arrangementer.

Zpools og VDEVs

For at komme i gang med at oprette din første Zpool. Du skal forstå, hvad en virtuel enhed er, og hvad dens formål er.

En virtuel enhed (eller en Vdev) kan være en enkelt disk eller en gruppe diske, der udsættes som en enkelt enhed for zpoolen. For eksempel er de tre 100 GB-enheder oprettet ovenfor sda, sdb og sdc alle kan være deres egen vdev, og du kan oprette en zpool med navnet tank, ud af det, som har lagerkapaciteten på de 3 diske kombineret, der er 300 GB
Installer først ZFS til Ubuntu 16.04:

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

Dine data er jævnt fordelt på de tre diske, og hvis nogen af ​​diskene fejler, går alle dine data tabt. Som du kan se ovenfor, er diskene selve vdev'erne.

Men du kan også oprette en zpool, hvor de tre diske replikerer hinanden, kendt som spejling.

Først ødelægge den tidligere oprettede pool:

$ zpool ødelægge tank

For at oprette en spejlet vdev bruger vi nøgleordet spejl:

$ zpool opret tank spejl sda sdb sdc

Nu er den samlede mængde tilgængelig lagerplads kun 100 GB (brug zpool-liste for at se det), men nu kan vi modstå op til to drev af fejl i vdev spejl-0.

Når du løber tør for plads og ønsker at tilføje mere lagerplads til din pool, skal du oprette yderligere tre diskenheder i DigitalOcean og gentage trinene i Tilføjelse af Block Storage gør det med yderligere 3 blokkenheder, der vises som vdev spejl-1. Du kan springe dette trin over lige nu, ved bare at det kan gøres.

$ zpool tilføj tank spejl sde sdf sdg

Endelig er der raidz1-konfiguration, som kan bruges til at gruppere tre eller flere diske i hver vdev og kan overleve svigtet med 1 disk pr. Vdev og give en samlet tilgængelig lagerplads på 200 GB.

$ zpool ødelægge tank
$ zpool opret tank raidz1 sda sdb sdc

Mens zpool-listen viser råkapacitetens nettokapacitet, zfs liste og df -h kommandoer viser den faktiske tilgængelige lagerplads for zpool. Så det er altid en god ide at kontrollere den tilgængelige lagerplads ved hjælp af zfs liste kommando.

Vi bruger dette til at oprette datasæt.

Datasæt og gendannelse

Traditionelt brugte vi montering af filsystemer som / home, / usr og / temp i forskellige partitioner, og når vi løb tør for plads, skulle man tilføje symlinks til ekstra lagerenheder tilføjet til systemet.

Med zpool tilføj Du kan tilføje diske til den samme pool, og den fortsætter med at vokse efter dine behov. Du kan derefter oprette datasæt, hvilket er zfs-udtrykket for et filsystem, som / usr / home og mange andre, der derefter bor på zpoolen og deler al den lagerplads, der er tilgængelig for dem.

For at oprette et zfs-datasæt på puljen tank Brug kommandoen:

$ zfs oprette tank / datasæt1
$ zfs liste

Som nævnt før kan en raidz1-pool tåle fejl på op til en disk. Så lad os teste det.

$ zpool offline tank sda

Nu er puljen offline, men ikke alt går tabt. Vi kan tilføje endnu et bind, sdd, ved hjælp af DigitalOcean og give det en gpt-etiket som før.

Yderligere læsning

Vi opfordrer dig til at prøve ZFS og dens forskellige funktioner så meget som du vil i din fritid. Sørg for at slette alle volumener og dråber, når du er færdig, for at undgå uventede faktureringer i slutningen af ​​måneden.

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

Sådan registreres og streames din gaming-session på Linux
Tidligere blev spil kun betragtet som en hobby, men med tiden oplevede spilindustrien en enorm vækst med hensyn til teknologi og antallet af spillere....
Bedste spil at spille med håndsporing
Oculus Quest introducerede for nylig den gode idé om håndsporing uden controllere. Med et stadigt stigende antal spil og aktiviteter, der udfører supp...
Sådan vises OSD-overlay i fuldskærms Linux-apps og -spil
Afspilning af fuldskærmsspil eller brug af apps i distraktionsfri fuldskærmstilstand kan afskære dig fra relevante systemoplysninger, der er synlige i...