bcache auf md oder md auf bcache

bcache auf md oder md auf bcache

bcacheErmöglicht, dass ein oder mehrere schnelle Festplattenlaufwerke, wie Flash-basierte Solid-State-Laufwerke (SSDs), als Cache für ein oder mehrere langsamere Festplattenlaufwerke fungieren..

Wenn ich richtig verstehe,

  • Eine SSD * könnte zum Zwischenspeichern mehrerer Festplatten verwendet werden, und die resultierenden zwischengespeicherten Geräte könnten dann mit mdadm
    oder RAID-fähig gemacht werden.
  • Mehrere Festplatten könnten per RAID zu einem einzigen MD-Backing-Gerät zusammengefasst werden und die SSD könnte dem Cache zugewiesen werden,

Ich frage mich, welcher Ansatz vernünftiger ist. Mir scheint, dass die Erweiterung eines RAID5/6 mit der einen oder anderen Technik einfacher sein könnte, aber ich bin mir nicht sicher, mit welcher!

Gibt es gute Gründe (z. B. die Vergrößerung des Sicherungsspeichers oder etwas anderes), einen Ansatz dem anderen vorzuziehen (für ein großes Nicht-Root-Dateisystem, das VM-Sicherungsdateien enthält)?


* mit "einer SSD" meine ich eine Art redundantes SSD-Gerät, z. B. ein RAID1 aus zwei physischen SSDs

Antwort1

Ich denke, dass das Zwischenspeichern des gesamten MD-Geräts am sinnvollsten ist.

Wenn Sie BCache so einsetzen, dass das gesamte MD-Gerät zwischengespeichert wird, geht die ganze Idee eines RAID verloren, weil dadurch ein weiterer einzelner Ausfallpunkt entsteht.

  • writethroughOTH-Ausfälle von SSD-Festplatten sind relativ selten, und bcache kann in den / -Modus versetzt werden writearound(im Gegensatz zum writeback-Modus), in dem keine Daten nur auf dem Cache-Gerät gespeichert werden, und ein Cache-Ausfall führt nicht zum Verlust der Informationen im RAID, was es zu einer relativ sicheren Option macht.

  • Eine weitere Tatsache ist, dass es bei Soft-RAID-5 einen erheblichen Rechenaufwand gibt. Wenn jedes rotierende RAID-Mitglied separat zwischengespeichert wird, muss der Computer alle Paritäten auch bei Cache-Treffern neu berechnen.

  • Offensichtlich würden Sie wertvollen SSD-Speicherplatz opfern, wenn Sie jedes rotierende Laufwerk separat zwischenspeichern würden.– Sofern Sie nicht vorhaben, den RAID-Cache der SSD zu verwenden.

  • Beide Optionen haben relativ wenig Einfluss auf die Dauer des Wachstumsvorgangs - obwohl die Option mit separat zwischengespeicherten rotierenden Laufwerken potenziellLangsameraufgrund des erhöhten Busverkehrs.

Es ist ein schneller und relativ einfacher Prozess, bcache so zu konfigurieren, dass das SSD-Laufwerk entfernt wird, wenn Sie es ersetzen müssen. Dank derBlöckeEs sollte möglich sein, das RAID-Setup vor Ort in beide Richtungen zu migrieren.

Sie sollten auch bedenken, dass derzeit die meisten (alle?) Live-CD-Distributionennicht unterstützenbcache, Sie können mit solchen Tools also nicht einfach auf Ihre Daten zugreifen, unabhängig von der gewählten Layout bcache- Option.mdraid

Antwort2

Ich denke, der vernünftigste Ansatz wäre, das resultierende MD-Gerät zwischenzuspeichern.

bcache ist für das Durchlaufen sequentieller Lese- und Schreibvorgänge ausgelegt.

Wenn Sie für jedes Gerät einen separaten BCache verwenden, schreiben aus der Perspektive des BCache logischerweise mehrere Geräte, die in ein RAID- oder STRIPED-MD eingebunden werden, ständig zufällige Blöcke.

Während ein zwischengespeichertes MD-Volume normal aussieht, werden auf das Volume Dateien geschrieben, anstatt zufällige Blöcke auf mehrere Geräte.

Der Sinn von Hard- und Software-RAID besteht darin, die Daten im Backend zu strippen, sodass das resultierende Dateisystem wie ein normales Volume aussieht.

Dies ist möglicherweise nicht korrekt (bcache-Entwickler sind möglicherweise clever und berücksichtigen derartige Situationen), aber die logisch optimale Vorgehensweise besteht darin, Volumes zwischenzuspeichern, anstatt Geräte zu blockieren.

verwandte Informationen