GUID-Partitionstabelle statt MBR in der Praxis

© © Gennadiy Kravchenko, 123RF.com

Table Dance

GPT – die GUID-Partitionstabelle – löst bei großen Festplatten den gewohnten Master Boot Record zwangsweise ab. Die normalen Linux-Fdisk-Programme kommen aber noch nicht klar mit dem neuen Partitionierungsschema. Mit den richtigen Tools ist der korrekte Dreh aber schnell gefunden.
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)

Seit Menschen Festplatten in PC-Gehäuse schrauben, stoßen sie an Limits. Mal waren es die im Bios, dann die von Controllern [1] oder solche in den Betriebssystemen. Maximale Sektoren, Köpfe, Partitionsgrenzen und -mengen, Bootbereiche und, und, und. In den 80ern beispielsweise zwang MS-DOS 3.2 Festplattenbesitzer dazu, ihre teuren Schätzchen in 32-MByte-Partition aufzuteilen. Eine solche Veteranin mit 2,5 Kilo Kampfgewicht zeigt Abbildung 1 auf der Seite liegend. Um ihre nach heutigen Maßstäben lächerlichen 85 MByte Kapazität zu nutzen, waren mindestens drei Partitionen nötig.

Abbildung 1: Alt und neu: Seite an Seite eine mit 85 MByte nur äußerlich große Micropolis-Platte aus den 80ern neben einer aktuellen 3-TByte-SATA-Festplatte von Seagate, die für diesen Artikel als Testobjekt diente.

Das zweite, optisch kleinere Gerät auf dem Foto dagegen ist sehr viel neuerem Datums, eine von zwei Seagate-Festplatten ST 33000651 AS, die der Hersteller dem Autor für die Tests zu diesem Artikel geliehen hat. Mit ihrer Kapazität von rund 3 TByte überschreitet sie gegenwärtig das PC-geschichtlich kritische Limit von 2 TByte, verursacht diesmal durch die MBR-Partitionstabelle (Abbildung 2, [2]).

Abbildung 2: Aufbau des Master Boot Record. Die Partitionstabelle mit vier Einträgen hat nur 4 Byte pro Sektornummer zur Verfügung.

Altlasten

Das klassische MBR-Partitionierungsschema CHS ist sowieso schon lange ausgeschöpft (maximal 1024 Cylinders * 255 Heads * 63 Sectors) mit seinen 8 GByte. Seither nehmen Bios und Betriebssystem immer 254 Köpfe, 63 Sektoren und 1023 Zylinder an und nutzen die jeweils 4 Byte in der Partitionstabelle, um Position und Größe der Sektoren festzulegen (Logical Block Addressing, LBA).

Mit diesem Kniff lebte die PC-Welt bislang ganz gut – doch die Zeit ist vorbei, denn (232-1 Sektoren)*512 Byte Sektorgröße ergibt rund 2,2 TByte als maximale Größe für eine Partition und reichlich 4 TByte als Größe der Festplatte ([3], [4]).Wer also eine aktuelle 3-TByte-Platte am Stück verwenden will, beispielsweise in einem File- oder Mailserver, muss grundlegend etwas ändern – willkommen in der Welt der GUID-Partitionstabellen!

Die GPT ist Nachfolgerin der MBR-Partitionstabellen und Teil des EFI-Standards (Extensible Firmware Interface, [5]). Die Spezifikation EFI, in der Hersteller-unabhängigen Ausprägung heißt sie Unified EFI (UEFI), ersetzt und vereinheitlicht die Teile des Bios, die fürs Booten und zum Abarbeiten von Pre-Boot-Programmen zuständig sind. Die GPT verwendet wie die moderneren MBR-Tabellen LBA, aber mit 64 Bit, was Festplatten bei 512 Byte Sektorgröße bis 8 Zettabyte adressierbar macht, was rund 8 Milliarden TByte entspricht. Außerdem verwaltet eine GPT bis zu 128 Partitionen (Abbildung 3, [6]).

Abbildung 3: Aufbau einer GPT. Nach dem wegen der Kompatibilität zu alten Betriebssystemen mitgeführten Standard-MBR folgt ein knapp 100 Byte langer Header. Die eigentliche Partitionstabelle nimmt in 32 Blöcken die Daten von maximal 128 Partitionen à 128 Byte auf.

Trotz "Hirnschadens": GPT in der Praxis

Der Linux-Kernel unterstützt die aktuellen großen Platten und GPTs seit Version 2.6.25, auch wenn Linus Torvalds EFI als "Intels Hirnschaden" abtut [7]. Das Testsystem spricht die Seagate als »/dev/sdh« an, Listing 1 zeigt, was der »dmesg« -Befehl liefert. Beim Partitionieren mit einer GPT verweigern die bekanntesten Programme »fdisk« oder »cfdisk« allerdings die Mitarbeit. Das grafische Programm Gparted dagegen unterstützt GPTs (Abbildung 4). Die erste Festplatte soll eine einzige große Datenpartition erhalten.

Listing 1

Kernel erkennt 3-TByte-Platte

01 [782663.410960] ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
02 [782663.445923] ata6.00: ATA-8: ST33000651AS, CC44, max UDMA/133
03 [782663.445931] ata6.00: 5860533168 sectors, multi 0: LBA48 NCQ (depth 31/32)
04 [782663.446811] ata6.00: configured for UDMA/133
05 [782663.446830] ata6: EH complete
06 [782663.447076] scsi 7:0:0:0: Direct-Access     ATA      ST33000651AS     CC44 PQ: 0 ANSI: 5
07 [782663.447507] sd 7:0:0:0: Attached scsi generic sg9 type 0
08 [782663.447585] sd 7:0:0:0: [sdh] 5860533168 512-byte logical blocks: (3.00 TB/2.72 TiB)
09 [782663.447780] sd 7:0:0:0: [sdh] Write Protect is off
10 [782663.447788] sd 7:0:0:0: [sdh] Mode Sense: 00 3a 00 00
11 [782663.447928] sd 7:0:0:0: [sdh] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
12 [782663.448846]  sdh: unknown partition table
13 [782663.474623] sd 7:0:0:0: [sdh] Attached SCSI disk
Abbildung 4: Gparted erkennt unpartitionierte 3-GByte-Platten auf Anhieb, anders als Fdisk und Cfisk. Um sie zu nutzen, muss der Admin nun eine GPT anlegen.

In Gparted legt der Admin zuerst über den Menüpunkt »Laufwerk« eine Partitionstabelle an, die eine Meldung in Übergröße nach sich zieht, dass alle bisher darauf enthaltenen Daten verlustig gehen. Im selben Fenster navigiert der Administrator dann zu »Erweitert | Partitionstabellentyp« an und wählt den Eintrag»gpt« .

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Systeme mit Vamigru verwalten

Auch wer nur kleine Flotten von Linux-Servern verwaltet, freut sich über Werkzeuge, die ihm diese Arbeit erleichtern. Vamigru tritt mit diesem Versprechen an. Wir verraten, was es leistet und wie Sie es in der eigenen Umgebung in Betrieb nehmen. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite