Verwendung von 4k-Laufwerken mit md / LVM / dm-crypt


8

Ich weiß, dass ich meine 4k-Laufwerke an einem Vielfachen von 8 Sektoren ausrichten muss, aber was ist mit md-RAID / LVM / dm-crypt? Wie kann ich diesen Ebenen mitteilen, dass mein Laufwerk 4 KB groß ist? Wenn sie die 4k-Sektorgröße nicht berücksichtigen, ist die Partitionsausrichtung nutzlos. Wie richte ich LVM / md / crypto-Ebenen aus? Vielen Dank.


2
Ich dachte nur: "Hmm, 4 Kilobyte scheinen für ein Festplattenlaufwerk furchtbar klein zu sein." Vielleicht ist es der neue 640k.
Tom O'Connor

@ Tom. Viele Dateisysteme verwenden eine Blockgröße von 4 KB, sodass größere Sektoren zu vielen leistungsmindernden Lese-, Änderungs- und Schreibvorgängen führen würden. Zweitens bestand das Bestreben in Richtung größerer Sektoren in erster Linie darin, die ECC-Effizienz zu steigern, und es gibt sinkende Renditen, um sie noch größer zu machen.
Janneb

@janneb Sie sind Buzz Killington AICMFP
Tom O'Connor

Antworten:


4

Achtung! gpt-Labels, die für Festplatten> 2 TiB erforderlich sind, sind 39 (512 Byte) Sektoren lang. Wenn Sie also Ihre erste Partition unmittelbar nach dem Label erstellen, befindet sie sich nicht an einer 4-KB-Grenze.

GNU parted tut dies nicht standardmäßig, wahrscheinlich weil viele "Advanced Format" -Laufwerke fälschlicherweise behaupten, dass ihre physischen Sektoren, nicht nur ihre logischen Sektoren, immer noch nur 512B sind.

Wenn Sie also GNU parted verwenden, stellen Sie sicher, dass jede Partition auf einem durch 8 teilbaren LBA beginnt (LBAs bleiben 512B, also 8 * 512B = 4KiB). LBAs haben ihren Ursprung bei 0, starten Sie also die erste Partition bei "40s".

Wenn Sie GRUB verwenden, lassen Sie auch Platz für den Bootstrap der zweiten Stufe. MS-DOS-Labels sind 63 Sektoren, in denen GRUB nicht genügend Platz hat, um seinen Bootstrap der zweiten Stufe zu verstauen, aber in einem gpt-Label ist kein unbenutzter Speicherplatz vorhanden. Erstellen Sie also eine kleine Partition 1, setzen Sie das Flag "bios_grub" und erstellen Sie anschließend Ihre "echten" Partitionen. Stellen Sie dabei sicher, dass jede einzelne Partition auf einem LBA beginnt, das ein Vielfaches von 8 ist.


3

Siehe https://ata.wiki.kernel.org/index.php/ATA_4_KiB_sector_issues

Die Kurzversion ist, dass wenn Sie eine aktuelle Distribution haben, diese automatisch das Richtige tun sollte. Für ältere Distributionen ist es etwas komplizierter.

Für LVM sollten Sie die --dataalignmentOption zu pvcreateoder für noch ältere Distributionen untersuchen -–metadatasize.

MD, AFAIK, fügt am Ende der Partitionen eigene Metadaten ein, sodass diese immer an der zugrunde liegenden Partition ausgerichtet sein sollten.

Für mkfs sollte das Dateisystem wieder an der zugrunde liegenden Partition ausgerichtet sein. Bei einigen Dateisystemen können Sie Optionen für die Streifenbreite und die Streifengröße hinzufügen, falls Sie auf einem RAID-Gerät ausgeführt werden, damit das Dateisystem versuchen kann, Inhalte an RAID-Streifengrenzen auszurichten.


1

Das Problem liegt hauptsächlich in der Ausrichtung der Partition, beginnend mit der Struktur der zugrunde liegenden Festplatte. Um die Abwärtskompatibilität der Festplatten zu gewährleisten, lügen sie dem BIOS / OS mit 512B-Sektoren, während sie bei modernen Festplatten 4096B-Sektoren und bei den häufigsten Stripping-Raids / SSDs 32-64-KB-Sektoren haben.

Falsch ausgerichtete Partitionen beeinträchtigen Ihre Leistung. Ich habe einige Benchmarks nur für reguläre Partitionen oben auf der Festplatte durchgeführt - ohne lvm und meine mit bonnie ++ gemessenen Ergebnisse waren ohne richtige Ausrichtung:

Sequential Output Block: 29MB/s
Sequential Output Rewrite: 20MB/s

mit Ausrichtung:

Sequential Output Block: 70MB/s
Sequential Output Rewrite: 37MB/s

Überprüfen Sie dies auf lvm-Ausrichtung.


0

Die meisten neueren Distributionen wurden aktualisiert, um jetzt über die 4K-Sache Bescheid zu wissen. Ich habe gerade ein MD-RAID / LVM / XFS-Setup auf einer Reihe von 2-TB-Laufwerken ohne Probleme erstellt. Hat nichts Besonderes gemacht.


Ich stimme nicht zu ... sicher - alles funktioniert, aber Partitionen sind falsch ausgerichtet, was die Leistung beeinträchtigt.
pQd

Nun, das wirft die Fragen auf. Ich habe verschiedene RAIDs mit Laufwerken von 2 TB bis 500 GB, auf denen ein LVM mit XFS formatiert ist. Wie genau würde alles funktionieren, wenn nicht alle Laufwerke 4k sind? Ich würde gerne Benchmarks machen, aber mein Terra-Server ist langsamer als die Laufwerke, also wäre es sinnlos.
Veranda
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.