Raspberry Pi 3B mit 64-Bit-Kernel

vorhergehende Artikel in: Linux TeleGrafana Raspi
23.04.2023

Ich habe neulich wieder einmal Probleme mit meinem Raspi gehabt - oder genauer gesagt mit der darauf laufenden Influx-Installation.

Das Problem hatte ich auch schon in der Vergangenheit - plötzlich verbraucht der Prozessor 100% Rechenzeit und nichts geht mehr. Ich habe zwar, damit solche Ausfälle nicht gleich alles lahmlegen einen weiteren Pi-Hole als DNS-Server eingerichtet, über den die Adressauflösung weiter funktioniert wenn der Pi mal ausfällt.

Trotzdem ist das keine schöne Sache: der Pi kann nicht ordnungsgemäß heruntergefahren werden und damit kann das Dateisystem beschädigt werden. Mir war schon seit langem klar, dass Influx daran schuld war, ich habe aber bisher nicht die wahre Ursache finden können und konnte daher nur verschiedene Maßnahmen ausprobieren, die aber alle nicht zu einer verlässlichen Lösung führten. So habe ich unter anderem die Shard Duration extrem (auf eine Stunde) verkürzt, ichj habe die Retention Policy so geändert, dass nur noch die Daten der letzten zwei Tage aufbewahrt wurden.

Nachdem das Problem in den ersten Wochen des neuen Jahres wieder verstärkt auftrat, habe ich die Beobachtung gemacht, dass der Verbrauch an Ram korreliert mit der Anzahl und Frequenz an Daten, die in die Datenbank geschrieben werden. Daher habe ich die Hypothese gestellt, dass die eigentliche Ursache für dieses Verhalten ist, dass nicht genug RAM zur Verfügung steht.

Neulich suchte ich im Internet nochmal nach diesem Problem und dieses Mal muss ich eine etwas andere Anfrage gestellt haben, als früher: ich erhielt plötzlich tatsächlich einen sachdienlichen Hinweis: Kurz zusammengefasst: Das Problem hat seine Ursache darin, dass Influx auf 32-Bit-Systemen mit zu großen Datenbanken nicht umgehen kann und abstürzt. Nach Neustart versucht es, die Datenbank wieder aufzuräumen und steckt dann in einer Endlosschleife aus Abstürzen und Neustarts fest.

Interessanterweise gibt es dazu einen Pull-Request, der das Problem beheben würde, den aber die Macher vin Influx lange ignoriert haben. Schließlich haben sie sich zu der Aussage hinreißen lassen, dass der Fix zwar schön ist, sie sich aber auf 64-Bit-Systeme konzentrieren wollen und wer 32-Bit-Systeme einsetzt - selber schuld!

Das brachte mich auf die Idee, etwas zu versuchen, das schon seit ewigen Zeiten in meinem Zettelkasten mit der Aufschrift "Man müsste mal..." liegt: Den Raspi auf einen 64-Bit-Kernel umzustellen. Dazu existieren diverse Anleitungen (oder auch hier) im Netz, die letztlich alle darauf hinauslaufen, dass man mit einem auf Buster basierenden Raspbian alles schon hat, was gebraucht wird und man lediglich in der /boot/config.txt noch die Zeile

arm_64bit=1

ergänzen muss.

Das ergab für mich ein Problem, da mein Raspi schon ein wenig älter ist, hate ich dort noch ein stretch-basiertes System. Da es aber (von mir) eh für eine gute Idee gehalten wird, ein neueres System als Basis einzusetzen, nutzte ich den Elan, den ich in mir verspürte gleich aus und nahm die Migration auf Buster in Angriff. Auch hierfür existieren viele Anleitungen im Netz (auch hier wieder ein Beispiel für eine Alternative) - doch Vorsicht: Viele behaupten, dass man dafür die Firmware des Pi upgraden sollte - Das ist falsch! Ich habe damit beinahe meinen Pi gebrickt! Daher unbedingt das Kommando

rpi-update

weglassen! Falls man das doch tut und dann - wie ich - vor einem Pi sitzt, der keinen Laut mehr von sich gibt und kein WLan mehr kennt, dann hilft dieser Tip - also jedenfalls hat er mir dabei geholfen, dass ich wieder zu einem funktionierenden Raspi kam...

Ansonsten funktionieren diese Anleitungen jedoch hervorragend. Auch mein kleiner Raspi-Experimentalserver, der per PXE bootet und sein Dateisystem auf NFS hat wurde damit zu einer 64-Bit-Buster-Maschine.

Artikel, die hierher verlinken

Preisvergleich mit historischen Daten in Grafana

19.09.2023

Durch diesen Mastodon-Thread aufmerksam geworden, wollte ich da auch unbedingt mitspielen - allerdings habe ich gerade Urlaub und daher wollte ich klein anfangen...

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Mandelbrot-Sets mittels Shadern berechnen

    17.05.2019

    Nachdem ich in den letzten verregneten Tagen auf Youtube in den Videos von Numberphile versunken bin, hat mich eines davon angestachelt, mich selbst mit dem Mandelbrotset zu beschäftigen. Als ich dann noch Code fand, der behauptete, das auf einer Graphikkarte mittels Shadern berechnen zu können, war es um mich geschehen...

    Weiterlesen...

Neueste Artikel

  • Erste Vor-Version eines Gis-Plugin für die sQLshell

    Wie bereits in einem früheren Artikel erwähnt plane ich, demnächst ein Plugin für die sQLshell anzubieten, das eine Visualisierung von Daten mit räumlichem Bezug im Stil eines Geoinformationssystems erlaubt.

    Weiterlesen...
  • bad-certificates Version 2.1.0

    Das bereits vorgestellte Projekt zur automatisierten Erzeugung von Zertifikaten mit allen möglichen Fehlern hat eine Erweiterung erfahren und verfügt über ein Partnerprojekt - beide sind nunmehr in der Version 2.1.0 freigegeben

    Weiterlesen...
  • SQLite als Geodatenbank

    Wie bereits in einem früheren Artikel beschrieben treibe ich derzeit Anstrengungen voran, die sQLshell attraktiver für Nutzer zu machen, die mit Geodatenbanken arbeiten.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.