Duell der Datenbanken: In einem Shootout messen sich MySQL und PostgreSQL. Der Schwerpunkt vom ADMIN 06/2011 überprüft, wer schneller ist und gibt einen ... (mehr)

… und umgekehrt

Gdisk konvertiert ebenfalls GPT in MBR zurück. Diese Option funktioniert nicht in allen Fällen und ist darum mit Vorsicht anzuwenden. Nach Rückkonvertierung der zuvor schon umgewandelten Festplatte meldet sich Gdisk mit den Hinweisen aus Listing 7 . An dieser Stelle kann »sgdisk« , das zweite Program aus dem GPT-fdisk-Paket, hilfreich sein, das Low-Level-Reparaturen ausführt.

Listing 7

gdisk /dev/sde

 

Normale Festplatten speichern die Daten in ihren Sektoren zu je 512 Bytes. Betriebssysteme und deren Filesysteme fassen mehrere dieser Sektoren zu einem Cluster zusammen, häufig acht Stück, was Cluster mit 4096 Byte Länge ergibt. Um mehr Performance zu erreichen, arbeiten neuerdings große Festplatten intern ebenfalls mit 4096 Byte großen Clustersektoren, die Hersteller sprechen dann von "4k"-Festplatten. Die im Test benutzten Seagate-Festplatten zählen zu dieser Klasse.

Um nach außen für das Bios kompatibel zu sein, übersetzt eine Festplatten-interne Logik die Cluster wieder in 512 Byte große Sektoren. Damit die Angleichung der Verwaltungseinheiten-Größen von Betriebssystem und Festplatte auch zu dem gewünschten Geschwindigkeitsgewinn führt, sollten – egal ob MBR-Partitionen oder mit einer GPT – die 4-KByte-Cluster der Festplatte und die 4-KByte-Cluster des Dateisystems genau aufeinander liegen.

Andernfalls verkehrt sich der Effekt sogar ins Gegenteil: Wenn bei einem Versatz von 2048 Byte das Betriebssystem zum Beispiel einen Cluster auf die Platte schreibt, muss diese dann zwei halbe Cluster auf seine Scheiben übertragen, was auf zwei ganze Cluster hinausläuft. Besonders negativ betroffen von diesem so genannten Alignment sind SSD-Disks, da es auf dem Flashspeicher bei überlappenden Schreibzyklen zu einem Read-Modify-Write-Zyklus kommt.

Startsektor 63 oder 2048

Dass Betriebssystem und Permanentspeicher ihre Verwaltungseinheiten nicht synchron betreiben, ist eher die Regel als die Ausnahme. Schuld ist Microsoft, denn die Partitionierungstools von MS-DOS bis Windows XP lassen die erste Partition nach dem MBR bei Sektor 63 starten. So partitionierte Platten sind darum immer falsch ausgerichtet. Würde die erste Partition bei Sektor 64 beginnen, wäre dagegen eine ganzzahlige Zusammenfassung von 4096 Blöcken möglich. Fdisk von Linux ahmt aus Kompatibilitätsgründen dieses Verhalten nach ( [11] , [12] )

Seit Windows Vista hat Microsoft das Problem erkannt und legt bei neu zu partitionierenden Datenträgern den Start der ersten Partition auf Sektor 2048 statt auf Sektor 63. Bei Fdisk von Linux muss man je nach Version mindestens den DOS-Kompatibilitätsmodus per Kommandozeilenoption abschaltenden. Die Details weiß [11] zu berichten. Alle Tools, die eine GPT einrichten können, legen per Default den Startsektor zum Glück auf Position 2048.

Genau dies ließ sich bei den Tests zu diesem Artikel beobachten: Zeile 6 von Listing 2 zeigt als Startsektor 2048 – daher läuft die Zuordnung der ersten verwendeten 3-TByte-Platte optimal. Vorsicht ist jedoch bei Datenträgern mit einer Vorgeschichte geboten. Zeile 10 von Listing 5 zeigt nämlich, dass eine GPT auch ab Sektor 63 statt ab 2048 starten darf. Zur Erinnerung: Die zweite Festplatte wurde von einem MBR-Schema in ein GPT-Schema konvertiert. Dabei blieb dann die Partitionsgrenze bei 63 bestehen.

Ob sich die Gesamtproblematik in der Praxis so scharf stellt wie in der Theorie, ist strittig, da moderne Festplatten ein ausgeklügeltes, nur dem Hersteller bekanntes Mapping betreiben und zudem in den Betriebs- und Dateisystemen diverse Puffer und Optimierungen eingebaut sind. Es bleibt aber festzuhalten, dass das Verlegen der Partitionen auf 4-KByte-Grenzen eine begrüßenswerte Entwicklung darstellt, die Admins tätig mittragen sollten.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023