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

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    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.