Wie partitioniere ich eine 22-TB-Festplatte?


33

Ich habe eine 22-TB-Festplatte /dev/sdb. Wie erstelle ich eine 22-TB-Partition? Das Dateisystem interessiert mich nicht wirklich - ext4oder zfsist in Ordnung.

Ausführen von CentOS 6.2 - Partition wird als Datendump verwendet. Nur ein einziger Datenstrom, um herauszufinden, welches Dateisystem derzeit wirklich keine Rolle spielt. Die Festplatte besteht aus 12 x 2 TB Nearline-SAS-Laufwerken und einem Dell Perc-Controller.

Ich möchte nur eine 22-TB-Partition.


1
Ein paar weitere Informationen wären hilfreich. Welches Betriebssystem verwenden Sie? Welche Art von Leistung erwarten Sie oder müssen Sie von ihr erhalten? Was ist die zugrunde liegende Hardware? ist es schon ein raid set? Hat es Redundanz? Benötigen Sie die zusätzlichen Datenschutzfunktionen von ZFS?
Tim Kennedy

3
Welche Versuche sind bisher gescheitert? fdisk, cfdisk?
Nils

Antworten:


44

Die einfachste Lösung ist die Verwendung der GPT-Partitionierung , einer 64-Bit-Version von Linux und XFS :

  • GPT ist erforderlich, da die von erstellte MBR-Partitionstabelle im MS-DOS-Stilfdisk auf 2 TiB-Datenträger beschränkt ist. Daher müssen Sie partedstattdessen ein anderes GPT-fähiges Partitionierungsprogramm verwenden fdisk. ( gdisk, gparted, Etc.)

  • Ein 64-Bit-Kernel ist erforderlich, da 32-Bit-Kernel Sie auf Dateisysteme beschränken, die kleiner sind als gewünscht. Entweder stoßen Sie auf ein Größenlimit, das auf 32-Bit-Ganzzahlen basiert, oder Sie sind nicht in der Lage, genügend RAM zu adressieren, um das Dateisystem ordnungsgemäß zu unterstützen.

  • XFS ist nicht die einzige Lösung, aber meiner Meinung nach die einfachste für RHEL-Systeme.

    In RHEL 6 können Sie dafür nicht ext4 verwenden. Obwohl das Dateisystem für die Unterstützung von 1 EiB-Dateisystemen ausgelegt ist , gibt es in der e2fsprogsin RHEL 6 und seinen Derivaten enthaltenen Version eine künstliche Größenbeschränkung von 16 TiB . Sowohl Red Hat als auch CentOS nennen dies in ihren Dokumenten. (Die ext4 16 TiB-Grenze wurde in RHEL 7 erheblich auf 50 TiB angehoben .)

    ZFS ist in Ihrer Situation möglicherweise nicht praktikabel . Aufgrund der zahlreichen rechtlichen und technischen Einschränkungen kann ich es nur empfehlen, wenn Sie etwas benötigen, das Ihnen nur ZFS bietet.

    Nachdem Sie Ihre beiden ausgewählten Dateisysteme ausgeschlossen haben, schlage ich XFS vor. Es ist das Standarddateisystem in RHEL 7, es war in allen RHEL 6-Versionen als unterstütztes Dateisystem verfügbar und wurde nach dem Erscheinen von RHEL 6 auf die späteren RHEL 5-Releases zurückportiert.

Hier ist der Prozess:

  1. Überprüfen Sie, ob Sie mkfs.xfsinstalliert haben , indem Sie es ohne Argumente ausführen. Wenn es nicht vorhanden ist, installieren Sie die XFS-Tools von userland:

    # yum install xfsprogs
    

    Wenn dies fehlschlägt, liegt es wahrscheinlich daran, dass Sie auf einem älteren Betriebssystem arbeiten, auf dessen Standardpaket-Repository dies nicht vorhanden ist. Sie sollten wirklich ein Upgrade durchführen, aber wenn dies nicht möglich ist, können Sie dieses von CentOSPlus oder EPEL beziehen . Möglicherweise müssen Sie das kmod_xfsPaket auch installieren .

  2. Erstellen Sie die Partition:

    Da Sie sagen, dass Ihr 22-TiB-Volume eingeschaltet ist /dev/sdb, partedlauten die Befehle für :

    # parted /dev/sdb mklabel gpt
    # parted -a optimal -- /dev/sdb mkpart primary xfs 1 -1
    

    Dadurch übernimmt es das gesamte Volume mit einer einzigen Partition. Tatsächlich werden die ersten 1 MB des Volumens ignoriert, um die 4-KB-Ausrichtung zu erreichen, die erforderlich ist, um die volle Leistung von Advanced Format HDDs und SSDs zu erzielen .

    Sie können diesen Schritt überspringen und das gesamte Volume mit XFS formatieren. Das heißt, Sie würden /dev/sdbim folgenden Beispiel anstelle von verwenden /dev/sdb1. Dies vermeidet das Problem der Sektorausrichtung. Bei einem Volume, das nur unter Linux angezeigt wird, gibt es keine nennenswerten Nachteile. Ich würde jedoch davor warnen, dies auf einem Wechseldatenträger oder auf einem internen Datenträger in einem Computer mit mehreren Startvorgängen durchzuführen Betriebssysteme (z. B. Windows und Mac OS) bieten die Möglichkeit, eine partitionlose Festplatte bei jedem Auftauchen für Sie zu formatieren. Indem Sie das Dateisystem auf eine Partition stellen, können Sie das Problem beheben.

  3. Formatieren Sie die Partition:

    # mkfs.xfs -L somelabel /dev/sdb1
    
  4. Fügen Sie den /etc/fstabEintrag hinzu:

    LABEL=somelabel    /some/mount/point    xfs     defaults   0 0
    
  5. Aufsteigen!

     # mount /some/mount/point
    

Wenn Sie den LVM- Pfad beschreiten möchten , sind die obigen Schritte im Grunde genommen nur eine detailliertere Version des zweiten Satzes von Befehlen in der Antwort des Benutzers bsdunten . Sie müssen seine ersten Befehle vor den oben genannten ausführen.

LVM bietet bestimmte Vorteile zu einem komplexen Preis. Beispielsweise können Sie eine LVM-Datenträgergruppe später "vergrößern", indem Sie ihr weitere physische Datenträger hinzufügen. Auf diese Weise wird Platz für das Vergrößern des logischen Datenträgers ("Partition", sorta) geschaffen, wodurch Sie das Dateisystem erweitern können, das auf dem logischen Datenträger basiert Volumen. (Was meine ich mit Komplexität? :))


4
Der ZFS-Teil ist umstritten. Der Linux-Port hat seit 2010 einen langen Weg zurückgelegt und im Vergleich zu XFS hat er viele Vorteile
TheLQ 18.01.12

Trifft das in Bezug auf GPT / MBR nicht wirklich nur zu, wenn /bootes Teil von ist /? Dem MBR sollte es egal sein, wie groß er /ist, wenn er nur ein kleines /bootRecht haben muss? Ich könnte falsch liegen.
Jonescb

1
@jonescb: Der Standort von /boothat keinen Einfluss auf die Einschränkungen von MBR. Wenn Sie eine Partition über 2 TB benötigen, können Sie die MBR-Partitionierung nicht verwenden. Es ist jedoch richtig, dass es möglich ist, den Mangel an BIOS-Unterstützung für das Booten von GPT zu umgehen, indem Sie /booteine kleinere MBR-partitionierte Festplatte einsetzen. Sobald der Kernel aktiv ist, müssen Sie sich keine Gedanken mehr über BIOS-Einschränkungen machen, da er weiß, wie die GPT-Partitionstabelle interpretiert wird. Wenn Ihr Computer EFI-basiert ist, müssen Sie diesen Tanz nicht ausführen, da EFI GPT versteht.
Warren Young

16

Nur als Alternative zu den anderen Vorschlägen.
Sie müssen eine Festplatte überhaupt nicht partitionieren.
Sie können einfach eine Datenträgergruppe mit einem oder mehreren logischen Datenträgern erstellen .

pvcreate /dev/sdb
vgcreate data /dev/sdb
lvcreate --name dump -L '100%VG' data

Jetzt haben Sie ein logisches Volume, das Sie mit jedem gewünschten Dateisystemtyp formatieren können.

mkfs.XXXX /dev/mapper/data-dump #<- XXXX can be ext4, xfs, btrfs, reiser
mount /dev/mapper/data-dump /mntpt

LVM ist im Grunde eine fortgeschrittene Form der Partitionierung. Es ist sinnlos, LVM zu verwenden, wenn Sie nur eine einzige LV erstellen möchten, die den gesamten Speicherplatz nutzt. Sie können also auch nur mkfs direkt auf dem gesamten Plattengerät ausführen.
Psusi

4
Keine LVs fügen Tools für Schnappschüsse von Live-Daten hinzu, skalierbar, mehrere Kopien von Metadaten; weitaus flexibler als eine einfache fs auf einem gerät.
bsd

1
Sie benötigen nicht mehrere Kopien von Metadaten, wenn Sie überhaupt keine Metadaten (Partitionstabelle) haben. Snapshots benötigen ebenso wie das Hinzufügen / Erweitern von Volumes freien Speicherplatz, weshalb sie sinnlos werden, wenn Sie nur ein einziges logisches Volume erstellen, das den gesamten Speicherplatz auf Anhieb ausnutzt. Wenn Sie die Funktionen von LVM nutzen möchten, sollten Sie mit einem kleineren Volume beginnen, damit Sie später genügend freien Speicherplatz zur Verfügung haben.
Psusi

Ich habe LVM in diesem Fall nicht empfohlen, sondern nur als Alternative zu "anderen" partitionierenden, nicht partitionierenden Antworten / Lösungen aufgeführt. Es liegt an ihr, alle Antworten zu lesen, ihre eigenen Nachforschungen anzustellen und dann zu entscheiden, welche Vorgehensweise am besten zu ihren Bedürfnissen passt.
bsd 18.01.12 um 17:57

3
Ein Vorteil von LVM, auch wenn Sie nur über eine LV verfügen, ist, dass Sie später problemlos Speicher hinzufügen können.
Plugwash

6

Frage zu der Frage: Sie haben gefragt, wie eine 22-TB-Festplatte partitioniert werden soll, und dann haben Sie in der Frage erneut gesagt, Sie wollten nur eine 22-TB-Partition. Das ist also in erster Linie Ambiguos.

Wenn Sie bereits ein einzelnes Block-Gerät haben, das 22 TB Speicherplatz unterstützt, verfügen Sie bereits über eine ganze 22-TB-Partition. Alles, was Sie benötigen, ist ein Dateisystem, das das Gerät bereitstellt und für das Lesen / Schreiben durch Systemprozesse verwendet werden kann. Darüber hinaus muss ein Linux-Kernel im 64-Bit-Modus mit einem Dateisystemmodul / -treiber ausgeführt werden, das ein Datenwachstum von 22 TB unterstützt und auf diese Weise skaliert werden kann Leichtigkeit. Leistung ist eine ganz andere Dimension. In diesem Fall würde ich XFSmich für mein Dateisystem entscheiden, da es sich um ein 64-Bit-Dateisystem handelt, das Dateisysteme mit einer Größe von bis zu einer Million Terabyte verarbeiten kann. Es unterstützt bis zu 9 EXABYTES.

2^63  = 9 x 1018 = 9 exabytes 

Weitere Informationen zu XFS finden Sie unter: http://oss.sgi.com/projects/xfs/

Wenn Sie das 22-TB-Block-Gerät weiter partitionieren möchten gparted, teilen Sie das Gerät mit in verwendbare Partitionen und formatieren Sie sie mit den Dateisystemen, um sie bereitstellen zu können.

Es scheint, dass Sie einen Hardware-RAID-Controller haben, da Sie erwähnen, dass Sie einen DELL-Perc-RAID-Controller haben - was bedeutet, dass Sie angeben müssen, welche RAID-Konfiguration (genau welches RAID-Level verwenden Sie?) Und in den meisten Fällen Sie werden nicht alle 22 TB Speicherplatz zur Verfügung haben, aber ich könnte mich irren.


