Kernel-Log: Linux und Festplatten mit 4-KByte-Sektoren

Fdisk richtet Partitionen in Zukunft so aus, dass die neuen Festplatten mit 4 KByte großen Sektoren optimale Leistung bringen.

In Pocket speichern vorlesen Druckansicht 19 Kommentare lesen
Lesezeit: 11 Min.
Von
  • Thorsten Leemhuis

Red-Hat-Entwickler Karel Zak hat die Version 2.17.1 der von vielen Linux-Distributionen genutzten Werkzeugsammlung util-linux-ng freigeben. Zu der gehört das Kommandozeilenprogramm "fdisk", das Partitionen in der mit der Option "-u" aktivierbaren sektorbasierten Betriebsart von nun an standardmäßig an Megabyte-Grenzen auszurichten versucht, wie es Windows 7 und Vista schon länger machen. Das klingt wie eine kleine unbedeutende Neuerung, sie aber überaus wichtig für die allmählich in den Handel kommenden großen Festplatten, die intern mit 4 KByte großen Sektoren arbeiten, aus Kompatibilitätsgründen aber nach außen vorgeben, wie alle Desktop-Festplatten der vergangenen 20 Jahre mit 512 Byte großen Sektoren zu arbeiten.

Linux-Dateisysteme lesen und schreiben zwar bevorzugt in Blöcken zu 4 KByte, allerdings legen ältere fdisk-Versionen die erste Partition so an, dass sie standardmäßig mit dem (512-Byte-)Sektor 63 beginnt – also mitten in einem physischem (4-KByte-)Sektor. Schreibt man jetzt 4 KByte Daten an den Anfang der Partition, muss die Festplatte zunächst zwei physische Sektoren à 4 KByte lesen, die neu zu schreibenden 4 KByte auf diese beiden physischen Sektoren verteilen, eine Extrarunde der Scheiben abwarten und dann die beiden Sektoren wieder auf die Platte schreiben.

Das führt dazu, dass der Datendurchsatz bei 4-KByte-Platten (und auch manchen RAID-Arrays) signifikant sinkt gegenüber einer Partitionierung, bei der alle Partitionen auf durch acht teilbaren (512-Byte-)Sektornummern beginnen. Hintergründe dazu liefern ein Artikel bei LWN.net und das Platten-Karussell in c't 4/10, Seite 66, in dem unter anderem die WD10EARS von Western Digital getestet wurde – einer der ersten und im Handel erhältliche Desktop-SATA-Festplatte, die intern 4 KByte große Sektoren nutzt.

Erst vor kurzem hatte die Problematik auf Slashdot für längere Diskussionen gesorgt, nachdem Osnews einen Artikel mit der Überschrift "Linux ist nicht ganz bereit für Festplatten mit 4-KByte-Sektoren" veröffentlicht hatte. Wie richtig oder falsch diese Überschrift ist, hängt von der Interpretation des Begriffs "Linux" ab, denn den Linux-Kernel trifft hier nur wenig Schuld; vielmehr informiert er Userland-Anwendungen bereits seit der Aufnahme der I/O-Topology-Patches bei Linux 2.6.31 über alle wichtigen Parameter, damit Partitionen optimal ausgerichtet werden können.

Fdisk wertet diese Informationen aber erst seit der im Januar freigegebenen Version von util-linux-ng aus. Damit ist das Problem aber auch noch nicht vom Tisch, denn Fdisk ist nicht das einzige Linux-Distributionen beiliegenden Partitionierungstool. Zudem müssen auch die Installer der Distributionen angepasst werden oder Fdisk richtig nutzen – Martin K. Petersen, der Entwickler der I/O-Topology-Patches, vermutet in einem Kommentar zum oben genannten Osnews-Artikel, dass das bislang nur bei Fedora der Fall ist.

