Die Neuerungen von Linux 2.6.38

Seite 4: Dateisysteme, Storage

Inhaltsverzeichnis

Die für 2.6.38 integrierten Optimierungen am VFS (Virtual File System), über das Userspace-Anwendungen auf die verschiedenen Dateisysteme zugreifen, erwähnte Torvalds mit einer gewissen Begeisterung und recht ausführlich in der Mail zur ersten Vorabversion von 2.6.38 (u. a. 1, 2, 3, 4, 5, 6, 7). Durch diese unter Namen wie "RCU-based name lookup" entwickelten Änderungen nutzt das VFS, das allen Dateisystemen zugrunde liegt, feineres Locking mit RCU (Read Copy Update), was unter anderem einige Verzeichnisoperationen erheblich beschleunigen soll. Davon sollen nicht nur größere Server mit vielen Prozessorkernen, sondern auch Allerweltssysteme profitieren; Torvalds gibt in der Freigabemail an, bei einigen Tests Performance-Verbesserungen von 30 bis 50 Prozent zu sehen. Bereits in einer früheren Mail zur Aufnahme der tief greifenden Optimierungen am VFS, das für die zuverlässige Funktion des Kernels sehr wichtig ist, hatte er geschrieben, dass ein mit gefüllten Caches in seinem Home-Verzeichnis ausgeführtes Find-Kommando rund 35 Prozent schneller arbeite – und das, obwohl Find nur mit einem Thread arbeite.

Ext3 und XFS werden mit 2.6.38 das beim 37er-Kernel eingeführte Batched Discard unterstützen, das insbesondere für SSDs mit langsamer Trim-Funktion interessant ist (1, 2, 3). Im Merge Window von 2.6.37 hatten die Kernel-Hacker einige Patches zum Steigern der Ext4-Performance integriert. Das weiterhin experimentelle COW-Dateisystem Btrfs kann zur transparenten Kompression neben Zlib nun auch LZO nutzen, das typischerweise erheblich schneller, aber nicht ganz so effizient packt; einige Messwerte, die das untermauern, und einen Vergleich zu einem unkomprimierten Dateisystem liefert der Commit-Kommentar (1, 2). Btrfs beherrscht nun auch schreibgeschützte Snapshots; zudem wurde zum RC7 ein zuvor auf der LKML diskutierten Fehler im Btrfs-Code beseitigt, durch den eine kopierte Datei unter Umständen leer war, wenn man sie erst kurz zuvor angelegt hat und mit aktuellen Versionen des zu den Coreutils gehörenden Programms "cp" kopiert.

Das von vielen Linux-Distributionen für Live- und Installationsmedien verwendete Dateisystem SquashFS unterstützt ab 2.6.38 die Komprimierung der Dateisystem-Images mit dem aus LZMA hervorgegangenen Kompressionsformat XZ, das für sehr hohe Packdichten bekannt ist (1, 2) – damit dürften einige Live-Medien in Zukunft Platz für ein paar Programme mehr bieten. Das bei optischen Medien wie DVD genutzte UDF-Dateisystem kommt ab 2.6.38 nun ohne das Big Kernel Lock (BKL) aus. Damit haben die Entwickler nach der BKL-Entfernungs-Aktion bei 2.6.37 nun den letzten auf typischen Systemen eingesetzten Kernel-Bestandteil vom BKL befreit. Es gibt zudem einen Schlachtplan, um bald auch die verbliebenen Nutzer des BKLs aus der Welt zu schaffen (1, 2).

Mehr Infos

Linux-Kernel herunterladen

Neue Linux-Versionen sind über Kernel.org erhältlich; dessen Inhalte spiegeln auch zahlreiche Mirror-Server in Deutschland, Österreich und der Schweiz. Linux-Anwender, die sich nicht intensiv mit dem Kernel und dessen Umfeld beschäftigen, sollten neue Linux-Treiber und -Kernel aber nicht auf eigene Faust einspielen, sondern auf die Kernel der Linux-Distributoren zurückgreifen. (...mehr...)

Zum SCSI-Subsystem stieß das im Rahmen von linux-iscsi.org entwickelte Multiprotocol Storage Target, kurz LIO (für linux-i scsi.org). Mit ihm lassen sich Datenträger als SCSI-Targets aufsetzen, auf das andere Systeme per iSCSI, Fibre Channel oder FCoE (Fibre Channel over Ethernet) zugreifen. Diese Lösung zum Einrichten eines SAN (Storage Area Network) ersetzt bald das schon länger im Kernel enthaltene STGT (SCSI Target Framework; Kernel-Konfigurations-Option CONFIG_SCSI_TGT). Auch die Entwickler des SCST (SCSI Target Subsystem for Linux) hatten ihre Lösung als Ersatz propagiert, zogen aber den Kürzeren. Einen Kurzüberblick über die Funktionen von LIO liefert der Commit-Kommentar. Einige Hintergründe zu den technischen Unterschieden zwischen den verschiedenen SCSI-Target-Implementationen und den Gründen für die Festlegung auf LIO liefert der LWN.net-Artikel "A tale of two SCSI targets".

Durch den Einsatz von mehreren Workqueues in Dmcrypt nutzt der Device Mapper (DM) nun Multi-Core-Prozessoren besser und sollte so flotter ver- und entschlüsseln. Über neue Schnittstellen kann der Device Mapper auf Funktionen des Subsystems MD (Multiple Devices) zur Verwaltung von Software-RAIDs zugreifen, die für die RAID-Level 4, 5 und 6 zuständig sind. Zusammen mit einer frischen Version von Dmraid sollte das langfristig für eine bessere Unterstützung der von vielen Mainboard-Chipsätzen gebotenen Host-RAID-5-Funktionen sorgen, für die bislang spezielle Kernel-Patches erforderlich waren, die manchen Distributionen nicht beiliegen.