Jump to content

ioBroker nach Plattenwechsel mit rsync defekt: error "object system.meta.uuid cannot be updated: Error: DB closed"


Kazino43

Recommended Posts

Hallo allseits,

 

ich habe meine kleinen 2TB Platten gegen eine große gewechselt, dazu gemäß wiki vorgegangen: https://wiki.unraid.net/Replacing_Multiple_Data_Drives_with_a_Single_Larger_Drive "faster methode"

 

Nun geht jedoch der ioBroker Container nicht mehr. Alle anderen funktionieren jedoch weiterhin einwandfrei.

 

Der Log des ioBroker Containers von @mguttspuckt aus:

 

--------------------------------------------------------------------------------
----- Step 5 of 5: ioBroker startup -----
--------------------------------------------------------------------------------

Starting ioBroker...

doc.rows is not iterable
TypeError: doc.rows is not iterable
at Object.getInstancesOrderedByStartPrio (/opt/iobroker/node_modules/iobroker.js-controller/lib/tools.js:2863:27)

at async getInstances (/opt/iobroker/node_modules/iobroker.js-controller/main.js:2707:23)

object system.meta.uuid cannot be updated: Error: DB closed

object system.user.admin created

 

Leider verstehe ich die Fehlermeldung gar nicht und weiß Stand jetzt auch nicht weiter. Habe das Image neuinstalliert, hat uch nichts gebracht. 

 

Wisst ihr, woran das liegen könnte und wie man das Problem beheben könnte? 

Link to comment

Ich vermute, das hat nichts mit deinem Plattentausch zu tun, sondern dein Container wurde vermutlich aktualisiert und das ist in die Hose gegangen. 

 

Aber zuerst bitte mal folgendes prüfen:

 

Shares -> rechts auf das Ordnersymbol bei appdata -> liegen alle deine appdata Dateien auf einer LOCATION oder werden mehrere DiskX, Cache oder was auch immer angezeigt?

 

Hast du ein Backup vom appdata Ordner?

 

 

Link to comment

Danke @mgutt für die Antwort.

 

Das obige Problem konnte ich über den "ioBroker"-internen Adapter "Backit" lösen, indem ich im Container selbst das Backup widerhergestellt habe über "iobroker restore 0".

 

Danach zur Sicherheit wieder den gesamten appdata Ordner mit dem CA-Plugin gesichert.

 

Nun habe ich über den Mover den appdata share auf "prefer cache" gestellt (zuvor lief alles auf dem Array selbst, weil es noch ein Test war). Dabei habe ich jetzt das Problem, dass mal wieder nur ioBroker Probleme macht. Alle anderen Container funktionieren nach dem Mover-Durchlauf einwandfrei.

 

Dabei habe ich jetzt wieder das zuvor noch funktionierende appdata-Backup eingespielt, es kann also nicht daran liegen. 

 

Folgende Fehlermeldung im ioBroker-Log:

 

--------------------------------------------------------------------------------
----- Step 2 of 5: Detecting ioBroker installation -----
--------------------------------------------------------------------------------

There is data detected in /opt/iobroker but it looks like it is no instance of ioBroker or a valid backup file!
Please check/ recreate mounted folder or volume and start over.

 

Nun geht aber auch die Console des Adapters nicht: Um "iobroker restore 0" durchzuführen, muss zuvor "iobroker stop" ausgeführt werden, dies wird auch bestätigt "iobroker daemon stopped". Wenn ich dann jedoch mit "iobroker restore 0" die Wiederherstellung anstupsen möchte, sagt er mir, dass ich iobroker erst stoppen müsste. Komme also nicht weiter.

 

Edit: Nun einen neuen Ordner für den Container gemacht und dort die Backup-Datei hineingefügt, damit wurde da Backup endlich angestoßen, es tut sich jedoch seitdem nichts:

 

--------------------------------------------------------------------------------
----- Step 2 of 5: Detecting ioBroker installation -----
--------------------------------------------------------------------------------