Die Fdisk-Version in den aktuellen util-linux-ng 2.17.1 richtet die Partitionen nicht nur nach Megabyte-Grenzen aus, sondern kennt nun auch den Parameter "-c". Der deaktiviert einen mit der neuen Ausrichtungsart unverträglichen DOS-Kompatibilitätsmodus, in dem Partitionen nach logischen Zylinder-Grenzen ausgerichtet werden, wie es zu DOS-Zeiten vor der LBA-Adressierung nötig war und es Fdisk bis heute macht, sofern man Fdisk nicht durch Eingabe von "u" oder den Kommandozeilenparameter "-u" auf sektorbasierten Betrieb umgestellt. Der DOS-Modus gilt jetzt als deprecated (überholt), bleibt bei dieser Version aus Kompatibilitätsgründen aber noch ein letztes Mal Standardvorgabe. Bis dahin sollte man die sektorbasierte Anzeige manuell aktivieren, um eine korrekte Ausrichtung für 4-KByte-Platten zu gewährleisten.

Eine Woche nach Veröffentlichung des vorangegangenen Kernel-Logs haben die Verwalter der Stable-Series die Kernel-Version 2.6.32.8 freigegeben, die sich durch mehr als 70 Patches von ihrem Vorgänger unterscheidet. Die Kernel-Version 2.6.32.9 wird gerade vorbereitet; die Zeit zum Einreichen von Kommentaren ist bereits abgelaufen, daher dürfte sie in Kürze erscheinen. [Update] Zirka 40 Minuten nach der Publikation dieses Kernel-Logs hat Greg Kroah-Hartman den Linux-Kernel 2.6.32.9 freigegeben. [/Update]

Die achte Vorabversion von 2.6.33 ist mittlerweile über zehn Tage alt, obwohl Torvalds in dieser Phase des Entwicklungszyklus neue RCs normalerweise wöchentlich freigibt. Ob das auf eine baldige Freigabe von Linux 2.6.33 hindeutet oder Torvalds vorher noch 2.6.33-rc9 veröffentlicht, wagen wir nicht zu prognostizieren.

Aktiv waren in den vergangenen Tagen auch die Entwickler des RT-Zweigs, die Linux-Kernel mit Echtzeitfähigkeiten entwickeln. So gilt die kürzlich freigegebene Version 2.6.31.12-rt21 von nun an als "Latest Stable", wie aus einer Meldung des OSADL (Open Source Automation Development Lab) hervorgeht. Auf der OSADL-Webseite findet sich zudem ein kurzer Bericht zu der auch im vierten Teil der Kernel-Log-Mini-Serie "Was 2.6.33 bringt" erwähnten Umbenennung einiger Spinlocks. Die hat den Umfang des Realtime-Patches signifikant reduziert, wie Thomas Gleixner in der Freigabe-Mail zu Linux 2.6.33-rc8-rt1 schreibt – dem ersten RT-Kernel, der auf auf den aktuellen Vorabversionen von Linux 2.6.33 basiert.

Kernel

  • Auf der LKML lief Mitte des Monats eine längere Diskussion über den Wechsel zum Kompressionsformat "XZ" für die auf Kernel.org angebotenen Kernel-Archive. Eine Zusammenfassung oder eine konkrete Roadmap fehlen zwar bislang, vieles deutet aber darauf hin, das die Kernel-Quellen zukünftig auch im XZ-Format angeboten werden, das häufig effizienter komprimiert als Gzip (.gz) und schneller arbeitet als Bzip2 (.bz2). Letzteres Format wird langfristig möglicherweise fallen gelassen und die alten Dateien entfernt; die mit Gzip komprimierten werden aber vermutlich weiter angeboten.
  • Christoph Hellwig hat in seinem "XFS status update for January 2010" einen Überblick über die jüngsten Entwicklungen rund um das XFS-Dateisystem zusammengefasst.

Kernel-Umland ("Plumbing layer") und Userland-Treiber

  • Theodore Ts'o hat die Version 1.41.10 der E2fsprogs veröffentlicht, die zahlreiche Fehlerkorrekturen und einige vorwiegend kleine Verbesserungen bringt.
  • Bereits kurz nach dem vorangegangenen Kernel-Log hat Jean Delvare die Version 3.1.2 von lm-sensors freigegeben, die verschiedene, vorwiegend kleine Verbesserungen sowie Unterstützung für neuere Kernel bringt.
  • Novell-Entwickler Michael Meeks hat in seinem Blog eine Präsentation veröffentlicht, die einige Vorteile des von ihm mitentwickelten Bootchart2 gegenüber dem erstenBoot-Analyse-Programms namens "Bootchart" zeigt.
  • Der bei IBM Developerworks erschienene Artikel "Virtio: An I/O virtualization framework for Linux" erklärt einige Hintergründe zum Virtio-Framework, das Lguest und KVM für paravirtualisierte Treiber nutzen.
  • Die Entwickler des Projekts Gutenprint haben die Version 5.2.4 der gleichnamigen Druckertreibersammlung veröffentlicht. Sie unterstützt zahlreiche Epson-Drucker, mit denen die Vorversion noch nicht zurecht kam.
  • Till Kamppeter hat die Version 4.0.4 von Foomatic freigegeben, das bei vielen Linux-Distributionen bei der Konfiguration und dem Ansprechen von Druckern involviert ist. Kürzlich gab Kamppeter zudem bekannt, das es einige Verbesserungen für die OpenPrinting-Webseite und die dortige Datenbank mit Informationen zu Druckertreibern gab.
  • Die kürzlich veröffentliche Version 2.8 des Bootloaders Gujin unterstützt jetzt die Partitionierung mit GPT (GUID Partition Table).

Grafik

  • Peter Hutterer hat mit die Version 1.7.5 des X-Servers von X.org freigegeben. Sie ist das letzte geplante Update für diese Versionsserie: Da kaum mehr Patches eingesandt werden, will Hutterer neue Versionen dieser Reihe nur noch veröffentlichen, wenn ein Grund dafür besteht. Keith Packard hat unterdessen den ersten Release Candidate des X-Server 1.8 freigegeben.
  • AMD hat die Version 10.2 seiner als Catalyst oder Fglrx bekannten proprietären Grafiktreiber für Linux veröffentlicht. Sie unterstützen laut Release Notes nun OpenSuse 11.2 auch offiziell; Unterstützung für die im Oktober letzten Jahres veröffentlichten und zu X.org 7.5 gehörenden X-Server der 1.7er-Serie bieten die Treiber aber immer noch nicht.
  • Nach zwei im vorangegangenen Kernel-Log bereits erwähnten Blog-Einträgen zur Arbeit an Code zur Unterstützung von Hybrid Graphics hat Dave Airlie noch einen dritten Blog-Eintrag zum Thema geschrieben und ein Video veröffentlicht, das eine Umschaltung zwischen zwei Grafikchips zeigt.
  • Der X Developers' Summit findet dieses Jahr im September in Toulouse statt.
  • Bart Massey, Sekretär des X.Org Foundation Board, hat in der Mail "The State of The X.Org Foundation 2010" einen Überblick über einige jüngste Entwicklung rund um die Arbeit der X.Org Foundation zusammengefasst. Wenig später gab er zudem das Ergebnis der kürzlich durchgeführten Wahlen für das X.org Foundation Board bekannt, in das unter anderem Alex Deucher (AMD), Matthias Hopf (SuSE GmbH) und Keith Packard (Intel) gewählt wurden.
  • Carl Worth hat die Version 2.4.18 der Libdrm freigegeben, die einige bei Intel-Hardware auftretende Probleme beseitigen soll.
  • Zack Rusin hat in seinem Blog einige Details zu einigen geplanten Funktionen für zukünftige Versionen von Gallium3D beschrieben und dabei auch erwähnt, dass das Framework langfristig Unterstützung für das API von DirectX 11 bieten soll. Das haben einige Autoren von Magazinen und Blogs als "DirectX-11-Unterstützung für Linux" fehlinterpretiert, daher hat Rusin in einem zweiten Blog-Eintrag das ganze nochmal näher ausgeführt und dabei erklärt, dass diese von ihm beschriebenen Verbesserungen für DirectX "praktisch nichts für Linux bedeuten" und es durch sie keineswegs einfacher werde, für Windows geschriebene Spiele auf Linux laufen zu lassen oder zu portieren ("So yea, Direct3D on GNU/Linux simply means nothing. We won't get more games, won't make it easier to port the already cross platform engines, won't allow porting of the exclusive titles and will not fill any holes in our gaming SDKs.")

Siehe auch:

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Der Autor des Kernel-Logs zwitschert unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl)