Daten werden immer mehr, Festplatten immer größer. Irgendwie müssen die
Daten auf die Festplatten kommen, um am besten auch gleich wieder richtig
davon runter. Genau darum kümmern sich Dateisysteme.
Mit den drei General-Purpose-Nerds Haku, _john und Daniel jagen wir im
Pentacast 48 einmal von der magnetisierten Spindel über den Prozessor bis
zum Dateisystem und erklären wer von denen welche Aufgaben übernimmt.
Der Hauptteil der Sendung liegt dann auf Dateisystemen, insbesondere ZFS
und dessen freie Variante BTRFS.
Is wieder bissi länger geworden, diesmal. Wenn Ihr ein bestimmtes Thema
hören wollt, guckt Euch unten die Timeline an, wo ihr hinscrollen müsst.
Wir wünschen euch dreieinhalb spannende Stunden!
Shownotes:
00:00:00 Vorstellungsrunde
Daniel, _john(1) und Haku sind im Studio. Heute geht es
um Dateisysteme im Allgemeinen und BTRFS im
Speziellen. Und
natürlich ZFS,
von dem BTRFS alles abgeguckt hat...
Wir stellen fest, dass wir eigentlich keinen Experten zum Thema im
Studio haben, nur ein Haufen General Purpose Nerds.
00:04:20 "Es fing an mit EVA... Begriffsklärungen
Festplatten
übernehmen das E und das A bei der Eingabe, Verarbeitung, Ausgabe
(EVA). Sie lassen sich auch als Kommunikationskanal
betrachten.
Festplatten haben seit über 20 Jahren rotierende, magnetisierbare
Scheiben. Vergleiche zum Plattenspieler
werden hergestellt. Haku erklärt die Begriffe Spuren, Sektoren,
Zylinder (Die Scheiben einer Spindel werden als eine Einheit
betrachtet. Jede Scheibe hat Spuren, wovon wiederum jede Spur in
Sektoren unterteilt ist. Die Spuren auf alle Scheiben verteilt
nennt man Zylinder.)
Daten werden in der Regel sektorenweise geschrieben.
Blöcke
sind in einer Abstraktionsebene über dem Gerät, die letzten Endes
zum gezielten ansteuern von Daten auf der Festplatte genutzt
werden.
Haku erzählt über weitere Features von Festplatten. Beispielsweise
Fehlererkennung,
Verschlüsselung.
Festplatten sind auch vom Mooreschen
Gesetz betroffen.
Aktuelle Festplatten sind SSDs.
Transistoren
anstatt Scheiben. Nix magnetisierbar (Hallo, Todesmagnet).
Löschen von SSD-Speicherzellen ist aufwändig. Hier kommt das
eigentliche Flashen vor, vergleichbar mit dem Blitzdingsen aus Men
in Black. Will Smith ist in Eurer SSD.
Blitzdingsen tut aber weh und deswegen sind SSDs seltener
beschreibbar als Festplatten. Mit Wear-Leveling probiert man
dagegen anzugehen. Plaste-Router können sich aber keinen
Wear-Leveling-Controller leisten. Da muss das Betriebssystem diese
Aufgaben mit bestimmten Dateisystemen koordinieren.
S.M.A.R.T. als Orakel über den Zustand von Festplatten und SSDs
(Self Monitoring and Reporting). Defekte Sektoren und so...
Der TRIM-Befehl wird genutzt um Zellen von SSDs zeiteffizient zu
löschen.
Benchmarks von SSDs und Festplatten im Vergleich.
Die Idee der Hybridfestplatte wird besprochen.
00:41:05 Schnittstellen zwischen Rechnern und Speichermedien
Meistens sind Festplatten über Busse angeschlossen. Parallel SCSI
ist ein altes Gegenbeispiel, was heute keiner mehr benutzen möchte.
Die Entwicklung ging von IDE über SATA. SAS findet man in
Rechenzentren. SATA nutzt symmetrische Datenübertragung.
SAS ist seriell angebundenes SCSI. SCSI ist cool und kann 'ne ganze
Menge. Z.B. kann man auch Arbeitsspeicher darüber anbinden und es
gibt Auto-Discovery Funktion. SCSI ist Mutti von USB.
iSCSI ist SCSI über's Netzwerk. Höhere Latenzen, aber man kann die
gleichen Schnittstellen wie bei Festplatten benutzen.
ATA ist das Billigprotokoll, welches neben SCSI existiert.
Lücken im Wissen um die Rechnerarchitektur werden aufgedeckt.
Redundant Array of Inexpensive Disks. Mit RAID{0,1,2,3,4,5} als eigenes Universum.
ZFS hat RAID-Controller überflüssig gemacht.
00:58:30 Partitionstabellen
Partitionstabellen werden zur Einteilung von Festplatten genutzt,
um mehrere sie mit mehreren Dateisystemen nutzen zu können. ("Unterfestplatte")
Dos-Partitionen mit Einschränkungen und festem Format und GPT.
Guid-Partition-Table hat keine Platzprobleme mehr und sie ist
redundant über die Platte verteilt.
Wie ist der MBR, der Master Boot Record mit dem ganzen Partitionen verwurstet?
_john erklärt's.
01:09:40 Aufgaben von Dateisystemen
Dateisysteme bieten Möglichkeiten geordnet auf Daten zuzugreifen,
beispielsweise über Verzeichnise.
Vom Nutzerkommando bis zur Festplatteninstruktion um an Daten zu
kommen.
Managen von Zeichensätzen.
Verwaltung von Metadaten wie Rechten, Besitzern und Änderungsdaten.
Auch die Größe ist interessant.
Es wird Magic betrieben, um herauszufinden, welches Format eine Datei hat.
_john empfiehlt den OMG WTF PDF Vortrag.
Es werden verschiedene Methoden der Größenberechnung einer
Information besprochen. Blockgrößen waren üblicherweise 512 Byte.
Festplatten fordern oft 4 kByte Blöcke.
Philosophie über große Festplatten. Meine hat 256 GB. Haku hat 10 TB.
IO-Scheduling. Planen von schreibwilligen Prozessen und planen von
Lese-/Schreib-Operationen auf der Platte. Und wann schreibt man die
Metainformationen der Dateien?
Magnetische Flussdichte
... kann mir jemand den Rest der Shownotes abnehmen?