Metainformationen zur Seite
  •  
Übersetzungen dieser Seite:

Dies ist eine alte Version des Dokuments!


ZFS & ZPool ( File System)

Was ist ZFS und was ist ein ZPool? Folgende Zittate können als kurze Erklährung herangezogen werden.

Was ist ZFS oder Zpool?

Ein Zittag aus der FreeBSD Online-Dokumentation. ZFS ist ein fundamental anderes Dateisystem aufgrund der Tatsache, dass es mehr als ein Dateisystem ist. ZFS kombiniert die Rolle eines Dateisystems mit dem Volumemanager, was es ermöglicht, zusätzliche Speichermedien zu einem laufenden System hinzuzufügen und diesen neuen Speicher sofort auf allen auf dem Pool existierenden Dateisystemen zur Verfügung zu haben. Durch die Kombination von traditionell getrennten Rollen ist ZFS in der Lage, Einschränkungen, die zuvor RAID-Gruppen daran gehindert hatten, zu wachsen. Jedes Gerät auf höchster Ebene in einem Pool wird ein vdev genannt, was eine einfache Platte oder eine RAID-Transformation wie ein Spiegel oder RAID-Z-Verbund sein kann. ZFS-Dateisysteme (datasets genannt), haben jeweils Zugriff auf den gesamten freien Speicherplatz des gesamten Pools. Wenn Blöcke aus diesem Pool allokiert werden, verringert sich auch der freie Speicherplatz für jedes Dateisystem. Dieser Ansatz verhindert die allgegenwärtige Falle von umfangreichen Partitionen, bei denen freier Speicherplatz über alle Partitionen hinweg fragmentiert wird.

Ein Zittag aus der Wiki Online-Dokumentation. ZFS ist ein von Sun Microsystems entwickeltes transaktionales Dateisystem, das zahlreiche Erweiterungen für die Verwendung im Server- und Rechenzentrumsbereich enthält. Hierzu zählen die vergleichsweise große maximale Dateisystemgröße, eine einfache Verwaltung selbst komplexer Konfigurationen, die integrierten RAID-Funktionalitäten, das Volume-Management sowie der prüfsummenbasierte Schutz vor Datenübertragungsfehlern. Der Name ZFS stand ursprünglich für Zettabyte File System, ist aber inzwischen ein Pseudo-Akronym, wodurch die Langform nicht mehr gebräuchlich ist.

Ein Zittag aus dem Ubuntu Wiki Online-Dokumentation. ZFS filesystems are built on top of virtual storage pools called zpools. A zpool is constructed of virtual devices (vdevs), which are themselves constructed of block devices: files, hard drive partitions, or entire drives, with the last being the recommended usage.[6] Block devices within a vdev may be configured in different ways, depending on needs and space available: non-redundantly (similar to RAID 0), as a mirror (RAID 1) of two or more devices, as a RAID-Z group of three or more devices, or as a RAID-Z2 group of four or more devices.[7] Besides standard storage, devices can be designated as volatile read cache (ARC), nonvolatile write cache, or as a spare disk for use only in the case of a failure. Finally, when mirroring, block devices can be grouped according to physical chassis, so that the filesystem can continue in the face of the failure of an entire chassis.

Zusammenfassend hier die technischen Eckdaten des ZFS:

BedeutungGrösse oder Dimmension
Wortlänge128 Bit
Volumen Managerintegriert
AusfallsicherheitRAID-1 RAID-Z1 (1 Parity-Bit analog RAID 5)
max Grösse des Dateisystems16 EiB(=64 Bit Gross)
max. Größe jedes Pools 128 Bit Gross
max. Anzahl an Dateien in einem Verzeichnis48 Bit Gross
max. Anzahl an Geräten im Pool 64 Bit Gross
max. Anzahl an Dateisystemen im Pool 64 Bit Gross
max. Anzahl an Pools im System 64 Bit Gross

Einrichten

Ein zpool zeigt sich aus Sicht des Anwender wie ein Verzeichnis analog dem mount Verzeichnis bei Linux (/mnt/…). Um ein zpool laufwerk (Verzeichnis) einzurichten benötigt man nur wenige Schritte. Folgend einige Beispiele gefunden auf dieser Seite.

  1. #ZPool Types
  2. #ZPool Stripe group:
  3. zpool create vol0 /dev/sda /dev/sdb /dev/sdc
  4. #Der Pool heisst hier vol0 und man kann in als Ordner im
  5. #Linux Dateisystem sehen. Darin befinden sich 3 Laufwerke
  6. #die alle zu einem zusammengefasst werden. Die Grösse
  7. #ist also sda + sdb + sdc = max Speicherkapazität.
  8. #Achtung hier keine Datensichheit. Ist ein Laufwerk
  9. #defekt können Sie Daten verlieren.
  10.  
  11. #ZPool mirror group:
  12. zpool create vol0 mirror /dev/sda /dev/sdb
  13. #Alles wie oben erwähnt. Nur hier werden 2 Laufwerke
  14. #gespiegelt. Damit sind auf beiden Laufwerken
  15. #identischen Daten vorhanden. Wenn ein Laufwerk
  16. #ausfällt so sind die Daten auf dem anderen
  17. #noch enthalten. Die Speichergrösse ist allerdings
  18. #nur so gross wie die des kleinsten Laufwerks.
  19.  
  20.  
  21. #ZPool raidz group: Similar to RAID5.
  22. zpool create vol0 raidz /dev/sda /dev/sdb /dev/sdc
  23.  
  24. #ZPool raidz2 set: Similar to RAID5 with dual parity.
  25. zpool create vol0 raidz2 /dev/sdb /dev/sdc1 /dev/sdd /dev/sde
  1.  


btrfs (B-tree File System)

Für das neue Dateisystem btrfs (B-tree File System) gibt es an dieser Stelle eine englische Anleitung. Damit lassen sich viele verschieden Dateisysteme und über verschiedene Laufwerke erstellen. Ein kurzes Youtube Video erklärt was btrfs ist und wie einige Befehlen funktionieren. Dieser Bericht über btrfs erklärt die Optimierungsmöglichenkeit von btrfs. Diese Hilfe ist spezielle für Ubuntu Systeme gedacht.

Beim Einsatz von mehreren Haddisk oder SSD empfield sich ein btrfs Raid einzusetzen.

Installation und Konfiguration

Das Dateisystem btrfs ist ein System dem sich auf einfachste weise Speichermedien hinzuzufügen und entfernen lassen ohne dabei die Daten zu verlieren. Letzteres sollte man natürlich nur mit vorsicht vornehmen will man nicht Daten verlieren. Es lassen sich auch Relationen wie Raid0, Raid1, Raid10 erstellen und diese lassen sich auch im nachhinein einrichten. Diese kurze wiki Beschreibung hilft beim ersten Einrichten eines btrfs Dateisystems.

BtrFs einrichten

Als Beispiel wie btrfs einzurichten ist, soll folgende Situation herhalten. Stellen Sie sich vor Sie wollen zukünftig ein Raid10 besitzen, haben aber heute noch nicht das Geld gleich vier Harddisk zu kaufen. Infolge dessen wird man erst eine Platte kaufen und diese einrichten. Das Gute dabei ist, dass man sich zu diesem Zeitpunkt noch nicht entscheiden muss welches Raid man letztendlich anwenden will. Nachfolgende Grafik zeigt der Aufbau eines Raid10 Systems auf.

..

1. Disk einrichten

mkfs.btrfs -d single /dev/sdb //Hier Ihre Laufwerksname

2. xxx

Tool → btrfs-prog …

3. xxx

mkfs.btrfs … …

4. xxx

mount → over uuid

5. xxx

nano /etc/fstab

6. xxx

…folgt..