Mdadm auf eine externe Bitmap umstellen

7

Ich habe dies gerade in einem anderen Beitrag über die Verbesserung der RAID5 / 6-Schreibgeschwindigkeit gelesen :

Nach dem Erhöhen des Stripe-Cache und dem Umschalten auf eine externe Bitmap beträgt meine Geschwindigkeit 160 Mbit / s Schreibvorgänge und 260 Mbit / s Lesevorgänge. :-D

Ich habe bereits herausgefunden, wie der Stripe-Cache vergrößert werden kann, und das hat ziemlich gut funktioniert, aber ich würde gerne mehr über eine externe Bitmap erfahren. Ich habe eine unglaublich schnelle (540 MB / s) RAID0-SSD, die gut funktioniert, wenn eine Bitmap das tut, was ich denke, aber ich bin mir immer noch sehr unsicher. Ich habe nur so lange über sie gewusst, wie ich diesen Beitrag gekannt habe .

Ein paar Fragen:

  • Was ist eine Bitmap (in Bezug auf mdadm)?
  • Was sind die Vorteile einer internen Bitmap (gegenüber einer externen)?
  • Was sind die Vorteile einer externen Bitmap (gegenüber einer internen)?
  • Wie wechsle ich zwischen den beiden?

Ich sollte hinzufügen, dass ich, obwohl dies ein langweiliger Thread ist, die auf dem RAID-Array gespeicherten Daten schätze. Wenn dies ein erhebliches Risiko für Daten darstellt, lassen Sie es mich bitte wissen.

Oli
quelle

Antworten:

8

Was ist eine Bitmap:

Eine mdadm-Bitmap, auch als "Write Intent Bitmap" bezeichnet, ist ein Mechanismus, um RAID-Neuerstellungen nach einem unsauberen Herunterfahren oder nach dem Entfernen und erneuten Hinzufügen einer Festplatte zu beschleunigen.

Mit einer Bitmap sieht das Schreiben von Daten in das RAID folgendermaßen aus:

  • Bitmap aktualisieren: Markieren Sie die RAID-Blöcke, in die Sie schreiben möchten, als fehlerhaft.
  • Schreiben Sie die Daten auf das RAID.
  • Bitmap aktualisieren: Markieren Sie die gerade geschriebenen RAID-Blöcke als sauber.

Der Vorteil einer Bitmap besteht darin, dass bei einem Ausfall des Systems während eines Schreibvorgangs bei der Neuerstellung nur die als fehlerhaft gekennzeichneten Blöcke und nicht das gesamte Multi-TB-RAID überprüft werden müssen. Dies kann den Wiederherstellungsprozess von mehreren Stunden bis zum Abschluss in nur wenigen Sekunden beschleunigen.

Der Nachteil ist eine geringere Schreibleistung bei normaler Verwendung (außerhalb von Neuerstellungen), da mdadm zusätzlichen Datenträgerzugriff zum Aktualisieren der Bitmap ausführt.

Extern gegen intern:

  • extern : Wird als Datei auf einer Festplatte außerhalb des RAID gespeichert. Der Vorteil gegenüber einer internen Bitmap ist eine bessere Schreibleistung während des normalen Gebrauchs (außerhalb von Neuerstellungen).
  • intern : Als RAID-Metadaten gespeichert. Der Vorteil gegenüber einer externen Bitmap besteht darin, dass Sie keine Nicht-RAID-Festplatte benötigen und bei der Konfiguration (dem Pfad zur Bitmap) ein wenig sparen.

Laut der Manpage von mdadm:

Note:  external bitmaps are only known to work on ext2 and ext3.
       Storing bitmap files on other filesystems may result in  serious
       problems.

Laut einem Beitrag von Neil Brown , dem mdadm-Autor, sollten externe Bitmaps auch auf ext4 funktionieren:

I haven't looked inside ext4 but I am fairly confident that external bitmaps 
will work properly.

WIE MAN:

Bitmaps werden hinzugefügt und entfernt mit mdadm --grow --bitmap=XXX ..., wobei XXX eines der folgenden Elemente ist:

  • --bitmap=internal: Erstellen Sie eine interne Bitmap.
  • --bitmap=/var/my_bitmap.bin: Erstellen Sie eine externe Bitmap unter dem angegebenen Pfad. Der Pfad muss sich außerhalb des RAID befinden. Dem bitmap=...ARRAY-Eintrag in muss ein Parameter hinzugefügt werden /etc/mdadm/mdadm.conf, und der --bitmap=...Parameter muss übergeben werden, wenn Sie das RAID über die Befehlszeile zusammenstellen.
  • --bitmap=none: Entfernen / deaktivieren Sie alle Bitmaps.

Verweise:

Bemerkungen:

IMO, Bitmaps sind möglicherweise hauptsächlich für RAID-Level 5 und 6 von Interesse, da diese die langsamsten Neuerstellungen aufweisen.

Ich habe selbst von RAID 5 auf RAID 10 umgestellt . Die Neuerstellungen sind so viel schneller, dass ich keine Bitmap benötige, und RAID 10 scheint in erster Linie weitaus weniger Neuerstellungen zu erfordern.

Bei meinem RAID 5-Setup wurde eine Festplatte etwa einmal im Monat gelöscht, was zu Neuaufbauten von 12 bis 14 Stunden führte. Das RAID 10 hat nur einmal im halben Jahr eine Festplatte gelöscht, die in weniger als einer Stunde wiederhergestellt wurde.

Ich weiß nicht, ob die häufigen Festplattenausfälle, die ich erlebt habe, durch etwas anderes als den RAID-Level verursacht wurden, aber das RAID 10 war weitaus stabiler und die Wiederherstellungsgeschwindigkeit ist kein großes Problem mehr.

jg-faustus
quelle
Bei größeren Laufwerken oder schreibintensiven Laufwerken sollten Sie auch das Argument --bitmap-chunk = NNN berücksichtigen. Dies kann häufig standardmäßig 4 KB bis 128 KB betragen, was zu vielen Bitmap-Updates führt. Wenn Sie diesen Wert auf 4096 (4 MB) oder 16384 (16 MB) oder 65536 (64 MB) erhöhen, können Sie die Schreibleistung verbessern und gleichzeitig relativ schnelle Neuerstellungen erzielen. Verwenden Sie: "mdadm -G --bitmap = none", um vorhandene Bitmaps zu entfernen, und fügen Sie sie dann mit "mdadm -G --bitmap = intern --bitmap-chunk = N / dev / mdX"
tgharold
1

Ich benutze md RAID 5 jetzt schon eine Weile und hatte keine Festplattenausfälle. Ich war interessiert zu sehen, was mir das Hinzufügen eines externen Bitmap-Speichers bringen würde.

Mein aktuelles Setup enthält eine Bootdiskette und dann 4 x 3 TB Festplatten als RAID 5. Letzte Nacht habe ich eine weitere 3 TB Festplatte hinzugefügt und nach 20 ungeraden Stunden sind es 70% durch Umformen. Seit ich diesen Beitrag gelesen habe, habe ich beschlossen, dass ich nach dem Umformen definitiv die externe Bitmap zur Bootdiskette hinzufügen werde (1 TB).

Ich habe md RAID 5-Basisschicht, LVM2 darüber und einige ISCS-Ziele für einige der LVM2-Partitionen, wobei verschiedene virtuelle Maschinen auf der ISCSI getestet werden.

Ich habe eine Reihe von Benchmark-Bildern erstellt, die hier veröffentlicht wurden, wenn Sie interessiert sind.

Andrew
quelle
Und wie viele beschädigte Daten haben Sie? Es gibt gute Gründe, warum Benutzer RAID5 auf großen Laufwerken nicht mehr verwenden.
James Ryan