IoBroker backup file detected in /opt/iobroker.
Preparing restore...
Done.
Restoring ioBroker...
Done.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!! IMPORTANT NOTE !!!!!
!!!!! The sartup script restored iobroker from a backup file. !!!!!
!!!!! Check /opt/iobroker/log/restore.log to see if restore was successful. !!!!!
!!!!! When ioBroker now starts it will reinstall all Adapters automatically. !!!!!
!!!!! This might be take a looooong time! Please be patient! !!!!!
!!!!! You can view installation process by taking a look at ioBroker log. !!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

--------------------------------------------------------------------------------
----- Step 3 of 5: Checking ioBroker installation -----
--------------------------------------------------------------------------------

(Re)Setting folder permissions (This might take a while! Please be patient!)...
Done.

Fixing "sudo-bug" by replacing sudo in iobroker with gosu...
Done.

--------------------------------------------------------------------------------
----- Step 4 of 5: Applying special settings -----
--------------------------------------------------------------------------------

Some adapters have special requirements/ settings which can be activated by the use of environment variables.
For more information take a look at readme.md on Github!

There is no data detected in /opt/userscripts. Restoring exapmple userscripts...
Done.

--------------------------------------------------------------------------------
----- Step 5 of 5: ioBroker startup -----
--------------------------------------------------------------------------------

Starting ioBroker...

================================== > LOG REDIRECT system.adapter.admin.0 => true [starting]
host.6566d07bb05a check instance "system.adapter.admin.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.influxdb.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.javascript.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.mqtt.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.sonoff.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.backitup.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.discovery.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.easee.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.info.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.jarvis.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.mystrom.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.sourceanalytix.0" for host "8911b51aead4"
host.6566d07bb05a check instance "system.adapter.web.0" for host "8911b51aead4"

 

weiter gehts nicht. Bin mittlerweile echt am Verzweifeln. 

 

 

Link to comment
37 minutes ago, Kazino43 said:

Nun habe ich über den Mover den appdata share auf "prefer cache" gestellt (zuvor lief alles auf dem Array selbst, weil es noch ein Test war). Dabei habe ich jetzt das Problem, dass mal wieder nur ioBroker Probleme macht. Alle anderen Container funktionieren nach dem Mover-Durchlauf einwandfrei.

Auf was stand das vorher? Stand es auf No, dann kann es sein, dass du auf dem Cache auch noch eine Installation hattest und durch Prefer hat er dann auf beide gleichzeitig zugreifen können. Oder war der Cache ganz sicher leer? Dann hat das nichts mit unRAID zu tun, denn die Container wissen nichts von prefer, only etc. Die sehen einfach nur die Dateien in den Pfaden. Keine Ahnung was ioBroker da macht. Aber ich habe jetzt schon sehr oft davon gelesen, dass die Wiederherstellung und Updates Probleme machen.

 

Vielleicht hat @andre (buanet) noch einen Tipp?

Link to comment

Auf dem Cache war nichts mehr.

 

Warum wird nun aber nicht einmal das Backup ordentlich eingespielt, sondern hängt sich irgendwo auf? 

 

Ich gehe wie folgt vor:

 

1. Ordner: /mnt/user/iobroker_new/data

2. dort wird das Backup abgelegt

3. daraufhin wird die Wiederherstellung gestartert und endet bei: 

"host.6566d07bb05a check instance "system.adapter.web.0" for host "814b5ca53ca4"

 

Das Backup müsste doch, unvoreingenommen, was davor passiert ist, nehmen, oder mache ich was falsch?

 

Edit: Warscheinlich hat das hier nun was mit dem anderen Hostnamen zu tun, jedoch kann ich den Hostnamen nicht ändern mit "iobroker host oldHostName.", weil er mir sagt, dass ich wieder erst iobroker stoppen sollte: "Cannot execute changes on running system. Stop iobroker first."

 

 Jedoch reagiert er auf "iobroker stop" nicht, es kommt nur "iobroker controller daemon is not running".

 

Gibt es für den unRaid Container einen anderen Befehl, "iobroker stop" zu ersetzen?

Edited by Kazino43
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...