Freitag Okt. 26, 2007

Partitionen mit mehr als 2 TerraByte unter Linux

Bisher bin ich ja nie über Partitionen gekommen, die größer als 2 TB (TerraByte) waren und hatte deshalb auch nie Problem. Kürzlich aber mußte eine 12 TB große Partition her. Und schon ging der Blödsinn los. Der Kernel kann damit umgehen, der Controller (im konkreten Fall 3Ware 9650SE-16M [und unter Linux kann ich 3Ware nur empfehlen, da die Treiber im Kernel sind) und das XFS-Filesystem. Aber Tools wie fdisk können es z.B. nicht und wenn der falsche Partitionstabellentyp eingestellt ist, dann geht's auch nicht...

Von vorne... Sicherheitshalber sollte man beim Contoller die neueste Firmware einspielen. Damit wir dann überhaupt so grosse Partionen erstellen können, brauchen wir zwei physikalische Festplatten oder Raid's. D.h. für Partitionen wie / (root) oder /boot legen wir beispielsweise ein Raid 1 (Spiegel) auf /dev/sda an, wobei jede Partition nicht größer als 2 TB sein darf! Wenn wir dort nämlich eine Partitionstabelle anlegen mit z.B. fdisk, dann ist der Partitionstabellentyp msdos (wenn man es nicht ändert) und der kann nur mit Partition bis 2 TB umgehen. Ausserdem haben die Bootloader Grub und Lilo auch so ihre lieben Probleme mit größeren Partitionen. Die eigentliche Partition, die größer als 2 TB werden soll, legen wir beispielsweise nach /dev/sdb. Da dies wieder ein eigenes Device ist, können wir hierfür eine andere Partitionstabelle erstellen, die wir unbedingt brauchen.

Nochmal kurz zusammen gefaßt:

* Grub und Lilo verstehen nur Partitionstabellen (Labels) vom Typ msdos. Man kann also nicht von Partionstabellentypen mit gpt Label booten
* msdos Partitionstabellen können mit keinen Paritionen umgehen, die größer 2 TB sind.
* fdisk kann nicht mit Partitionen umgehen, die größer als 2 TB sind
* LVM hat eventl. auch Probleme mit logischen Volumes die größer als 2 TB sind (nicht probiert)
* Die Linux Installationsprogramme können nicht mit Partionen umgehen, die nicht vom Type msdos sind. gpt fällt also hierfür aus.

Zuerst sollte man sich mal das Tool parted installieren. Damit erstellen wir eine Partitionstabelle. Schauen wir uns mit parted mal an, welchen Typ Partionstabelle wir haben auf /dev/sda (hier ist schon alles entspechend angelegt mit fdisk):

host # parted /dev/sda print
Model: AMCC 9650SE-16M DISK (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
...

Partition Table: msdos für /dev/sda. Das ist also ok so für sda. /dev/sdb soll aber später einen anderen Typ bekommen nämlich gpt. Hier bitte Vorsicht! parted schreibt Änderungen sofort weg! Wenn man nicht aufpasst, überschreibt man die Daten auf der falschen Platte!  Legen wir also  interaktiv eine Partionstabelle für  /dev/sdb an:

host # parted /dev/sdb
(parted) mklabel gpt
(parted) quit

Sehen wir uns an, was parted gemacht hat:

host # parted /dev/sdb print
Model: AMCC 9650SE-16M DISK (scsi)
Disk /dev/sdb: 12.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End     Size    File system  Flags

Partition Table: gpt für /dev/sdb. Passt also. Anstatt gpt könnte hier später auch loop stehen. Jetzt könnte man natürlich auf die Idee kommen, die eigentliche Partion auf /dev/sdb anzulegen. Das hat bei mir nicht funktioniert. Partition anlegen (/dev/sdb1), Filesystem erstellen und mounten ging zwar, aber nach einem Reboot war die Partition wieder blos 2 TB groß! Lösung war, das XFS-Filesystem direkt auf /dev/sdb zu erstellen (also NICHT /dev/sdb1!):

mkfs.xfs /dev/sdb

Das ist auch rebootfest - zumindest bei mir. Vielleicht hilft das ja jemanden weiter...



Technorati Tags: , , , , , ,

Kommentare:

Hallo, danke für die Informationen hier - hat sehr geholfen. Allerdings noch eine kleine Anmerkung. Die Kombination lilo/gpt geht sehrwohl. Siehe www.wlug.org.nz/GPT - Zitat "...,but GPT and traditional MBRs will coexist". Ich habe diese Kombination auch laufen - so sieht es aus:

myhost:~ # parted /dev/sda print

Disk /dev/sda: 3500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 32,3kB 8595MB 8595MB ext3 primär boot, , , , , , , , , , ,
2 8595MB 3500GB 3492GB ext3 primär , , , , , , , , , , ,

Gesendet von Jörn Frenzel am Dezember 10, 2007 at 11:55 vorm. MEZ #

Senden Sie einen Kommentar:
  • HTML Syntax: Ausgeschaltet