jens-maus / RaspberryMatic

:house: A feature-rich but lightweight, buildroot-based Linux operating system alternative for your CloudFree CCU3/ELV-Charly 'homematicIP CCU' IoT smarthome central. Running as a pure virtual appliance (ProxmoxVE, Home Assistant, LXC, Docker/OCI, Kubernetes/K8s, etc.) on a dedicated embedded device (RaspberryPi, etc.) or generic x86/ARM hardware.
https://raspberrymatic.de
Apache License 2.0
1.53k stars 187 forks source link

Backup not created / loading page indefinetly but no download of a backup file starts #807

Closed glowfishDE closed 4 years ago

glowfishDE commented 4 years ago

Describe the bug Backup is not created - no error reported - just takes hours and nothing happens. I can use the Raspberrymatic in the meantime normally, however the site loading wheel (chrome browser) is loading the page forever and it says "waiting for ip.ip.ip.ip" in the lower left corner.

To Reproduce Steps to reproduce the behavior:

  1. in the WebUI: Go to Einstellungen -> Systemsteuerung -> Sicherheit
  2. Klick on "Backup erstellen"
  3. Message Popup says "Das System-Backup wird jetzt erstellt. Dieser Vorgang kann einige Minuten dauern."
  4. There is an OK Button - if i click it nothing happens. If i dont click it nothing happens.

However my browser (Chrome) seems to infinetly load and load the page (Chrome site "loading wheel" is spinning forever and it says "Waiting for ip.ip.ip.ip" in my browser (lower left corner).

Expected behavior a Download of a backup file should start after a few minutes. I waited for multiple hours, started it twice.. tried a reboot and re-do of the backup creation. It did not help.

System information (please complete the following information):

jens-maus commented 4 years ago

This usually can happen if the amount of space required to create the backup file on the RaspberryPi is not enough or if the backup would exceed the amount of available temporary memory. So please log in to your RaspberryMatic via SSH and check if the required temporary disk space in /usr/local/tmp/ exceeds or if the central continues to create the backup there.

friedpa commented 4 years ago

Good evening Jens, I see, for the long period I am following your answers now, that it maybe would help, if you/we create standard answers in a "Wiki" and reference to it (copy and paste of links). Your answers are always correct, but the questioners are maybe still left behind with a question mark... Nowadays open questions are always reflecting in new questions... just my 50cents opinion, you don´t have to answer .... kind regards Paul

jens-maus commented 4 years ago

@friedpa Feel free to contribute to the documentation wiki here (https://github.com/jens-maus/RaspberryMatic/wiki) as it is editable by everyone. Thus you could add a FAQ section there which I can then reference accordingly.

glowfishDE commented 4 years ago

Hi Jens,

ich prüfe das gerade.

Angefangen hat das neue Backup jetzt um 19:55 Uhr. Jetzt um 21:35 ist es immer noch nicht fertig.

25 % CPU gzip 3 % CPU tar

5745 root 2:58 tar --owner=root --group=root --exclude=usr/local/tmp --exclude=usr/local/lost+found --exclude-tag=.nobackup --one-file-system --ignore-failed-read -czf /usr/local/tmp/tmp.9O3mcR/usr_local.tar.gz usr/local

root@homematic-raspi:/usr/local/tmp/tmp.9O3mcR# ls -lsah total 146M 4 drwx------ 2 root root 4.0K Apr 2 19:56 . 4 drwxr-xr-x 3 root root 4.0K Apr 2 19:56 .. 149172 -rw-r--r-- 1 root root 145.7M Apr 2 21:35 usr_local.tar.gz

root@homematic-raspi:/usr/local/tmp/tmp.9O3mcR# df -h Filesystem Size Used Available Use% Mounted on /dev/root 975.9M 504.2M 404.5M 55% / devtmpfs 479.9M 0 479.9M 0% /dev tmpfs 484.4M 0 484.4M 0% /dev/shm tmpfs 484.4M 100.0K 484.3M 0% /tmp tmpfs 484.4M 112.0K 484.3M 0% /run tmpfs 484.4M 15.3M 469.1M 3% /var tmpfs 484.4M 0 484.4M 0% /media /dev/mmcblk0p3 13.0G 307.3M 12.1G 2% /usr/local /dev/mmcblk0p1 255.7M 46.4M 209.4M 18% /boot

Platz scheint also zu sein. Aber aus unerfindlichem Grund schreibt er waaaaahnsinnig langsam das Backupfile. Für 145 MB jetzt ~2 Stunden... und k.a. was passiert wenn er die ca. 220 MB die in /usr/local vor der Erstellung des Backups waren durch hat.

Ich gebe mehr Feedback wenn ich mehr weiss.

glowfishDE commented 4 years ago

Kurzes Zwischenupdate:

Das .tar.gz ist jetzt schon deutlich größer als der eigentlich belegte Speicherplatz auf /usr/local (ohne tmp)

302932 -rw-r--r-- 1 root root 295.8M Apr 2 23:31 usr_local.tar.gz

/usr/local hätte normal ohne /tmp ~ 160 MB.

Ich habe das Gefühl, dass der TAR oder GZ Prozess hier einfach unedlich irgendeinen Loop zusammenpackt.

Das dürfte jedoch nichts sein, was ich als Anwender für mich so lösen kann?

jens-maus commented 4 years ago

Dann schau doch mal mit dem „tar tvf XXX“ Befehl mach was da so drin landet.

glowfishDE commented 4 years ago

Scheint sich bei der Neo_Server concat.js festgefahren zu haben:

-rwxr-xr-x root/root       189 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/identity.js
-rwxr-xr-x root/root        40 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/extend.js
-rwxr-xr-x root/root       159 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/isMatch.js
-rwxr-xr-x root/root       175 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/findLastIndexFrom.js
-rwxr-xr-x root/root       158 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/propertyOf.js
-rwxr-xr-x root/root       153 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/rest.js
-rwxr-xr-x root/root       157 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/update.js
-rwxr-xr-x root/root       163 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/dropRight.js
-rwxr-xr-x root/root       195 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/isArrayLike.js
-rwxr-xr-x root/root       153 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/find.js
-rwxr-xr-x root/root       193 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/toIterator.js
-rwxr-xr-x root/root       163 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/defaultTo.js
-rwxr-xr-x root/root       191 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/isInteger.js
-rwxr-xr-x root/root       155 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/maxBy.js
-rwxr-xr-x root/root       195 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/functionsIn.js
-rwxr-xr-x root/root        44 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/extendWith.js
-rwxr-xr-x root/root       155 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/range.js
-rwxr-xr-x root/root        35 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/pluck.js
-rwxr-xr-x root/root       191 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/stubArray.js
-rwxr-xr-x root/root        37 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/dissoc.js
-rwxr-xr-x root/root       157 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/nthArg.js
-rwxr-xr-x root/root        36 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/pipe.js
-rwxr-xr-x root/root       189 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/isObject.js
-rwxr-xr-x root/root       153 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/flow.js
-rwxr-xr-x root/root 1236950581405 2019-10-19 18:06 usr/local/addons/mediola/neo_server/node_modules/lodash/fp/concat.js

Zumindest kommt seit Minuten kein weiter Output dazu.

Wenn ich mir die Datei anschaue:

ls -lsah /usr/local/addons/mediola/neo_server/node_modules/lodash/fp/concat.js 0 -rwxr-xr-x 1 16 root 1.1T Oct 19 18:06 /usr/local/addons/mediola/neo_server/node_modules/lodash/fp/concat.js

sehe ich, dass sie 1,1 Terabyte hat ^^

Wie auch immer das möglich sein soll. Die SD Karte hat 16 GB.

Scheinbar liegt hier der Hund begraben. Das Filesystem hatte ich neulich mit e2fsck reparieren müssen.

Hast du einen Tipp für mich, was ich an der Stelle tun kann?

Danke

jens-maus commented 4 years ago

Ja, den hab ich: Neue SD Karte nehmen, Backup einspielen, neoserver addon neu installieren usw

glowfishDE commented 4 years ago

Die SD Karte habe ich neulich schon gecloned und auf der neuen den e2fsck gemacht. Da dürfte also nur das FS beschädigt sein aber nicht mehr die physikalische Karte. Ein Backup habe ich nur ein veraltetes. Die Homematic läuft so insgesamt ja gut. Gibts nen Weg aus dem laufenden System die Daten zu extrahieren und dann ein neues System aufzusetzen ? Deswegen wollte ich nämlich das Backup machen.

Also kann man die reine Config irgendwie retten?

glowfishDE commented 4 years ago

Ok - Problem behoben.

Habe nur 3 fragliche (viel zu große Dateien) qualifiziert:

-rwxr-xr-x 1 33554432 root 2147487744 Oct 19 18:06 /usr/local/addons/mediola/neo_server/node_modules/lodash/fp/hasIn.js -rwxr-xr-x 1 root root 34359738523 Oct 19 18:06 /usr/local/addons/mediola/neo_server/node_modules/lodash/fp/rearg.js -rwxr-xr-x 1 16 root 1236950581405 Oct 19 18:06 /usr/local/addons/mediola/neo_server/node_modules/lodash/fp/concat.js

Habe den NEO Server de-installiert, die neueste Firmare neu geflashed und danach war alles wieder gut.

Konnte jetzt das Backup erzeugen und habe nach wenigen Sekunden eine ~22 MB große .SBK Datei zum Download bekommen.

Das System scheint ansonsten auch weiter perfekt zu funktionieren. Die SD Karte habe ich wie oben geschrieben schon neulich vorsorglich geklont und getauscht. Man weiss ja nie.

Danke für den Fingerzeig in die richtige Richtung. Ohne deine Hilfe hätte ich´s nicht geschafft. Hoffe das hilft auch anderen.