Hohes iowait auf GW Parad0x - Knotenschubsen

Heute Morgen ist das commander1024 Gateway abgeschmiert, in dem Zuge haben sehr viele Knoten eine VPN Verbindung mit parad0x aufgebaut. Wie schon mal geäußert hat das GW Parad0x häufig eine recht hohe Load und mitunter auch einen hohen iowait-Anteil.

Seit heute Morgen pendelt der iowait so zwischen 40 und 50 Prozent der CPU Zeit. Der Load hat es sich zwischen 2 und 3 gemütlich gemacht. Selbst die collectd/Monitoring-Daten werden teilweise nur nach einer Stunde erneut übertragen.

Dazu mal ein paar Fotos:




Die iowaits wird fast ausschließlich durch den Prozess jbd2 (ext4 journaling) verursacht. Vermutlich liegt das an Problemen zwischen dem Virtualisierungs-Host und der eingesetzten Debian-Version (bzw. Linux-Installationen im Allgemeinen), zumindest hat @Parad0x das so berichtet.

Daher möchte ich dringend anraten eine Signifikante Menge an Knoten auf andere Maschinen zu schubsen, um die Last auf dem Parad0x GW zu verringern. Wir hatten doch da mal ein Script für, bzw. eine Vorgehensweise, wer weiß da was zu?

Wer sich die DHCP Statistiken der letzten Zeit anschaut, sieht regelmäßig starke Einbrüche in der Zahl der vergebenen Leases auf dem Parad0x GW. Diese korrelieren zeitlich mit Load- &iowait-Spitzen. Was jetzt Ursache und was die Folge ist, ist damit natürlich nicht gesagt. Jedoch ist es imho ein weiterer Grund die Zahl der fastd-Verbindungen und somit die Last auf parad0x drastisch zu reduzieren. Denn dieses könnte zumindest eine (von zahlreichen) Gründen für unsere DHCP Probleme sein.

2 „Gefällt mir“

Wenn es “irgendwas” mit journaling zu tun hat würde es sich ja auch anbieten zumindest mal kurz die Filesystem I/O anzusehen…

Könnte es was bringen, das Logging auszuschalten (sollte eh defaultmäßig aus sein)? Das würde schonmal einige Dateizugriffe pro Sekunde ersparen.

Ich habe die Maschine um einige fastd-connections erleichtert (siehe Admintagebuch).

Ja, das sollten wir vielleicht mal machen. Zumindest beim dhcpd ist das Logging noch aktiv und ist auch der Hauptanteil in den Logfiles.

Ist das gescriptet oder soll ich das, heute Abend, manuell machen?

Logging ist abgeschaltet

In den derzeitigen Ansible-Skripten ist das Logging auch noch aktiv. Daher muss das manuell erledigt werden.

Ich rate nochmal zum messen :wink:
iotop ?

iowait ist immer noch recht hoch, beschränkt sich aber jetzt auf einen Kern.