Kontinuierliche IO-Tests Linux

Kontinuierliche IO-Tests Linux

Ich möchte die E/A einiger Festplatten über einen längeren Zeitraum belasten und wissen, wann ich einen Block nicht lesen kann (oder ein anderes Symptom auftritt, das mich auf ein Problem mit dem Backend-Speicher hinweist). Es gibt einige Benchmarking-Tools, die einige Sekunden lang schreiben und Ergebnisse anzeigen, aber ich möchte Langzeittests durchführen.

Bisher fällt mir nur das Schreiben auf die Festplatte über dd und das Lesen aus dieser Datei nach /dev/zero ein. Ich müsste es in einer Schleife ausführen, um nach Abschluss des ersten Durchlaufs weiter zu lesen und zu schreiben. Was den Einblick in den Festplattenzustand angeht, nehme ich an, dass dd beendet werden kann, wenn es nicht lesen oder schreiben kann? Andernfalls weiß ich möglicherweise nicht, ob ein Problem vorliegt.

Die andere Idee ist, bonnie++ in einer Schleife laufen zu lassen. Es ist schwer zu sagen, was im Hintergrund passiert und wie viel RAM es tatsächlich anstelle der Festplatte verwendet (anscheinend versuchen sie, dies zu umgehen, indem sie Ihnen sagen, dass Sie eine große Datenmenge schreiben müssen; größer als Ihre RAM-Zuteilung). Dann ist die Ausgabe, die es Ihnen gibt, ziemlich schwer zu lesen. Aber das sollte zum Schreiben und Lesen ausreichen, wenn ich eine Bash-Schleife verwende, um es ständig laufen zu lassen.

Gedanken?

Antwort1

Wie wäre es mit einemfioJob mit Verifizierung und zeitbasierter Arbeitsbelastung? Ich denke an so etwas wie

fio --name=2h --direct=1 --filename=/dev/sdz --verify=crc32c-intel --verify_fatal=1 --time_based=1 --runtime=2h --rw=write

Dadurch wird ein zufälliger Schreibvorgang in /dev/sdz unter Umgehung des Block-Caches durchgeführt (und damit der Inhalt von /dev/sdz zerstört). Nachdem /dev/sdz vollständig geschrieben wurde, wird sein Inhalt zurückgelesen und überprüft. Dieser Vorgang wird zwei Stunden lang fortgesetzt und die vorherigen Schritte werden jedes Mal wiederholt, wenn sie abgeschlossen sind. Dies ist offensichtlich nicht perfekt (z. B. gibt es keine Garantie, dass auch der erste Schreibdurchgang nach Ablauf der zwei Stunden abgeschlossen sein wird usw.), aber es gibt einige Ideen ...

Wenn Sie eine ArtWenn Sie Storage I/O testen, lohnt sich oft ein Blick auf FIO..

verwandte Informationen