NEWS
UNSOLVED Restore schlägt fehl
-
Systemdata Bitte Ausfüllen Hardwaresystem: tinkerboard Arbeitsspeicher: 2GB Festplattenart: SD-Karte Betriebssystem: Ubuntu Node-Version: 12.20.0 Nodejs-Version: 12.20.0 NPM-Version: 6.x.x Ich möchte meinen ioBroker aus restore wiederherstellen. Aber es kommt eine Meldung. Was mache ich falsch?
pi@tinkerboardmaster:/opt/iobroker$ iobroker restore iobroker_2020_12_15-02_00_10_ioBrokerMini_backupiobroker.tar.gz Objects 192.168.178.228:45120 Error from InMemDB: Error: Unknown Script f920e95b4d029e06ed62ab6885f33d4fbfacdb20 iobroker controller daemon is not running host.tinkerboardmaster OK. <--- Last few GCs ---> [17199:0x3e35b60] 19144 ms: Mark-sweep 499.7 (501.7) -> 499.7 (501.7) MB, 169.0 / 0.0 ms (average mu = 0.303, current mu = 0.000) last resort GC in old space requested [17199:0x3e35b60] 19377 ms: Mark-sweep 499.7 (501.7) -> 499.7 (501.7) MB, 232.5 / 0.0 ms (average mu = 0.182, current mu = 0.000) last resort GC in old space requested <--- JS stacktrace ---> ==== JS stack trace ========================================= Security context: 0x4378ea21 <JSObject> 0: builtin exit frame: parse(this=0x437865a9 <Object map = 0x45e40a15>,0x39c4008d <Very long string[108752834]>,0x437865a9 <Object map = 0x45e40a15>) 1: restoreAfterStop [0x37af6111] [/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:627] [bytecode=0x50afd42d offset=168](this=0x34842395 <BackupRestore map = 0x494cf885>,0x317c03c1 <false>,0x34842aa5 <JSFunction (sfi ... FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory /usr/bin/iobroker: Zeile 8: 17198 Abgebrochen sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js "$@" pi@tinkerboardmaster:/opt/iobroker$ iobroker restore iobroker_2020_12_14-02_00_10_ioBrokerMini_backupiobroker.tar.gz iobroker controller daemon is not running host.tinkerboardmaster OK. <--- Last few GCs ---> [17369:0x2e6bb60] 36581 ms: Mark-sweep 506.8 (508.0) -> 507.0 (508.8) MB, 438.3 / 0.0 ms (average mu = 0.105, current mu = 0.052) allocation failure scavenge might not succeed <--- JS stacktrace ---> Cannot get stack trace in GC. FATAL ERROR: MarkCompactCollector: semi-space copy, fallback in old gen Allocation failed - JavaScript heap out of memory /usr/bin/iobroker: Zeile 8: 17368 Abgebrochen sudo -H -u iobroker node /opt/iobroker/node_modules/iobroker.js-controller/iobroker.js "$@"
-
@LJSven sagte in Restore schlägt fehl:
JavaScript heap out of memory
Scheinbar hast du nicht mehr genug RAM. Was läuft sonst noch auf dem Pi? Hast du einen Desktop am laufen? Ist das System neu aufgesetzt?
Ein Tipp: wenn nicht unbedingt nötig, würde ich auf Raspberry OS gehen und nicht Ubuntu. Meines Wissens braucht Ubuntu einiges mehr an Platz als Raspberry OS, das extra für den Raspi erstellt wurde.
-
@UncleSam Das ist ein Tinkerboard / das System läuft eigentlich seit einem Jahr. Gestern habe ich ein System Update gemacht. Vermutlich nimmt sich da einer Resourcen. Wie kann ich vorgehen? Selbst wenn der Tinkerboard neu gestartet wurde, lässt sich das Update nicht installieren. Der Iobroker läuft, aber nach dem Neustart fehlen Werte in Datenpunkten. Deshalb wollte ich ein Backup einspielen. Oder gibt es eine andere Möglichkeit die Werte wieder zu bekommen. Habe das Problem gelegentlich, wenn nicht ordentlich neu gestartet wird.
-
@LJSven sagte in Restore schlägt fehl:
Habe das Problem gelegentlich, wenn nicht ordentlich neu gestartet wird.
Hast du es mal mit einer neuen SD-Karte versucht? Die könnte beschädigt sein.
Um zu schauen, was viel RAM/CPU braucht, kannst du mal den Befehl
top
ausführen und hier hin kopieren. -
@LJSven
Wie spielst denn ein Backup ein, mit dem Backitup Adapter? -
@Jan1 sagte in Restore schlägt fehl:
@LJSven
Wie spielst denn ein Backup ein, mit dem Backitup Adapter?Nein - manuell über iobroker restore „filename“
-
@LJSven
Das ist schon mal möglich, wenn man weiß was man tut.
Warum nimmst nicht den Adapter dafür der für genau das gemacht wurde und einige Vorteile gegenüber einem "normalen" Backup mit bringt? -
@Jan1 sagte in Restore schlägt fehl:
Warum nimmst nicht den Adapter dafür der für genau das gemacht wurde und einige Vorteile gegenüber einem "normalen" Backup mit bringt?
Er benutzt ja
iobroker restore
auf der Kommandozeile mit einem Backup das wohl von BackItUp gemacht wurde. -
@UncleSam sagte in Restore schlägt fehl:
@Jan1 sagte in Restore schlägt fehl:
Warum nimmst nicht den Adapter dafür der für genau das gemacht wurde und einige Vorteile gegenüber einem "normalen" Backup mit bringt?
Er benutzt ja
iobroker restore
auf der Kommandozeile mit einem Backup das wohl von BackItUp gemacht wurde.Genau! Macht es dann Sinn über den Adapter?
-
@UncleSam
Das ist eben der falsche Weg und ich glaube, dass da IOBroker noch irgendwie im Hintergrund läuft, was dazu führt, dass sein RAM voll läuft. -
@LJSven
Das macht nicht nur Sinn, sondern sollte so gemacht werden.
Und wenn das wirklich sauber sein soll, dann vorher IOBroker Ordner komplett löschen, IOBroker und Backitup Adapter installieren, das Backup in den "Backups" Ordner schieben und über den Adapter restoren.Je nach Umfang des Restor, mal ne Stunde Pause einlegen und freuen, dass das Ding wieder läuft.
-
@Jan1 Das wäre mir neu, aber so oft habe ich Restore noch nicht verwendet.
Von https://github.com/simatec/ioBroker.backitup/blob/master/docs/en/backitup.md#4-restore :
For all backup types iobroker is stopped during the restore and then automatically restarted.
Einzig CCU geht noch nicht.
-
@UncleSam
Wenn Du das mit dem Adapter machst auf alle Fälle, nur bei ihm wohl nicht, sonst wäre der RAM nicht voll -
@UncleSam sagte in Restore schlägt fehl:
@LJSven sagte in Restore schlägt fehl:
Habe das Problem gelegentlich, wenn nicht ordentlich neu gestartet wird.
Hast du es mal mit einer neuen SD-Karte versucht? Die könnte beschädigt sein.
Um zu schauen, was viel RAM/CPU braucht, kannst du mal den Befehl
top
ausführen und hier hin kopieren.top - 08:47:00 up 1:03, 2 users, load average: 0,67, 0,67, 0,87 Tasks: 198 total, 3 running, 138 sleeping, 0 stopped, 0 zombie %Cpu(s): 12,1 us, 2,0 sy, 0,0 ni, 85,5 id, 0,0 wa, 0,0 hi, 0,3 si, 0,0 st KiB Mem : 2050804 total, 318224 free, 1332388 used, 400192 buff/cache KiB Swap: 1025400 total, 1011576 free, 13824 used. 781764 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7272 iobroker 20 0 259616 174584 27400 S 24,6 8,5 19:14.77 node 8429 iobroker 20 0 155476 67448 27184 S 9,8 3,3 3:36.63 node 7573 iobroker 20 0 305680 221256 28464 S 7,9 10,8 6:15.76 node 7333 iobroker 20 0 206284 122936 28580 S 4,6 6,0 0:36.18 node 750 pi 20 0 119672 35412 23832 S 2,6 1,7 1:41.38 deCONZ 17654 pi 20 0 8796 2940 2444 R 1,3 0,1 0:00.24 top 1458 asterisk 20 0 230008 58996 31320 S 1,0 2,9 0:58.40 asterisk 7398 iobroker 20 0 146304 54680 27664 S 1,0 2,7 0:36.67 node 7498 iobroker 20 0 148596 58988 27516 S 1,0 2,9 1:53.69 node 8855 iobroker 20 0 146080 61000 27084 S 1,0 3,0 0:43.21 node 355 root 20 0 7204 992 992 S 0,3 0,0 0:12.23 haveged 1554 ntp 20 0 6772 2704 2292 S 0,3 0,1 0:00.53 ntpd 1564 root 20 0 123120 43988 25484 S 0,3 2,1 0:01.31 Xorg 7391 iobroker 20 0 137188 43900 27660 S 0,3 2,1 0:07.14 node 8408 iobroker 20 0 136784 43928 26924 S 0,3 2,1 0:10.76 node 8707 iobroker 20 0 144048 51420 26968 R 0,3 2,5 0:40.09 node 8903 root 20 0 0 0 0 I 0,3 0,0 0:00.36 kworker/2:+
-
@LJSven
Nur IOBroker frisst hier RAM, wobei das Ding bei 2GB RAM schon SWAPt und das ist früher oder später eh der Tod der SD Karte. -
@LJSven Asterisk und XOrg (der Desktop) fressen viel RAM. Ich würde mal auf reine Konsole wechseln (oder brauchst du den Desktop wirklich?) und vor dem Restore Asterisk beenden.
-
@UncleSam sagte in Restore schlägt fehl:
@LJSven Asterisk und XOrg (der Desktop) fressen sehr viel RAM. Ich würde mal auf reine Konsole wechseln (oder brauchst du den Desktop wirklich?) und vor dem Restore Asterisk beenden.
Nein, den Desktop brauche ich gar nicht - wie bekomme ich das weg?
-
@UncleSam
Warte mal wenn Thomas einsteigt und was zum Thema Desktop auf nem Linux Server sagtWenn da nur IOBroker drauf laufen soll, hat das nix drauf verloren und frisst nur, wobei beim Restor der nicht in die höhe gehen sollte , wenn man alles über die Konsole erledigt, egal wie der Restor durchgeführt wird.
-
@LJSven
Auf Runlevle 3 wechseln und das nächste Mal beim Ubuntu installieren erst gar nicht aus wählen -
@LJSven Ja, hast Glück, dass Thomas noch nicht wach ist
Bei Ubuntu kannst du es scheinbar so machen:
https://linuxconfig.org/how-to-disable-enable-gui-on-boot-in-ubuntu-20-04-focal-fossa-linux-desktop
sudo systemctl set-default multi-user