Warum sind die /proc/diskstats-Werte plötzlich unglaublich niedrig?

Warum sind die /proc/diskstats-Werte plötzlich unglaublich niedrig?

Ich habe einen Debian-Jessie-Server mit zwei Intel DC S3610 SSDs im RAID-10. Er ist ziemlich ausgelastet, was die IOs angeht, und in den letzten Wochen habe ich die IOPS grafisch dargestellt:

Diagramm der Festplatten-E/A-Transaktionen für sda

Wie Sie sehen, lief es die meiste Zeit über problemlos mit durchschnittlich etwa 1.000 Lesevorgängen und einem Spitzenwert von etwa 5.500, bis es am Freitag um Mitternacht UTC plötzlich aufhörte und die Lesevorgänge auf fast null sanken.

Das ist mir eigentlich erst im Nachhinein aufgefallen, denn der Server funktioniert immer noch wie vorgesehen. Das heißt, ich glaube, dass die Überwachung nicht funktioniert und nicht die Anzahl der IOPS, die das Setup ausführen kann. Wenn die tatsächlichen IOPS auf das angezeigte Niveau gesunken wären, wüsste ich es, weil alles andere sehr deutlich kaputt wäre.

Bei näherer Untersuchung sind die Diagramme für gelesene/geschriebene Kilobyte an derselben Stelle ebenfalls defekt. Die Diagramme für die Anforderungslatenz sind jedoch in Ordnung.

Um die hier verwendete Grafiklösung (Cacti und SNMP) auszuschließen, habe ich mir Folgendes angesehen:iostat. Die Ausgabe entspricht dem, was in den Diagrammen angezeigt wird.

Soweit ich weißiostaterhält seine Informationen von/proc/diskstats. Entsprechendhttps://www.kernel.org/doc/Documentation/iostats.txtEs gibt den Haupt- und Nebennamen, den Gerätenamen und dann eine Reihe von Feldern, von denen das erste die Anzahl der abgeschlossenen Lesevorgänge ist. Also:

$ for i in {1..10}; do awk '/sda / { print $4 }' /proc/diskstats; sleep 1; done
3752035479
3752035484
3752035484
3752035486
3752035486
3752035519
3752035594
3752035631
3752036016
3752036374

Es ist einfach nicht glaubwürdig, dass in diesem Zeitraum von 10 Sekunden eine so geringe Zahl an Lesevorgängen abgeschlossen wurden.

Aber falls/proc/diskstatslügt mich an, was könnte dann das Problem sein und wie kann ich hoffen, es zu beheben?

Interessant ist auch die Tatsache, dass sich alles, was sich geändert hat, genau um Mitternacht geändert hat, was eher ein Zufall ist.

Der Server verfügt über eine ganze Reihe von Blockgeräten. 187 davon sind LVM-LVs und weitere 18 sind die üblichen Partitionen und MD-Geräte.

Ich habe regelmäßig weitere LVs hinzugefügt, daher ist es möglich, dass ich am Donnerstag eine Art Limit erreicht habe. Allerdings habe ich gegen Mitternacht keine hinzugefügt, daher ist es immer noch seltsam, dass, was auch immer schiefgelaufen ist, dies um Mitternacht passiert ist.

ich weiß, dass/proc/diskstatskann überlaufen, aber wenn das passiert, sind die Zahlen typischerweise fälschlicherweise riesig.

Wenn wir uns die Grafik etwas genauer ansehen, können wir erkennen, dass sie am Donnerstag mehr Spitzen aufweist als in der Woche (und den Wochen davor). Wenn wir die Ergebnisse nur für diesen Zeitraum näher betrachten, sehen wir:

Grafik der IOPS, sda, mit Fokus auf Donnerstag

Diese Lücken von null oder fast null Messwerten sind abnormal und ich glaube nicht, dass sie die Realität widerspiegeln. Vielleicht hat die Anzahl der Anfragen einen bestimmten Schwellenwert überschritten, als ich mehr Last hinzugefügt habe, sodass es am Donnerstag zutage trat und am Freitag die meisten Messwerte nun null sind?

Hat jemand eine Idee, was hier los ist?

Kernelversion 3.16.7-ckt11-1+deb8u3.

verwandte Informationen