Ich wollte auch xfs vorschlagen, aber xfs_check benötigt viel Speicher und viel Zeit, um w / 22G fs auszuführen. Zwischen physisch und Swap müsste man mindestens 32G überprüfen, das heißt, wenn er jemals die Fs auf einem "Datadump" (was auch immer das ist;)
überprüfen möchte

@ bdowning, Sie möchten es vielleicht auf 22T fs korrigieren :)
Nikhil Mulley

Es ist 22 TB Raid 5. Ich habe viele Festplatten :)
LVLAaron

Das war ein Tippfehler. Ich habe das gleiche Gerät, 10 TB, mit LSI Megaraid (die gleiche Karte wie Dell Perc)
bsd

@bdowning: xfs_checkVerwendet zwar viel Speicher, aber die Handbuchseite (8) erwähnt: " Beachten Sie, dass die Verwendung xfs_checkNICHT empfohlen wird. Verwenden Sie xfs_repair -nstattdessen, um die Skalierbarkeit und Geschwindigkeit zu verbessern. "
Cristian Ciupitu

4

Wenn Sie ZFS verwenden, sollten Sie keine Partitionierung benötigen. Erstellen Sie einfach einen ZFS-Pool auf Ihrem 22-TB-Gerät und ein Dateisystem darin, wenn Sie nicht den Standard-Pool verwenden möchten. Wenn zpool aus irgendeinem Grund die Verwendung des gesamten Datenträgers nicht unterstützt, erstellen Sie zunächst ein EFI-Label und eine Partition unter Verwendung des gesamten verfügbaren Speicherplatzes. Verwenden Sie dann diese Partition, um den Pool zu erstellen.

Aus mehreren Gründen würde ich für ein so großes Dateisystem nur die Verwendung von ZFS empfehlen. Das offensichtlichste Problem ist, dass fsck bei einem brutalen Stromausfall (z. B. Kernel-Panik oder Stromausfall) eine schmerzhafte Zeit in Anspruch nehmen kann, um herkömmliche Dateisysteme wiederherzustellen. ZFS hingegen benötigt kein fsck und importiert den Pool sofort.

Beachten Sie, dass Sie die Hardware-RAID-Konfiguration unterbrechen und die zwölf Geräte als JBOD verwenden sollten, um einen ZFS-Pool zu erstellen, wobei Sie die Software-RAID-Funktionen nutzen sollten. Wenn Ihr Ziel die Leistung ist, können Sie Festplattenpaare spiegeln. Wenn Ihr Ziel der maximale Speicherplatz ist, können Sie eine RAIDZ-, RAIDZ2- oder RAIDZ3-Konfiguration verwenden. Dadurch werden die Zuverlässigkeit Ihrer Daten und die Fehlertoleranz der Lösung erheblich verbessert.


1
Ich weiß, dass dies eine alte Antwort auf eine alte Frage ist, aber ... Wenn Sie ZFS verwenden, ist es die beste Option, das RAID-Array zu zerstören, den RAID-Controller für JBOD so zu konfigurieren, dass Linux jede einzelne Festplatte erkennt und dann gespiegelte Paare erstellt (weniger Kapazität, große Leistung) oder RAIDZ / Z2 / Z3 (mehr Kapazität, schwache Leistung) von den einzelnen Festplatten. Sie verlieren den größten Teil des Nutzens von ZFS, wenn Sie es auf ein vorhandenes RAID legen, anstatt die Festplatten selbst verwalten zu lassen. Gleiches gilt für btrfs.
cas

@cas Du hast definitiv recht, antworte aktualisiert. Ich habe mich jedoch auf die OP-Frage "Wie partitioniere ich eine 22-TB-Festplatte?" Und nicht auf "Was würden Sie mit meiner Festplattenkonfiguration tun?" Konzentriert.
Juli

3

Ich bin nicht sicher, ob dies derzeit mit der Standardpartitionstabelle möglich ist. In der Standardpartitionstabelle sind die Volumes auf 2 32 Sektoren begrenzt. Bei 512 Bytes pro Sektor würden Sie einfach keine Zahlen mehr haben, um Sektoren um 2 TB zuzuweisen.

Dies sollte jedoch möglich sein, wenn Sie eine GUID-Partitionstabelle anstelle einer Standard-Partitionstabelle verwenden. In GUID-Partitionstabellen können Volumes bis in den Zettabyte-Bereich erweitert werden. Die meisten Linux-Distributionen können von einem GUID-Volume gebootet werden. Derzeit ist jedoch keine Windows-Version (außer Windows 7 unter EFI) verfügbar.

Einige Tools wie fdisk können nicht mit GUID-Volumes arbeiten, andere Tools wie GParted jedoch. Sobald Sie Ihre GUID-Partitionstabelle erstellt haben, sollten Sie in der Lage sein, ein Volume mit einem der verschiedenen gängigen Dateisysteme zu erstellen, die ein Volume dieser Größe unterstützen (z. B. EXT4).


Auf einem 32-Bit-System kann es sein. Ich konnte eine 3,5-TB-Partition auf einem 64-Bit-Ubuntu-Server erstellen, der ab Version 8.04 unterstützt wird. Apropos cyberciti.biz/tips/…
Karlson

Meines Wissens benötigen Sie möglicherweise nicht einmal eine Partitionstabelle, um ein Dateisystem auf einer Festplatte zu speichern. Außerdem ist es laut OP kein Startlaufwerk, sondern nur ein großer Speicherauszug.
Karlson

3

Wie an anderer Stelle erwähnt, ist GPT für Ihre Partitionstabelle eine hervorragende Option, da es Partitionen mit einer Größe von bis zu 9,4 ZiB (9,4 × 10 21 Byte) unterstützt, was weit über alles hinausgeht, was Sie mit 22 TiB benötigen würden.

Für Ihr Dateisystem ist BTRFS unter Linux ein hervorragendes Copy-on-Write-Dateisystem:

  1. Sein Copy-on-Write-Attribut bedeutet, dass keine doppelte Datei zweimal gespeichert wird.
  2. Die Komprimierung erfolgt im laufenden Betrieb, sodass Ihre Daten vor dem Schreiben und Lesen auf die Festplatte über LZO oder GZip übertragen werden, wodurch physischer Speicherplatz gespart wird.
  3. Es unterstützt Redundanz in RAID-1-, RAID-10-, RAID-5- und RAID-6-Konfigurationen ohne zusätzlichen Aufwand.
  4. Es unterstützt auch RAID-0, wenn es auf Geschwindigkeit ankommt.
  5. Es bietet auch Subvolumes, Snapshots und mehr.
  6. Fast alle Aufgaben im Dateisystem werden online ausgeführt , sodass Sie das Dateisystem normalerweise nicht aushängen müssen, um Probleme zu beheben.

Es ähnelt ZFS in seinen Funktionen, ist jedoch Teil des Haupt-Linux-Kernels.


In den häufig gestellten Fragen zu BTRFS wird vor der Verwendung der Paritäts-RAID-Funktion mit Ausnahme von Test- und Entwicklungszwecken gewarnt . Es sind Fehler bekannt, die Ihr Dateisystem zerstören können. Mehr Infos unter dem Link.
Warren Young

1

Wenn Sie nicht nach der Redundanz oder der Möglichkeit suchen, sie zu sichern, können Sie wahrscheinlich Folgendes tun:

mkfs -t ext4 /dev/sdb

4
Hast du es versucht? Ich änderte die mkfs, um das Dateisystem anzugeben
Karlson

1
@ AaronJAnderson eine Erklärung würde helfen.
Nr.

Dieser Befehl funktioniert nicht, wenn das Gerät über 2 TB
LVLAaron 14.01.12

1
@AaronJAnderson I 3,5 TB Volumen mit erstellt haben , reiserfsund ext3so , wenn die ext4Ansprüche werde ich nicht , dass 22TB Arbeit aus irgendeinem Grund nicht sehen , maximale Größe des Volumens von 16 Exabyte haben.
Karlson

1
Die Version von e2fsutils, die mit dieser Linux-Version ausgeliefert wird (und die meisten anderen unterstützen derzeit nicht mehr als 16 TB)
LVLAaron
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.