CRE049 Das ZFS Dateisystem

Die eierlegende Wollmilchsau von Sun Microsystems
ZFS ist ein recht neues, quelloffenes Dateisystem von Sun Microsystems, dass sich gerade seinen Weg in die verschiedene Betriebssysteme bahnt und mit einer ganzen Reihe von Eigenschaften daherkommt, die es für zahlreiche Anwendungen sowohl im kleinen als auch im großen Rahmen sehr interessant machen. Tim Pritlove und Denis Ahrens vom Chaos Computer Club Berlin schauen in einer gemeinsam hinter die Fassade und zeigen im Dialog auf, was genau im ZFS-Paket steckt und wie man es praktisch zum Einsatz bringen könnte.
- Denis Ahrens
- Tim Pritlove
- Max Merz (Shownotes)
Shownotes
- Intro
- CRE Intro
- Begrüßung
- Livestream
Denis Ahrens
- Einstieg
ZFS
FFS, UFS
HFS
XFS
Jeff Bonwick
Sun
Solaris
OpenSolaris
Sun wirbt mit “the last word in filesystems”
- Anspruch von ZFS
- Speicherverwaltung
Festplatte
Dateisystem
- "Tatsächlich ist die Liste an Anforderungen, die man an Filesysteme hat, relativ lang." (Tim) "Länger als man denkt eigentlich." (Denis)
- Geschichte
Betriebssystem
FAT
MS-DOS
USB-Stick
8.3
- Länge der Dateinamen
Unix
.htm
File Type Extensions
BSD
Apple
HFS
HFS+
Mac OS 8.1
NTFS
- Ur-Filesystem von Unix
Linux
ext3
POSIX-Standard
Unicode
XFS
SGI
- Entwicklungsgeschichte von ZFS
- ZFS Versionsnummer
Abwärtskompatibilität
- ZFS hatte wohl noch nie einen Fehler in der internen Datenstruktur
Continuous Testing
ztest
ReiserFS
- ZFS Adressraum
- Großkunden von Sun werden an die 64bit-Grenze stoßen
- Bestehende Dateisysteme umzuschreiben lohnt sich nicht
- ZFS Datenintegrität
SATA
Firewire
USB
Prüfsummen
Block
- silent errors
MPEG
Buttle-Tuttle-Konfusion
- Variable Blockgröße
Blockdevice
LVM
RAID
Mirror (RAID 1)
RAID 5
RAID-Z
RAID-Z2
Redundanz
Rampant Layering Violation?
Andrew Morton
Logical Volume Manager
Resilvering
- ZFS Storage Pools
ZPool
- ZFS kann man mit Dateien (statt Festplatten) testen
RAID 0 (Striping)
- Festplatten können zur Laufzeit dynamisch hinzugefügt werden
Redundant Array of Independent Disks (RAID)
RAID 1 (Mirroring)
- In Zukunft: Ersatzblöcke freihalten zum Ausweichen
- Beispielsetup
- Pools haben Namen (z.B. “tank”)
Mounten
- ZFS Dateisystem-Verwaltung
- ZFS Quota
Disk Quota
- ZFS Reservation
- Neue Denkweise mit ZFS
- Früher: am Anfang Filesystem-Größen festlegen
/var, /temp
- Mit ZFS: Filesystem-Größe ändert sich dynamisch
- ZFS Lightweight Filesystem Creation
mkdir
- ZFS Filesystem Properties
- Accesstime
- Properties werden vererbt
- Filesysteme werden im Pool erstellt wie Ordner im Filesystem
- ZFS Verschlüsselung
- Schlüsselmanagement
On-Disk-Format
- ZFS Komprimierung
MP3
Lossless-Komprimierung
FLAC
LZJB
Lempel-Ziv-Markow-Algorithmus
Lzip
LZO
- Jeff Bonwick
gzip
- "ZFS ist eigentlich sowieso einzeln betrachtet nichts neues. […] Aber das alles in einen Topf zu packen und als Einheit wirken zu lassen, das gibt es noch nicht." (Denis)
Amiga
- Rampant Layering Violation
- Vergleich von ZFS zu FreeBSDs GEOM
FreeBSD
GEOM
Eierlegende Wollmilchsau
- "ZFS ist eigentlich ein Scheißname." (Tim) "Weil es ist halt nicht nur ein Filesystem." (Denis)
Elevator Algorithmus
- ZFS Snapshots
Snapshot
UFS
- Beispiel mit Mails
- Copy on Write
Überblock (0x00bab10c)
Bold Move
- Die Shownotes werden erwähnt. Hallo!
Chaosradio
CRE (früher “Chaosradio Express”)
- Zugriff auf Snapshots
- .zfs Ordner
ls
cd
- alle Operationen am Dateibaum sind grundsätzlich atomar
Atomare Operation
- ZFS Intent Log (ZIL)
PostgreSQL
WAL
Transaktionen
Intent Log
- Inkrementelle Backups
Snapshots verschicken
- zfs send
- zfs receive
- Nachteile von ZFS
- Geschwindigkeit
- ZFS unter FreeBSD
Pawel Jakub Dawidek
FreeBSD
- Denis erzählt von seinem Backup-Setup
- ZFS ist sehr speicher- und CPU-hungrig
Logfiles
- Jeder Rechner hat sein eigenes ZFS Filesystem
rsync
- stündliche Backups für eine Woche
FreeBSD 7.0
- Danke an Pawel Jakub Dawidek
ZFS on FUSE
FUSE
CDDL
SSH
FTP
SSHFS
Mozilla Public License
Allwissende Müllhalde
GPL
BSD-Lizenz
FreeBSD
- Die Durchschlagskraft von ZFS
Hans Reiser
- ZFS unter Mac OS X
Apple Looking at ZFS for Mac OS X
Mac OS 10.5 Leopard
- ZFS nur read-only
Case Insensitivity
Kernel Extension
- Denis geht davon aus, dass ZFS dann in 10.5.1 nachgeliefert wird
Mac OS X 10.6
- ZFS um Daten zwischen Betriebssystemen auszutauschen
ext3
Apple Partition Map
GUID Partition Table
UEFI
WinFS
POSIX
- Metadaten
- User Properties für Filesysteme
Extended File Attributes
BFS
Practical File System Design with BFS
BeOS
Spotlight
- RAIDs
RAID 0
RAID 1
RAID 5
Parität
RAID-Z
RAID 6
RAID-Z2
Buttle-Tuttle-Konfusion
Hot-Spare-Laufwerk
- “Plattenmonkeys” (Denis)
- Abschluss
- Snapshots wiederherstellen
- Livestream ist auf halber Strecke gescheitert
- Kommentaraufruf
- Verabschiedung
- CRE Outro