Mit den Tipps und Workshops im ADMIN-Magazin 03/2013 sichern Administratoren ihre Webserver und Netze gegen Angriffe ab: gegen Abhören sensibler Informationen, ... (mehr)

In der Praxis: ein Mirrored Pool

Nach soviel Theorie widmet sich der restliche Artikel dem praktischen Einsatz von ZFS unter FreeBSD. Zunächst soll ein so genannter Mirrored Pool (Hardware-RAID Typ 1) entstehen. Dabei sind die einzelnen Datenträger so kombiniert, dass die Daten gespiegelt werden. Im folgenden Beispiel sind dies die zweite (»ada1« ) und dritte (»ada2« ) Festplatte. Der Befehl hierzu lautet:

 

Der nächste Schritt erstellt das Dateisystem für das Verzeichnis »home« und mountet es in »/home« :

 

Nun lassen sich für die einzelnen Benutzer die Datensätze für die Home-Verzeichnisse erstellen. Die Eigenschaften von »daten/home« werden dabei an die neuen Mountpoints weitergegeben.

 

Die angelegten Home-Directories lassen sich sofort benutzen, da keine Formatierung notwendig ist. Wenn man nach einer gewissen Zeit feststellt, dass der Platz knapp wird, lassen sich Platten hinzufügen. Der folgende Befehl nimmt die vierte (»ada3« ) und die fünfte (»ada4« ) Festplatte in den Pool auf:

 

Diese Aktion lässt sich während des Betriebs durchführen, während die User davon kaum etwas bemerken. Dazu muss die Hardware natürlich den Einbau im laufenden Betrieb unterstützen (Hot Swap).

Freigaben für NFS lassen sich ebenso einfach und unkompliziert erstellen. Zum Beispiel sollen alle Datasets mit den Home Directories im Netzwerk für NFS freigegeben werden:

 

Wie bereits erwähnt, nutzt die FreeBSD-Version von ZFS den vorhandenen NFS-Daemon. Die Informationen über die einzelnen NFS-Shares finden sich in der Datei »/etc/exports« . Den NFS-Daemon veranlasst das Signal »SIG_HUP« dazu, sie neu einzulesen.

Komprimiert

Quotas und Kompression sind interessante Merkmale von ZFS. So läßt sich für den gesamten Pool die Kompression einschalten. Als Algorithmus dient in diesem Beispiel LZJB:

 

Die Kompression lässt sich optional aber auch für ein einzelnes Dataset konfigurieren:

 

Quotas kann der Administrator ebenso für den gesamten Pool setzen, wie für den einzelnen Datensatz. Der User »user_b« bekommt im Beispiel 10 GByte und der User »user_c« bekommt 20 GByte Speicherplatz, dessen Kapazität garantiert ist:

 

Das wohl mit Abstand wichtigste Merkmal sind Snapshots. Die einzelnen Snapshots sind im Verzeichnis »${HOME}/.zfs« zu finden, wenn sie für den jeweiligen Benutzer angelegt wurden. Einen Snapshot für den Benutzer »user_a« für Donnerstag erzeugt

 

Hat der Benutzer »user_a« versehentlich wichtige Dateien vom Vortag (Dienstag) gelöscht, lassen sie sich mit einem Rollback schnell wieder herstellen:

 

Wenn in regelmäßigen Abständen Snapshots erzeugt wurden, hat der Anwender auch die Möglichkeit, alte Versionen seiner Dateien einzusehen:

 

Alle jemals angelegten Snapshots lassen sich so anzeigen:

 

Ein ZPool muss aus dem System ausgehängt werden, bevor er in Form seiner Festplatten in eine andere FreeBSD-Maschine eingebaut wird. Bei einem System-Shutdown wird dieses Kommando auch ausgeführt. Das Aushängen geschieht mit

 

Daraufhin werden die Konfiguration, die Puffer und alle Datensätze ausgehängt. Außerdem wird der Pool geschlossen. Um den Pool beispielsweise beim Systemstart wieder für das System verfügbar zu machen, dient folgende Sequenz:

 

Wenn man keinen ZPool angibt, listet der Befehl alle Pools auf.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite