Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. iobroker auf beschädigter SD-Karte retten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    iobroker auf beschädigter SD-Karte retten

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      ceram last edited by

      Guten Morgen liebe Community,

      seit über zwei Jahren betreibe ich jetzt iobroker auf einem RaspberryPi 4 und mittlerweile hat sich darauf eine überaus aufwändige Konfiguration angesammelt, die aus vielen kleinen Einzelteilen besteht (z. B. zig Adapter in alten Versionen erfordert, die nicht geupdated werden können und 200 SQL-geloggten Datenpunkten, die zwingend auf die einmal zugewiesene "id" in der Datenbank gebunden bleiben müssen) und auch aus einem System um iobroker herum (Software-Raid auf zwei USB-Sticks, mariadb usw...). Deshalb backuppe ich immer die komplette SD-Karte des Pi mit dd.

      Leider funktioniert dd seit neustem nicht mehr, da es zu Lesefehlern kommt. Offenbar stirbt die SD-Karte langsam. Das System selbst läuft aber noch einwandfrei auf der Karte.

      Also wollte ich die angeschlagene SD-Karte auf eine neue Karte umziehen. Ein image mit dd ging nicht ja nicht mehr, also habe ich ddrescue genommen. Der konnte alles auslesen bis auf 4 kB.

      Wenn ich nun aber dieses Image auf eine (brand)neue Karte schreibe und davon boote, startet iobroker nicht mehr. Linux bootet, per SSH komme ich drauf. Ich bin dann auf Fehlersuche gestartet und habe folgenden Artikel entdeckt: https://www.iobroker.net/docu/index-26.htm?page_id=3928

      Die Befehle führen aber zu einer Fehlermeldung:

      Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l
      
      The programs included with the Debian GNU/Linux system are free software;
      the exact distribution terms for each program are described in the
      individual files in /usr/share/doc/*/copyright.
      
      Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
      permitted by applicable law.
      Last login: Tue Dec  6 08:06:35 2022 from 192.168.192.172
      pi@raspberrypi:~ $ ps -A | grep iobroker
      pi@raspberrypi:~ $ cd /opt/iobroker
      pi@raspberrypi:/opt/iobroker $ iobroker start
      pi@raspberrypi:/opt/iobroker $ ps -A | grep iobroker
      pi@raspberrypi:/opt/iobroker $ node node_modules/iobroker.js-controller/controller.js --logs
      2022-12-06 08:20:55.657  - info: host.raspberrypi iobroker.js-controller version 3.3.8 js-controller starting
      2022-12-06 08:20:55.665  - info: host.raspberrypi Copyright (c) 2014-2021 bluefox, 2014 hobbyquaker
      2022-12-06 08:20:55.666  - info: host.raspberrypi hostname: raspberrypi, node: v12.22.0
      2022-12-06 08:20:55.667  - info: host.raspberrypi ip addresses: 192.168.192.121 fd00::7dfe:5217:2916:b83d fe80::356:1b25:1b6:a8a4
      2022-12-06 08:20:55.716  - info: host.raspberrypi-Server  Error inMem-objects listening on port 9001: Error: listen EADDRINUSE: address already in use 127.0.0.1:9001
      2022-12-06 08:21:25.702  - error: host.raspberrypi No connection to databases possible, restart
      2022-12-06 08:21:25.713  - info: host.raspberrypi iobroker _restart
      2022-12-06 08:21:26.456  - info: host.raspberrypi iobroker Starting node restart.js
      

      Deshalb läuft jetzt nochmal die alte SD-Karte, immer mit dem Risiko, dass es jeden Moment vorbei sein könnte.

      Habt ihr noch eine Idee, wie ich mein altes System 1:1 umziehen kann? Das letzte saubere SD_Karten-Backup ist 6 Monate alt, seitdem habe ich natürlich einiges verändert, ich weiß aber nicht mehr, was genau.

      Vielen Dank für eure Hilfe!

      ceram

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @ceram last edited by Asgothian

        @ceram sagte in iobroker auf beschädigter SD-Karte retten:

        Guten Morgen liebe Community,

        seit über zwei Jahren betreibe ich jetzt iobroker auf einem RaspberryPi 4 und mittlerweile hat sich darauf eine überaus aufwändige Konfiguration angesammelt, die aus vielen kleinen Einzelteilen besteht (z. B. zig Adapter in alten Versionen erfordert, die nicht geupdated werden können und 200 SQL-geloggten Datenpunkten, die zwingend auf die einmal zugewiesene "id" in der Datenbank gebunden bleiben müssen) und auch aus einem System um iobroker herum (Software-Raid auf zwei USB-Sticks, mariadb usw...). Deshalb backuppe ich immer die komplette SD-Karte des Pi mit dd.

        Leider funktioniert dd seit neustem nicht mehr, da es zu Lesefehlern kommt. Offenbar stirbt die SD-Karte langsam. Das System selbst läuft aber noch einwandfrei auf der Karte.

        Also wollte ich die angeschlagene SD-Karte auf eine neue Karte umziehen. Ein image mit dd ging nicht ja nicht mehr, also habe ich ddrescue genommen. Der konnte alles auslesen bis auf 4 kB.

        Wenn ich nun aber dieses Image auf eine (brand)neue Karte schreibe und davon boote, startet iobroker nicht mehr. Linux bootet, per SSH komme ich drauf. Ich bin dann auf Fehlersuche gestartet und habe folgenden Artikel entdeckt: https://www.iobroker.net/docu/index-26.htm?page_id=3928

        Die Befehle führen aber zu einer Fehlermeldung:

        Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l
        
        The programs included with the Debian GNU/Linux system are free software;
        the exact distribution terms for each program are described in the
        individual files in /usr/share/doc/*/copyright.
        
        Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
        permitted by applicable law.
        Last login: Tue Dec  6 08:06:35 2022 from 192.168.192.172
        pi@raspberrypi:~ $ ps -A | grep iobroker
        pi@raspberrypi:~ $ cd /opt/iobroker
        pi@raspberrypi:/opt/iobroker $ iobroker start
        pi@raspberrypi:/opt/iobroker $ ps -A | grep iobroker
        pi@raspberrypi:/opt/iobroker $ node node_modules/iobroker.js-controller/controller.js --logs
        2022-12-06 08:20:55.657  - info: host.raspberrypi iobroker.js-controller version 3.3.8 js-controller starting
        2022-12-06 08:20:55.665  - info: host.raspberrypi Copyright (c) 2014-2021 bluefox, 2014 hobbyquaker
        2022-12-06 08:20:55.666  - info: host.raspberrypi hostname: raspberrypi, node: v12.22.0
        2022-12-06 08:20:55.667  - info: host.raspberrypi ip addresses: 192.168.192.121 fd00::7dfe:5217:2916:b83d fe80::356:1b25:1b6:a8a4
        2022-12-06 08:20:55.716  - info: host.raspberrypi-Server  Error inMem-objects listening on port 9001: Error: listen EADDRINUSE: address already in use 127.0.0.1:9001
        2022-12-06 08:21:25.702  - error: host.raspberrypi No connection to databases possible, restart
        2022-12-06 08:21:25.713  - info: host.raspberrypi iobroker _restart
        2022-12-06 08:21:26.456  - info: host.raspberrypi iobroker Starting node restart.js
        

        Deshalb läuft jetzt nochmal die alte SD-Karte, immer mit dem Risiko, dass es jeden Moment vorbei sein könnte.

        Habt ihr noch eine Idee, wie ich mein altes System 1:1 umziehen kann? Das letzte saubere SD_Karten-Backup ist 6 Monate alt, seitdem habe ich natürlich einiges verändert, ich weiß aber nicht mehr, was genau.

        Vielen Dank für eure Hilfe!

        ceram

        Das ganze geht meiner Meinung nach in 6 Schritten, sofern der ioBroker noch sauber läuft:

        Schritt 1: Externes Laufwerk für Backup bereitstellen (USB Stick, Netzwerkpfad, was auchimmersonst)
        Schritt 2: per Backitup Backup erzeugen.
        Schritt 3: wenn Möglich, per cp das Verzeichnis /opt/iobroker von der SSD auf das Backup-Laufwerk kopieren. Dabei alle Dateien nachhalten die wegen IO Problemen nicht kopiert werden konnten.
        Schritt 4: Linux auf neuer SD Karte neu aufsetzen.
        Schritt 5: ioBroker installieren
        Schritt 6: Backup wiederherstellen (Alternativ dazu die Schritte 5.1, 5.2 und 5.3 versuchen: NodeJS Installieren, das Verzeichnis /opt/iobroker aus der Sicherung kopieren, auf der Konsole im Verzeichnis /opt/iobroker den Befehl npm rebuild absetzen, iobroker starten und hoffen das er läuft)

        So wie ich das sehe ist jede Option die Über ein Komplett-Image läuft zum Scheitern verurteilt.

        A.

        Nachtrag: Das Softraid über USB Sticks, Mariadb und so weiter musst du natürlich auch neu aufsetzen, die Datenbank selber sollte im ioBroker Backup vorhanden sein. Beim Installieren der Adapter solltest Du in der Lage sein dedizierte Versionen zu installieren, sofern du aus "offiziellen" Quellen und nicht von GitHub installiert hast.

        A.

        1 Reply Last reply Reply Quote 0
        • crunchip
          crunchip Forum Testing Most Active last edited by

          @ceram sagte in iobroker auf beschädigter SD-Karte retten:

          startet iobroker nicht mehr

          @ceram sagte in iobroker auf beschädigter SD-Karte retten:

          address already in use 127.0.0.1:9001

          zeig mal die Ausgabe von

          sudo netstat -ltp
          
          1 Reply Last reply Reply Quote 0
          • C
            ceram last edited by

            Vielen Dank für eure Hilfe, zum Glück @Asgothian musste ich deine Schritte nicht durchlaufen, das hätte tagelange Arbeit bedeutet. Ich hab es jetzt anders geschafft.

            Der Trick war offenbar, die SD-Karte auf einem Rechner außerhalb des RaspberryPi mit ddrescue zu retten. Eher Zufall dürfte sein, dass ich dabei 2kB mehr retten konnte und deshalb insgesamt nur 2kB beschädigt blieben. Aber ich schätze, dass das System nicht live war während der Rettung, hat den eigentlichen Unterschied gemacht. Das auf diese Weise erzeugte Image war auf einer neuen SD-Karte sofort nutzbar, der Pi und iobroker laufen einwandfrei. Ich werde wohl nie erfahren, welche 2kB da jetzt beschädigt sind, aber offenbar ist es nichts Laufzeitkritisches.

            Lesson Learned: In Zukunft tausche ich präventiv alle zwei Jahre die SD-Karte. Den Spaß will ich nicht noch einmal haben 🙂

            Viele Grüße

            ceram

            OliverIO 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @ceram last edited by

              @ceram

              Oder man stellt auf eine ssd um

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate
              FAQ Cloud / IOT
              HowTo: Node.js-Update
              HowTo: Backup/Restore
              Downloads
              BLOG

              938
              Online

              31.9k
              Users

              80.2k
              Topics

              1.3m
              Posts

              4
              5
              276
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo