Linux; Was ist stripe_cache_size und was macht es?

10

Ich erstelle derzeit ein Software-RAID unter Linux mit dem mdadmDienstprogramm und habe einige Artikel gelesen, in denen beschrieben wird, wie der Wert für stripe_cache_size für dieses RAID erhöht und ein geeigneter Wert für stripe_cache_size berechnet wird.

Ich habe meine auf 16384 erhöht und meine aktuelle Synchronisierungsrate für ein neues RAID5 in / proc / mdstat ist von 71065K / s auf 143690K / s (verdoppelt!) Sprungen, was eine gute Nachricht ist. Ich sehe auch die übereinstimmende und erwartete Zunahme der RAM-Nutzung, kann jedoch keine Dokumentation darüber finden, was diese Einstellung bewirkt und wie sie funktioniert.

Es scheint eine Art Cache für das im RAM vorhandene RAID zu sein. Das ist alles, was ich an seinem Namen und den Auswirkungen einer Änderung erkennen kann. Gibt es eine offizielle "Linux" -Dokumentation für diese Einstellung und Beschreibung?

jwbensley
quelle

Antworten:

6

Nach meinem Verständnis ist stipe_cache_size die Anzahl der Stripe-Einträge im Stripe-Cache. Die Stripe-Einträge variieren von System zu System, werden jedoch hauptsächlich von der Seitengröße gesteuert (Standard 4096 Byte auf Linux-Systemen) ( https://github.com/torvalds/linux/blob/master/drivers/md/raid5.c) # L73 , diese Datei enthält die gesamte Logik des Stripe-Cache, wenn Sie tiefer graben möchten. In einem RAID5 mit 4 Festplatten kostet eine Stripe_Cache-Größe von 32768 512 MB RAM. Soweit ich weiß, betrifft es nur raid5.

Hier sind 2 Dokumentationsreferenzen: - https://github.com/torvalds/linux/blob/master/Documentation/md.txt#L603 - https://raid.wiki.kernel.org/index.php/Performance#Some_problem_solving_for_benchmarking

c0m4
quelle
1
Anzahl der Einträge von was, Ihre Antwort ist ein wenig mehrdeutig? :)
Jwbensley
Ich gehe davon aus, dass es auch für RAID6 gilt, richtig
MrCalvin
Meinen Sie, 32768 kostet 512 KB RAM?
jrwren