Dateisysteme
Inhalt
Was sind Dateisysteme
Grundbegriffe
Arten von Dateisystemen
Beispiele
Fragen?
Was sind Dateisysteme
Was sind Dateisysteme
Abstraktionsebene zwischen unstrukturiertem Speicher und Anwender / Applikation
angereichert um Verwaltungsdaten
Dateiname
Zugriffsrechte
Interaktions-Zeiten
Index der belegten / freien Speicherbereiche
Wozu Dateisysteme?
Ohne Dateisysteme muss jede Applikation den Speicher selbst organisieren
Konsistenz und Integrität können ausgelagert werden
Können für bestimmte Speicher optimiert werden, ohne alles andere zu adaptieren
Beispiel: F2FS/yaffs2 für NAND-Speicher (SSD, SD-Karten, …), ISO9660 für CDs, …
Grundbegriffe
Grundbegriffe
Blöcke
Zusammenfassung von Bytes im Speicher, die zusammen gelesen/geschrieben werden
Speicher
Addressierbare Ablage für Daten
IOPS
I/O Operations Per Second, also Lese-/Schreiboperationen Pro Sekunde
Grundbegriffe
Datei
Logische Gruppe von zusammengehörigen Daten
Verzeichnis
Logische Gruppe von Dateien
Arten von Dateisystemen
Lineare Dateisysteme
Älteste Form
Typischer Einsatz: Lochkarten und Bandspeicher
Kein zentraler Index der freien Blöcke, sondern verteilt
Flache Dateisystem
Die frühesten Platten-Dateisysteme
Keine Verzeichnisse
Frei/Belegt-Index eine einfache Bitmap
Alle Dateinamen + Metainformationen in der Master File Table
Hierarchische Dateisysteme
Erweiterung der flachen Dateisysteme
Bereits relativ früh
Verezichnisse zur logischen Strukturierung
Unter *NIX oft nur eine spezielle Art Datei
Netzwerk Dateisysteme
„Speicher“ muss nicht lokal sein
Zusätzliche Abstraktion von Netzwerk-Zugriffen
Bekannteste Vertreter: NFS und CIFS („Windows Dateifreigabe“)
Verteile Dateisysteme
Speicher muss nicht lokal und nicht auf nur einem Host sein
Verteilung meist Redundant und für den Client unsichtbar
Beispiele: CephFS oder GlusterFS
Vorteil oft erhebliches Durchsatzplus bei Leseoperationen
Skalierung in die Breite leicht
Begriffe Teil 2
Begriffe Teil 2
Cluster / Inode / Record
Zusammenfassung von Blöcken unabhängig von der Hardware
Bitmap
Teil innerhalb des Superblocks in dem über einzelne Bits markiert wird welche Inodes frei/belegt sind
Master File Table / Superblock
Informationen zum Dateisystem: Größe, Größe der Inodes, Ort der Backup-Superblöcke, …
Begriffe Teil 2
Beispiel des Aufbaus eines Linked List FS
Begriffe Teil 2
Beispiel des Aufbaus eines Indexed FS
Begriffe Teil 2
Beispiel des Aufbaus eines B-Tree FS
Beispiele
Alt: FAT12
Das erste Dateisystem von MS-DOS
8.3 Dateinamen
2 MFTs mit Bitmaps
Linked List System, jeder Datenblock verweist auf den nächsten
Maximale Volume-Größe: 32 MiB
Neuer: NTFS
„New Technology File System“, Standard der NT-Familie seit Windows NT 3.1
255 Zeichen Dateinamen
Bitmap
B-Tree
Linux: ext4
Quasi-Nachfolger von ext2 und ext3
Journalling
B-Tree statt Indexed wie die Vorgänger
Quasi-Default auf Linux
Ohne Inodes: ReiserFS
Ganzes FS großer B+-Tree
Hohe Geschwindigkeit bei zufälligen Zugriffen
Sehr schnell bei Verzeichnissen mit vielen Dateien
Reiser3 leider veraltet, Reiser4 nicht fertig
Integrierter Volume Manager: ZFS
Ursprünglich auf Solaris, inzwischen auf fast jedem unixoiden OS
Maximale Größe
Volume: 2
128
Bytes
Datei: 2
64
Bytes
Eingebaut: Kompression, Deduplikation, RAID, Snapshots, …
CDDL nicht mit GPLv3 kompatibel, darf deshalb nicht als Binary und/oder teil des Linux-Kernels ausgeliefert werden
Verteilter Speicher: CephFS
CERN mit CephFS: 65 PB, 10.800 Disken
Daten u.a. aus den LHC Experimenten
~ 300Gbps Schreibgeschwindigkeit
Nutzt Ceph im Hintergrund
Ceph: objekt-basierter, verteilter, redundanter Netzwerkspeicher
Pseudo: procfs
Dateispeicher dahinter ist der (Linux-)Kernel
Interface zu
Proc
ess Informationen
Jeder Prozess in der Form
/proc/<pid>
abgebildet, inkl. offene Dateien, Kommandozeile, Umgebung, …
Begrenzt können auch System-Settings bearbeitet werden
Treiber-Zugriff inzwischen nach
/sys
per
sysfs
ausgelagert
Links
Links
NTFS
https://de.wikipedia.org/wiki/NTFS
ext4
https://de.wikipedia.org/wiki/Ext4
Ceph
https://de.wikipedia.org/wiki/Ceph
Präsentation “Storage at CERN”
https://indico.cern.ch/event/649159/contributions/2761965/attachments/1544385/2423339/hroussea-storage-at-CERN.pdf
Links
ZFS on Linux
https://zfsonlinux.org/
CDDL and GPL
https://en.wikipedia.org/wiki/License_compatibility#CDDL_and_GPL
Synthetic file system
https://en.wikipedia.org/wiki/Synthetic_file_system
exFAT
https://de.wikipedia.org/wiki/exFAT
Apple File System
https://de.wikipedia.org/wiki/Apple_File_System
Links
Präsentation
https://gitlab.usrspace.at/everyone/presentation-dateisysteme
Verein
/usr/space
https://usrspace.at
Präsentation ist
CC-BY-SA 4.0
Fragen?