ZFS

ZFS DigitalOcean Hands-On-Tutorial

ZFS DigitalOcean Hands-On-Tutorial

OpenZFS: Eine praktische Anleitung mit DigitalOcean

Sie haben vielleicht schon mehrmals gehört, dass ZFS ein Dateisystem der Enterprise-Klasse ist, das große Datenmengen in komplizierten Arrays verarbeiten soll. Dies würde natürlich jeden Neuankömmling denken lassen, dass er sich nicht mit einer solchen Technologie beschäftigen sollte (oder könnte) (.

Nichts kann weiter von der Wahrheit entfernt sein. ZFS ist eine der wenigen Software, die einfach funktioniert. Out-of-the-box, ohne Feintuning, macht es alle Dinge, die es bewirbt – von Datenintegritätsprüfungen bis hin zur RAIDZ-Konfiguration. Ja, es gibt Möglichkeiten zur Feinabstimmung, die man bei Bedarf vertiefen kann. Aber für Anfänger funktionieren die Voreinstellungen wunderbar.

Die einzige Einschränkung, auf die Sie möglicherweise stoßen, ist die der Hardware. Mehrere Festplatten in verschiedene Konfigurationen zu setzen bedeutet, dass Sie viele Festplatten herumliegen haben, um mit zu sein! Hier kommt DigitalOcean (DO) zur Rettung.

Hinweis: Wenn Sie mit DO und dem Einrichten von SSH-Schlüsseln vertraut sind, können Sie direkt zum ZFS-Teil der Diskussion springen. In den nächsten beiden Abschnitten wird gezeigt, wie Sie eine VM auf DigitalOcean einrichten und mit ihr Blockgeräte anhängen

Einführung in DigitalOcean

Einfach ausgedrückt, DigitalOcean ist ein Cloud-Dienstleister, bei dem Sie virtuelle Maschinen für die Ausführung Ihrer Apps einrichten können. Sie erhalten eine wahnsinnige Menge an Bandbreite und den gesamten SSD-Speicher, auf dem Sie Ihre Apps ausführen können. Es richtet sich an die Entwickler und nicht an die Betreiber, weshalb die Benutzeroberfläche viel einfacher und verständlicher ist.

Darüber hinaus werden sie auf Stundenbasis abgerechnet, was bedeutet, dass Sie einige Stunden an verschiedenen ZFS-Konfigurationen arbeiten, alle VMs und den Speicher löschen können, sobald Sie zufrieden sind, und Ihre Rechnung wird nicht mehr als ein paar Dollar überschreiten.

Wir werden zwei der Funktionen von DigitalOcean für dieses Tutorial verwenden:

  1. Tröpfchen: Ein Droplet ist ihr Wort für eine virtuelle Maschine, auf der ein Betriebssystem mit einer statischen öffentlichen IP läuft. Unsere Wahl des Betriebssystems ist Ubuntu 16.04 LTS.
  2. Blockspeicher: Blockspeicher ähnelt einer Festplatte, die an Ihren Computer angeschlossen ist. Außer hier können Sie die Größe und Anzahl der gewünschten Festplatten bestimmen.

Melden Sie sich für DigitalOcean an, wenn Sie es noch nicht getan haben.

Um sich bei Ihrer virtuellen Maschine anzumelden, gibt es zwei Möglichkeiten: Sie verwenden die Konsole (für die Sie das Passwort per E-Mail erhalten) oder Sie können die SSH-Schlüsseloption verwenden.

Grundlegende SSH-Einrichtung

MacOS- und andere UNIX-Benutzer, die ein Terminal auf ihrem Desktop haben, können dies verwenden, um SSH in ihre Droplets zu senden (der SSH-Client ist standardmäßig auf fast allen Unices installiert) und Windows-Benutzer möchten möglicherweise Git Bash herunterladen.

Sobald Sie sich in Ihrem Terminal befinden, geben Sie die folgenden Befehle ein:

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

Dies erzeugt zwei Dateien in ~/.ssh Verzeichnis, eines mit dem Namen YourKeyName, das Sie die ganze Zeit sicher und privat aufbewahren müssen. Es ist dein privater Schlüssel. Es verschlüsselt Nachrichten, bevor Sie sie an den Server senden, und entschlüsselt die Nachrichten, die der Server an Sie zurücksendet. Wie der Name schon sagt, soll der private Schlüssel jederzeit geheim gehalten werden.

Es wird eine weitere Datei namens erstellt IhrSchlüsselname.Kneipe und dies ist Ihr öffentlicher Schlüssel, den Sie DigitalOcean bereitstellen, wenn Sie das Droplet erstellen. Es übernimmt die Verschlüsselung und Entschlüsselung von Nachrichten auf dem Server, genau wie der private Schlüssel auf Ihrem lokalen Computer.

Erstellen Sie Ihr erstes Droplet

Nachdem Sie sich bei DO angemeldet haben, können Sie Ihr erstes Droplet erstellen.  Befolgen Sie die folgenden Schritte:

1. Klicken Sie oben rechts auf die Schaltfläche Erstellen und wählen Sie Tröpfchen Möglichkeit.

2. Auf der nächsten Seite können Sie die Spezifikationen Ihres Droplets festlegen. Wir werden Ubuntu verwenden.

3. Wählen Sie die Größe, sogar die Option 5/Monat funktioniert für kleine Experimente.

4. Wählen Sie das nächstgelegene Rechenzentrum für niedrige Latenzen. Sie können den Rest der zusätzlichen Optionen überspringen.

Hinweis: Jetzt keine Volumes hinzufügen. Wir werden sie der Übersichtlichkeit halber später hinzufügen.

5. Klicke auf Neue SSH-Schlüssel und kopiere den gesamten Inhalt von IhrSchlüsselname.Kneipe hinein und gib ihm einen Namen. Jetzt einfach anklicken Erstellen und dein Droplet ist startklar.

6. Rufen Sie die IP-Adresse Ihres Droplets vom Dashboard ab.

7. Jetzt können Sie als Root-Benutzer von Ihrem Terminal aus eine SSH in Ihr Droplet mit dem folgenden Befehl ausführen:

$ssh [email protected] -ich ~/.ssh/YourKeyName

Kopieren Sie den obigen Befehl nicht, da Ihre IP-Adresse anders ist. Wenn alles richtig geklappt hat, erhalten Sie eine Willkommensnachricht auf Ihrem Terminal und Sie werden auf Ihrem Remote-Server eingeloggt.

Hinzufügen von Blockspeicher

Um die Liste der Blockspeichergeräte in Ihrer VM abzurufen, verwenden Sie im Terminal den Befehl:

$lsblk

Sie sehen nur eine Festplatte, die in drei Blockgeräte unterteilt ist. Dies ist die Betriebssysteminstallation und wir werden nicht damit experimentieren. Dafür brauchen wir mehr Speichergeräte.

Gehen Sie dazu zu Ihrem DigitalOcean-Dashboard und klicken Sie auf Create Taste wie im ersten Schritt und wählen Sie die Lautstärkeoption. Hängen Sie es an Ihr Droplet an und geben Sie ihm einen passenden Namen. Fügen Sie drei solcher Bände hinzu, indem Sie diesen Schritt noch zweimal wiederholen.

Wenn Sie jetzt zu Ihrem Terminal zurückkehren und eingeben lsblk, Sie sehen neue Einträge in dieser Liste. Im Screenshot unten gibt es 3 neue Festplatten, die wir zum Testen von ZFS verwenden werden.

Als letzten Schritt, bevor Sie in ZFS einsteigen, sollten Sie Ihre Festplatten zunächst nach dem GPT-Schema kennzeichnen. ZFS funktioniert am besten mit dem GPT-Schema, aber der Blockspeicher, der Ihren Droplets hinzugefügt wird, ist mit einem MBR-Label versehen. Der folgende Befehl behebt das Problem, indem er Ihren neu angeschlossenen Blockgeräten ein GPT-Label hinzufügt.

$ sudo parted /dev/sda mklabel gpt

Hinweis: Es partitioniert das Blockgerät nicht, es verwendet nur das Dienstprogramm 'parted', um dem Blockgerät eine Globally Unique ID (GUID) zu geben. GPT steht für die GUID-Partitionstabelle und verfolgt jede Festplatte oder Partition mit einem GPT-Label darauf.

Wiederholen Sie das gleiche für sdb und sdc.

Jetzt können wir mit der Verwendung von OpenZFS mit genügend Laufwerken beginnen, um verschiedene Arrangements zu experimentieren.

Zpools und VDEVs

Um mit der Erstellung Ihres ersten Zpools zu beginnen. Sie müssen verstehen, was ein virtuelles Gerät ist und welchen Zweck es hat.

Ein virtuelles Gerät (oder ein Vdev) kann eine einzelne Festplatte oder eine Gruppe von Festplatten sein, die als einzelnes Gerät für den Zpool verfügbar gemacht werden. Zum Beispiel die drei oben erstellten 100-GB-Geräte sda, sdb und sdc alle können ein eigenes vdev sein und Sie können einen zpool namens . erstellen Panzer, daraus, die die Speicherkapazität der 3 Festplatten zusammen hat, die 300 GB beträgt
Installieren Sie zuerst ZFS für Ubuntu 16.04:

$apt install zfs
$zpool erstelle tank sda sdb sdc
$zpool Statustank

Ihre Daten werden gleichmäßig auf die drei Festplatten verteilt, und wenn eine der Festplatten ausfällt, sind alle Ihre Daten verloren. Wie Sie oben sehen können, sind die Festplatten die vdevs selbst.

Sie können aber auch einen Zpool erstellen, in dem sich die drei Festplatten gegenseitig replizieren, bekannt als Spiegelung.

Zerstören Sie zuerst den zuvor erstellten Pool:

$zpool Panzer zerstören

Um einen gespiegelten vdev zu erstellen, verwenden wir das Schlüsselwort Spiegel:

$zpool Tankspiegel erstellen sda sdb sdc

Jetzt beträgt die Gesamtmenge des verfügbaren Speicherplatzes nur 100 GB (verwenden Sie zpool-Liste um das zu sehen), aber jetzt können wir bis zu zwei ausgefallenen Laufwerken im vdev standhalten Spiegel-0.

Wenn Ihnen der Speicherplatz ausgeht und Sie Ihrem Pool mehr Speicher hinzufügen möchten, müssen Sie drei weitere Volumes in DigitalOcean erstellen und die Schritte in wiederholen Hinzufügen von Blockspeicher tun Sie es mit 3 weiteren Blockgeräten, die als vdev angezeigt werden Spiegel 1. Sie können diesen Schritt vorerst überspringen, wissen Sie nur, dass es möglich ist.

$zpool Tank hinzufügen Spiegel sde sdf sdg

Schließlich gibt es die raidz1-Konfiguration, die verwendet werden kann, um drei oder mehr Festplatten in jedem vdev zu gruppieren und den Ausfall von 1 Festplatte pro vdev zu überstehen und einen verfügbaren Gesamtspeicher von 200 GB zu bieten.

$zpool Panzer zerstören
$zpool erstellen tank raidz1 sda sdb sdc

Während die Zpool-Liste die Nettokapazität des Rohspeichers anzeigt, zfs-Liste und df -h Befehle zeigen den aktuell verfügbaren Speicherplatz des Zpools an. Daher ist es immer eine gute Idee, den verfügbaren Speicherplatz mit zu überprüfen zfs-Liste Befehl.

Wir werden dies zum Erstellen von Datensätzen verwenden.

Datensätze und Wiederherstellung

Traditionell haben wir Dateisysteme wie /home, /usr und /temp in verschiedene Partitionen gemountet und wenn uns der Platz ausging, musste man Symlinks zu zusätzlichen Speichergeräten hinzufügen, die dem System hinzugefügt wurden.

Mit zpool hinzufügen Sie können dem gleichen Pool Festplatten hinzufügen und er wächst je nach Bedarf weiter. Sie können dann Datensätze erstellen, was der ZFS-Begriff für ein Dateisystem ist, wie /usr/home und viele andere, die dann im Zpool leben und den gesamten ihnen zur Verfügung gestellten Speicher teilen.

So erstellen Sie ein ZFS-Dataset im Pool Panzer benutze den Befehl:

$zfs erstelle tank/dataset1
$zfs-Liste

Wie bereits erwähnt, kann ein raidz1-Pool dem Ausfall von bis zu einer Festplatte standhalten. Also lass uns das testen.

$ zpool offline tank sda

Jetzt ist der Pool offline, aber es ist noch nicht alles verloren. Wir können einen weiteren Band hinzufügen, sdd, Verwenden von DigitalOcean und Vergeben eines gpt-Labels wie zuvor.

Weiterlesen

Wir empfehlen Ihnen, ZFS und seine verschiedenen Funktionen in Ihrer Freizeit so oft Sie möchten auszuprobieren. Stellen Sie sicher, dass Sie alle Volumes und Droplets löschen, wenn Sie fertig sind, um unerwartete Abrechnungen am Ende des Monats zu vermeiden.

Hier erfahren Sie mehr über die ZFS-Terminologie.

So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...
Top Oculus App Lab-Spiele
Wenn Sie Besitzer eines Oculus-Headsets sind, müssen Sie über Sideloading informiert sein. Sideloading ist der Prozess der Installation von Inhalten, ...
Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...