ZFS

ZFS DigitalOcean Hands On Tutorial

ZFS DigitalOcean Hands On Tutorial

OpenZFS: een praktische gids met DigitalOcean

Je hebt misschien meerdere keren gehoord dat ZFS een enterprise-grade bestandssysteem is dat bedoeld is om grote hoeveelheden gegevens in gecompliceerde arrays te verwerken. Dit zou natuurlijk elke nieuwkomer doen denken dat ze niet met dergelijke technologie zouden moeten (of kunnen) spelen.

Niets is minder waar. ZFS is een van de weinige software die gewoon werkt. Out of the box, zonder enige fine-tuning, doet het alle dingen die het adverteert - van gegevensintegriteitscontroles tot RAIDZ-configuratie. Ja, er zijn fine-tuning-opties beschikbaar, en men kan zich erin verdiepen als dat nodig is. Maar voor beginners werken de standaardinstellingen wonderbaarlijk goed.

De enige beperking die u kunt tegenkomen, is die van hardware. Als u meerdere schijven in verschillende configuraties plaatst, betekent dit dat u veel schijven hebt om bij te zijn! Dat is waar DigitalOcean (DO) te hulp komt.

Opmerking: als u bekend bent met DO en hoe u SSH-sleutels instelt, kunt u direct naar het ZFS-gedeelte van de discussie gaan. Wat de volgende twee secties laten zien, is hoe u een VM op DigitalOcean instelt en er blokapparaten aan koppelt met

Inleiding tot DigitalOcean

Simpel gezegd, DigitalOcean is een cloudserviceprovider waar u virtuele machines kunt laten draaien waarop uw apps kunnen worden uitgevoerd. Je krijgt een waanzinnige hoeveelheid bandbreedte en alle SSD-opslag om je apps op uit te voeren. Het is gericht op de ontwikkelaars en niet op de operators, daarom is de gebruikersinterface veel eenvoudiger en gemakkelijker te begrijpen.

Bovendien worden ze per uur in rekening gebracht, wat betekent dat u een paar uur aan verschillende ZFS-configuraties kunt werken, alle VM's en opslag kunt verwijderen zodra u tevreden bent, en uw rekening zal niet meer dan een paar dollar overschrijden.

We zullen voor deze zelfstudie twee van de functies van DigitalOcean gebruiken:

  1. Druppels: Een druppel is hun woord voor een virtuele machine, met een besturingssysteem met een statisch openbaar IP-adres. Onze keuze voor het besturingssysteem is Ubuntu 16.04 LTS.
  2. Opslag blokkeren: Blokopslag is vergelijkbaar met een schijf die op uw computer wordt aangesloten. Behalve, hier kun je beslissen over de grootte en het aantal schijven dat je wenst.

Meld je aan voor DigitalOcean als je dat nog niet hebt gedaan.

Er zijn twee manieren om in te loggen op uw virtuele machine, één is om de console te gebruiken (waarvoor het wachtwoord naar u wordt gemaild) of u kunt de SSH-sleuteloptie gebruiken.

Basis SSH instellen

MacOS en andere UNIX-gebruikers die een terminal op hun desktop hebben, kunnen die gebruiken om SSH naar hun droplets te sturen (SSH-client is standaard geïnstalleerd op bijna alle Unices) en Windows-gebruikers willen misschien Git Bash downloaden.

Zodra u in uw terminal bent, voert u de volgende opdrachten in:

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

Dit genereert twee bestanden in ~/.ssh directory, een met de naam YourKeyName die u altijd veilig en privé moet houden. Het is uw privésleutel. Het versleutelt berichten voordat je ze naar de server stuurt, en het ontsleutelt de berichten die de server je terugstuurt. Zoals de naam al doet vermoeden, is het de bedoeling dat de privésleutel te allen tijde geheim blijft.

Er wordt een ander bestand gemaakt met de naam UwKeyName.kroeg en dit is uw openbare sleutel die u aan DigitalOcean verstrekt wanneer u de Droplet maakt. Het behandelt de codering en decodering van berichten op de server, net zoals de privésleutel op uw lokale computer doet.

Je eerste druppel maken

Nadat je je hebt aangemeld voor DO, ben je klaar om je eerste Droplet te maken.  Volg de onderstaande stappen:

1. Klik op de knop Maken in de rechterbovenhoek en selecteer Druppel keuze.

2. Op de volgende pagina kunt u beslissen over de specificaties van uw Droplet. We zullen Ubuntu gebruiken.

3. Kies de maat, zelfs de optie van $ 5 per maand werkt voor kleine experimenten.

4. Kies het dichtstbijzijnde datacenter, voor lage latenties low. U kunt de rest van de extra opties overslaan.

Opmerking: voeg nu geen volumes toe. We zullen ze later voor de duidelijkheid toevoegen.

5. Klik op Nieuwe SSH-sleutels en kopieer alle inhoud van UwKeyName.kroeg erin en geef het een naam. Klik nu gewoon op Aanmaken en je Droplet is klaar om te gaan.

6. Haal het IP-adres van je Droplet uit het dashboard.

7. Nu kun je SSH, als rootgebruiker, in je Droplet, vanaf je terminal met het commando:

$ssh [email protected] -ik ~/.ssh/uwsleutelnaam

Kopieer de bovenstaande opdracht niet omdat uw IP-adres anders zal zijn. Als alles goed werkte, ontvang je een welkomstbericht op je terminal en ben je ingelogd op je externe server.

Blokopslag toevoegen

Om de lijst met blokopslagapparaten in uw VM te krijgen, gebruikt u in de terminal de opdracht:

$lsblk

U ziet slechts één schijf gepartitioneerd in drie blokapparaten. Dit is de installatie van het besturingssysteem en we zullen er niet mee experimenteren. Daar hebben we meer opslagapparaten voor nodig.

Ga daarvoor naar je DigitalOcean-dashboard en klik op Create knop zoals je deed in de eerste stap en kies de volume-optie. Bevestig het aan je Droplet en geef het een toepasselijke naam. Voeg drie van dergelijke volumes toe door deze stap nog twee keer te herhalen.

Als je nu teruggaat naar je terminal en typt lsblk, u ziet nieuwe vermeldingen in deze lijst. In de onderstaande schermafbeelding zijn er 3 nieuwe schijven die we zullen gebruiken voor het testen van ZFS.

Als laatste stap moet u, voordat u naar ZFS gaat, eerst uw schijven labelen volgens het GPT-schema. ZFS werkt het beste met het GPT-schema, maar de blokopslag die aan je droplets is toegevoegd, heeft een MBR-label erop. De volgende opdracht lost het probleem op door een GPT-label toe te voegen aan uw nieuw aangesloten blokapparaten.

$ sudo gescheiden /dev/sda mklabel gpt

Opmerking: het verdeelt het blokapparaat niet, het gebruikt alleen het 'parted'-hulpprogramma om een ​​Globally Unique ID (GUID) aan het blokapparaat te geven. GPT staat voor de GUID Partition Table en houdt elke schijf of partitie bij met een GPT-label erop.

Herhaal hetzelfde voor sdb en sdc.

Nu zijn we klaar om aan de slag te gaan met het gebruik van OpenZFS met voldoende schijven om verschillende arrangementen te experimenteren.

Zpools en VDEV's

Aan de slag met het maken van uw eerste Zpool. U moet begrijpen wat een virtueel apparaat is en wat het doel ervan is.

Een virtueel apparaat (of een Vdev) kan een enkele schijf zijn of een groep schijven die als een enkel apparaat worden blootgesteld aan de zpool. Bijvoorbeeld de drie apparaten van 100 GB die hierboven zijn gemaakt sda, sdb en sdc ze kunnen allemaal een eigen vdev zijn en je kunt een zpool maken, genaamd tank, eruit die de opslagcapaciteit van de 3 schijven gecombineerd heeft, dat is 300 GB
Installeer eerst ZFS voor Ubuntu 16.04:

$apt installeer zfs
$zpool maak tank sda sdb sdc
$zpool statustank

Uw gegevens worden gelijkmatig over de drie schijven verdeeld en als een van de schijven uitvalt, gaan al uw gegevens verloren. Zoals je hierboven kunt zien, zijn de schijven de vdevs zelf.

Maar je kunt ook een zpool maken waarin de drie schijven elkaar repliceren, ook wel mirroring genoemd.

Vernietig eerst de eerder gemaakte pool:

$zpool vernietig tank

Om een ​​gespiegelde vdev te maken, gebruiken we het trefwoord spiegel:

$zpool maak tankspiegel sda sdb sdc

Nu is de totale hoeveelheid beschikbare opslagruimte slechts 100 GB (gebruik zpool lijst om dat te zien), maar nu zijn we bestand tegen maximaal twee schijven van falen in de vdev spiegel-0.

Wanneer u geen ruimte meer heeft en meer opslagruimte aan uw pool wilt toevoegen, moet u nog drie volumes maken in DigitalOcean en de stappen herhalen in Blokopslag toevoegen doe het met nog 3 blokapparaten die zullen verschijnen als vdev spiegel 1. Je kunt deze stap voor nu overslaan, weet gewoon dat het kan worden gedaan.

$zpool tank spiegel toevoegen sde sdf sdg

Ten slotte is er de raidz1-configuratie die kan worden gebruikt om drie of meer schijven in elke vdev te groeperen en die het falen van 1 schijf per vdev kan overleven en een totale beschikbare opslagruimte van 200 GB kan geven.

$zpool vernietig tank
$zpool maak tank raidz1 sda sdb sdc

Terwijl de zpool-lijst de nettocapaciteit van de onbewerkte opslag toont, zfs-lijst en df -h commando's tonen de daadwerkelijk beschikbare opslag van de zpool. Het is dus altijd een goed idee om de beschikbare opslagruimte te controleren met zfs-lijst opdracht.

We gaan dit gebruiken voor het maken van datasets.

Gegevenssets en herstel

Traditioneel koppelden we bestandssystemen zoals /home, /usr en /temp in verschillende partities en toen we geen ruimte meer hadden, moesten we symlinks toevoegen aan extra opslagapparaten die aan het systeem waren toegevoegd.

Met zpool toevoegen u kunt schijven aan dezelfde pool toevoegen en deze blijft groeien volgens uw behoefte. Je kunt dan datasets maken, wat de zfs-term is voor een bestandssysteem, zoals /usr/home en vele andere die dan op de zpool leven en alle opslagruimte die voor hen beschikbaar is, delen.

Een zfs-gegevensset maken op de pool tank gebruik het commando:

$zfs maakt tank/dataset1
$zfs-lijst

Zoals eerder vermeld, is een raidz1-pool bestand tegen uitval van maximaal één schijf. Dus laten we dat testen.

$ zpool offline tank sda

Nu is het zwembad offline, maar niet alles is verloren. We kunnen nog een volume toevoegen, sdd, DigitalOcean gebruiken en het een gpt-label geven zoals eerder.

Verder lezen

We moedigen je aan om ZFS en zijn verschillende functies zo vaak als je wilt uit te proberen, in je vrije tijd. Zorg ervoor dat u alle volumes en druppels verwijdert, als u klaar bent, om onverwachte facturen aan het einde van de maand te voorkomen.

U kunt hier meer leren over ZFS-terminologie.

Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...
Vulkan voor Linux-gebruikers
Met elke nieuwe generatie grafische kaarten zien we game-ontwikkelaars de grenzen van grafische betrouwbaarheid verleggen en een stap dichter bij foto...
OpenTTD versus Simutrans
Je eigen transportsimulatie maken kan leuk, ontspannend en buitengewoon aanlokkelijk zijn. Daarom moet je ervoor zorgen dat je zoveel mogelijk spellen...