Posts by framp

    Hierzu hätte ich eine Frage, gibt es einen speziellen Grund dass du hier keinen SSH Key verwendest?

    Guter Punkt. Eigentlich nutze ich zum Login auch meinen private key. Ich habe keine Storagebox bei Hetzner sondern einen managed Webspace. Dort habe ich keinen ssh Zugriff und kann keine keys nutzen :(


    Dort lege ich auch keine Backups ab. Den Zugriff brauche ich um raspiBackup zu maintainen.


    Du hast jetzt ja rausgefunden wie es geht :thumbup: Ich probiere gleich mal.

    Ich habe mir ein kleines Script geschrieben was ich interaktiv nutze. Vielleicht hilft es Dir :)


    EDIT: Sehe gerade dass Du bei Hetzner bist. Ich auch und da funktioniert das Script perfekt :)

    Eigentlich ist Programmingpractice beim Networking immer eine Retryloop bei allen Netzwerkrequests zu programmieren. Dazu gehoert auch der Verbindungsaufbau. Das wird aber leider nicht in fritzcollectd gemacht :( Deshalb habe ich den Code um eine Retryloop erweitert (siehe hier) und bei mir sieht es deshalb jetzt wie folgt aus


    Code
    Jan 28 22:28:40 raspberrypi-bullseye-docker-64 collectd[556]: fritzcollectd: Connecting to FRITZ Box ...
    Jan 28 22:28:40 raspberrypi-bullseye-docker-64 collectd[556]: fritzcollectd: Retrying in 3 seconds ...
    Jan 28 22:28:43 raspberrypi-bullseye-docker-64 collectd[556]: fritzcollectd: Connecting to FRITZ Box ...
    Jan 28 22:28:43 raspberrypi-bullseye-docker-64 collectd[556]: fritzcollectd: Retrying in 3 seconds ...
    Jan 28 22:28:46 raspberrypi-bullseye-docker-64 collectd[556]: fritzcollectd: Connecting to FRITZ Box ...
    Jan 28 22:28:51 raspberrypi-bullseye-docker-64 collectd[556]: Initialization complete, entering read-loop.

    Ich habe keine Ahnung warum der Verbindungsaufbau so lange braucht (> 6 Sekunden). Aber jedenfalls funktioniert es damit jetzt auch nach einem Reboot. Der updated Code versucht einen Connect bis zu 30 Sekunden. Das sollte eigentlich reichen. Danach stimmt wohl wirklich was nicht.


    Die Codeaenderung habe ich bei mit in einen Fork von fritzcollectd gestellt. Solltest Du bei fritzcollectd bleiben musst du diese Datei bei Dir ersetzen.


    Es liegt also nicht an einer Systemd Config sondern einfach nur an einem Programmierfehler.


    Jetzt muss ich mir eine andere Aufgabe suchen um mich in Systemd einzuarbeiten :wallbash:

    Nee. Wie schon geschrieben: Ich sollte mich mal mit Systemd beschaeftigen. Und am Besten kann man sich in was einarbeiten wenn man ein konkretes Problem hat. Und das habe ich/Du jetzt :) Wie gesagt kann es auch keine Systemd Config Aenderung fuer Grafana oder collectd sein sondern irgendwas anderes.

    Meinetwegen musst Du nicht in die Tiefen von Systemd eintauchen.

    Ist vielleicht auch nicht Systemd sondern ein Bug in collectd. Anyhow werde ich mir das mal ansehen. Wenn es mit Systemd zusammenhaengt nutze ich diesen Fall um mich mit Systemd mal naeher zu beschaeftigen. Wird lansam Zeit :) Die schnellste Loesung ist ein paar Minuten nach dem Booten den collectd zu restarten. Ist aber nicht die eleganteste :(

    Aber das hat dann in diesem Thread nichts mehr zu suchen

    :thumbup:


    Sollte ich eine bessere Loesung als das Restarten des collectd finden werde ich das hier noch beschreiben.

    systemctl enable collectd eingegeben und nach einem Neustart leider ohne Erfolg.

    Genau das ist der Befehl :thumbup:


    Good catch :thumbup: Ist mir bislang nicht aufgefallen dass das Dashboard nicht mehr nach einem Reboot funktioniert und man manuell den collectd noch mal restarten muss.


    Der uebliche Ansatz ist dann ins Log von Grafana und collectd reinzusehen. Da habe ich auch die Ursache gefunden - wirst Du sicherlich auch ;)


    Interessanterweise gibt es sogar einen github Issue zu genau dem Problem. Nur leider wird fritzcollectd wohl nicht mehr gewartet. jedenfalls gab es keine Antwort :(


    Ich bin nicht so fit in Systemd und meine ersten Versuche das Problem zu loesen waren nicht erfolgreich. Ich versuche mal weiter eine Loesung zu finden. Jedenfalls werde ich die dann praesentieren. Oder willst Du in die Tiefen von Systemd einsteigen? :) Ich muss das jedenfalls offensichtlich.

    Der Zufriff auf einen NFS Server erfolgt über den User nobody (oder nfsnobody)

    Das ist genau das Problem denn bei rsync muss no_root_squash definiert sein damit alle Linux Dateiattribute beim Kopieren gesetzt und erhalten werden koennen und nicht nobody zuschlaegt. Das testet raspiBackup und terminiert dann mit einer Fehlermeldung weil eine lokale als root erstellte Datei nicht am Ziel mit denselben Attributen abgelegt werden kann. Das muss es aber denn ansonsten erhalten die Dateien beim Restore nicht mehr die originalen Dateirechte :(


    Das war ein boeses Problem wenn raspiBackup Nutzer NTFS als Backupfilesystem nutzen. Mittlerweile weist raspiBackup deshalb NTFS als Backupfilesystem zurueck :)


    no_root_squash ist nicht erforderlich wenn der tar oder dd Backuptyp genutzt wird.

    Nobody is perfekt und Bugs sind leider ein Bestandteil von Software - wer anderes behauptet luegt.


    Ich erstelle diesen Thread fuer all diejenigen die raspiBackup nutzen und ueber - wie heisst es im Englischen - severe problems - also schwerwiegende Probleme - informiert werden wollen.


    Bislang mache ich das auf twitter und facebook. Ab sofort auch hier in diesem Thread.


    Es gab die Tage leider mal wieder ein gewisses Problem was ich hier beschrieben habe und mich dazu bringt diesen Thread zu erstellen. Nicht jeder ist in Twitter oder Facebook und hat dann auch noch auf die raspiBackup Channels subscribed.


    Ab sofort werde ich solche Dinge auch in diesem Thread announcen. Wer also raspiBackup nutzt kann sich auf diesen Thread subscriben und bekommt dann immer eine Benachrichtigung wenn in raspiBackup ein schwerwiegender Bug entdeckt wurde.


    Der o.g. Bug betrifft nur eine ganz bestimmte Nutzergruppe - die die tgz als Backuptyp nutzen und den restoren wollen und ist somit auf eine eher kleine Benutzergruppe beschraenkt. Ausserdem gibt es beim Restore immer einen Workaround: Man kann jeden per raspiBackup erstellten Backup manuell mit gewissen Linuxkenntnissen restoren. Fuer den Problemmelder habe ich nach erfolglosen Debugversuchen dann eine Anleitung geschrieben wie man ein tgz Backup manuell restoren kann damit er seine Raspi restoren und wieder starten kann. Kurz danach habe ich dann endlich auch die Ursache gefunden und gefixed.


    Ansonsten gab es bisher bis auf einen Bug ganz zu Beginn von raspiBackup keinen wirklich schlimmen Bug und eine Regressionsuite testet auch immer vor jedem neuen Release ob alle Backup- und Restore Typen und Modi immer noch funktionieren. Im o.g. Falle wurde das leider nicht entdeckt da bei den Regressiontests z.T. Codepfade durchlaufen werden die ein normaler Nutzer nicht nutzt :(

    Ich weiss leider nicht, wie bzw. was ich da für den Start bzw. Restart der collectd eintragen oder vorgehen muss.

    :( Das ist nun wirklich nicht so schwer.


    man systemctl lesen - es ist viel - denn systemd ist sehr maechtig - aber ich habe Dir Hinweise gegeben wie Du schnell ans Ziel kommst. Der Grund warum ich mich ziere Dir den Befehl zu geben ist

    Quote from Laotse

    Gib einem Hungernden einen Fisch, und er wird einmal satt, lehre ihn Fischen, und er wird nie wieder hungern.

    Du sollst bei der ganzen Aktion was fuer die Zukunft lernen und das sollte auch Dein Interesse sein. Es nutzt Dir nicht wenn ich Dir was vorkaue :(


    Du bist fast am Ziel :)

    Das fehlt tatsaechlich in der Beschreibung. Wie ich schon mehrmals geschrieben habe - die Anleitung ist nicht exakt und erfordert etwas Kreativitaet bzw Linuxkenntnisse. Offensichtlich habe ich den entsprechenden Befehl automatisch bei mir abgesetzt.


    Sieht Dir doch mal man systemctl an. Da steht viel aber es macht sicherlich mal Sinn da kurz drueberzulesen - aber es reicht auch wenn Du Dir die Befehle wie start, stop oder restart ansiehst. Die hast Du schon hier mehrere Male genutzt. Etwas weiter unten taucht der Befehl auf mit dem man systemd so konfiguriert, dass eine Serviceunit beim Booten gestartet wird. Direkt danach kommt der Befehl wie man das wieder ausschalten kann :)