[vz-users] Bevorstehender Kartencrash

Andreas Goetz cpuidle at gmail.com
Fr Jun 19 18:56:38 CEST 2020


Also...

> On 19. Jun 2020, at 18:33, John Doe <johndoe at null.net> wrote:
> 
> Hallo Andreas,
>  
> der restore ist fehlerfrei durchgelaufen:
>  
> sudo /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c /etc/dbcopy.yaml
> Dropping FK FK_87C331C781257D5D on properties
> Dropping FK FK_2BD88468727ACA70 on entities_in_aggregator
> Dropping FK FK_2BD88468DD62C21B on entities_in_aggregator
> Dropping FK FK_ADF3F36372F5A1AA on data
> Dropping FK FK_B77949FF72F5A1AA on aggregate
> entities: copying 0 rows (overwrite)

Das ist eindeutig. In Deinem Backup sind keine Kanäle drin.

Ich kann nur nochmal vermuten, dass Du irgendwie aus einer leeren DB mal in dieses Backup *rein* kopiert hast. Läuft bei Dir evtl. Backup als cron und lief noch? Dann wäre das eine Erklärung...

>     0 [>---------------------------] < 1 sec 6.0 MiB
> properties: copying 16 rows (overwrite)
>  [============================] 100%  < 1 sec/< 1 sec  16 rows
> entities_in_aggregator: copying 0 rows (overwrite)
>     0 [>---------------------------] < 1 sec 6.0 MiB
> data: copying 29250330 rows (partial copy)
>  [============================] 100%    3 hrs/3 hrs    29250330 rows
> aggregate: skipping
> Creating FK FK_B77949FF72F5A1AA on aggregate
> pi at raspberrypi:~ $
>  
> Wenn ich nun allerdings in der DB nach UIDs suche, finde ich keine:

Nein, denn es wurden keine restored.
 
> sudo mysql -u root -h localhost volkszaehler
> Reading table information for completion of table and column names
> You can turn off this feature to get a quicker startup with -A
> Welcome to the MariaDB monitor.  Commands end with ; or \g.
> Your MariaDB connection id is 160
> Server version: 10.3.22-MariaDB-0+deb10u1 Raspbian 10
> Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
> Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
> MariaDB [volkszaehler]> SELECT * FROM entities;
> Empty set (0.008 sec)
> MariaDB [volkszaehler]>
>  
> Ich habe bisher noch keine neuen Kanäle im WebIF angelegt, da ich vermute, dass es wieder auf das Gleiche hinausläuft.
> Hättest Du noch einen Tip für mich ?

Nimm das Backup aus dem Du beim ersten mal die Daten und Kanäle(!) restauriert hast. Wir waren schon an dem Stand wo alles wieder da war!

Ansonsten bliebe nur noch die entities Tabelle von Hand in SQL aufzubauen so dass Deine properties dazu passen. Vielmehr als ID (analog entity_id aus properties), UUID (aus der vzlogger.conf) und TYPE (bei Dir wohl immer “channel” wenn DU keien Gruppen hast) steht da ja nicht drin.

Nach gefühlt 100 Stunden mit dem Thema muss ich jetzt aber langsam sagen ich hab Urlaub :O

> Beste Grüße
>  
> JD.

Sorry,
Andreas

> 
> Sent: Friday, June 19, 2020 at 2:00 PM
> From: "Andreas Goetz" <cpuidle at gmail.com>
> To: "volkszaehler.org - users" <volkszaehler-users at demo.volkszaehler.org>
> Subject: Re: [vz-users] Bevorstehender Kartencrash
> Keine Ahnung wie Screen funktioniert- wenn 2 Restores parallel laufen wird es allerdings auch diesen Fehler geben...
>  
> Am 19.06.2020 um 13:09 schrieb John Doe <johndoe at null.net>:
>  
> 
> Hallo Andreas,
>  
> die Ursache des Abbruchs mit dem Fehler "duplicate entry ..." glaube ich gefunden zu haben:
>  
> Ich benutze aufgrund der langen Zeit für den restore auf dem Raspi screen, konkret:
>  
> sudo screen /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c /etc/dbcopy.yaml
>  
> Das Verlassen der Screen-Session führt reproduzierbar zu dem o.g. Fehler, dass bedeutet dass ein unmittelbar an das Verlassen anschliessendes
>  
> screen -r
>  
> schon keine laufende Session mehr zeigt. Ein danach angeworfenes
>  
> sudo /var/www/volkszaehler.org/vendor/bin/dbcopy copy -c /etc/dbcopy.yaml
>  
> , also ohne screen, bringt reproduzierbar diesen Fehler, und zwar unabhängig von den vorher wiederhergestellten rows.
> Möglicherweise ist da der restore etwas fragil.
> Ich werde das ganze jetzt nochmal in der Konsole ohne screen anwerfen und weiter berichten.
> Beste Grüße
>  
> JD.
>  
>  
>  
> Sent: Friday, June 19, 2020 at 11:05 AM
> From: "Andreas Goetz" <cpuidle at gmail.com>
> To: "volkszaehler.org - users" <volkszaehler-users at demo.volkszaehler.org>
> Subject: Re: [vz-users] Bevorstehender Kartencrash
> JD,
>  
> das hatten wir alles schon! Du versuchst einen Restore in eine nicht leere Datenbank.
>  
> Viele Grüße, 
> Andreas
>  
>  
> On 19. Jun 2020, at 11:04, John Doe <johndoe at null.net <mailto:johndoe at null.net>> wrote:
>  
> Hallo Andreas,
>  
> der restore ist fehlgeschlagen mit "Duplicate entry for PRIMARY .."
> Wohin soll ich die sqlite.db3 schicken ?
> Ich kann das vermutlich erst heute nachmittag tun, da Sie ca. 1.6 GB hat und ich aktuell nicht genügend Bandbreite für einen Upload in akzeptabler Zeit habe.
> Beste Grüße
>  
> JD.
>  
> Sent: Friday, June 19, 2020 at 10:31 AM
> From: "Andreas Goetz" <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>
> To: "volkszaehler.org <http://volkszaehler.org/> - users" <volkszaehler-users at demo.volkszaehler.org <mailto:volkszaehler-users at demo.volkszaehler.org>>
> Subject: Re: [vz-users] Bevorstehender Kartencrash
> V.a. zeig bitte den Api Aufruf. Ich will sehen ob Deine Sicherung überhaupt „public“ Kanäle enthält!
>  
> Am 19.06.2020 um 10:30 schrieb John Doe <johndoe at null.net <mailto:johndoe at null.net>>:
>  
> 
>  
> Hallo Andreas,
>  
> aktuell lasse ich nochmal einen restore laufen. Danach schaue ich mir mittels deines Tips die UIDs aus der Sicherung an und trage diese dann in die vzlogger.conf ein.
> Ich werde keine neuen Kanäle anlegen und ggfs. Deinen Tip mit dem Abo über die UIDs anwenden.
> Ich melde mich in ca. zwei Stunden wieder.
> Bis hierhin wie immer besten Dank und Grüße
>  
> JD.
>  
> Sent: Friday, June 19, 2020 at 10:01 AM
> From: "Andreas Goetz" <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>
> To: "volkszaehler.org <http://volkszaehler.org/> - users" <volkszaehler-users at demo.volkszaehler.org <mailto:volkszaehler-users at demo.volkszaehler.org>>
> Subject: Re: [vz-users] Bevorstehender Kartencrash
> Ergänzung:
>  
> Am 19.06.2020 um 09:48 schrieb Andreas Goetz <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>:
>  
> Noch eine Idee: gibt doch mal- für Deine Installation- folgenden Apiaufruf im Browser ein:
>  
> https://demo.volkszaehler.org/middleware.php/channel.json <https://demo.volkszaehler.org/middleware.php/channel.json>
>  
> Evtl middleware.php durch „api“ ersetzen. Da siehst Du schonmal alle „public“ Kanäle. Oder mail mir mal Deine sqlite.db, dann schau ich was da überhaupt drin ist ...
>  
> Und danach bitte auch nochmal
>  
> https://demo.volkszaehler.org/middleware.php/channel <https://demo.volkszaehler.org/middleware.php/channel.json>/<uuid>.json
>  
> Mit der UUID aus der ursprünglichen vzlogger.conf.
>  
>  
> Viele Grüße, Andreas
>  
> Am 19.06.2020 um 09:34 schrieb John Doe <johndoe at null.net <mailto:johndoe at null.net>>:
>  
> 
> Hallo zusammen,
> hallo Andreas,
>  
> nachdem ich nun zum zweiten Mal eine DB-Sicherung per dbcopy zurück gespielt habe, hat sich das exakt gleiche Problem ergeben.
> Daher hätte ich nun nochmal eine prinzipielle Frage zum Vorgang:
> Ich habe eine Kopie der von mir vor der Sicherung benutzten vzlogger.conf und natürlich die gesicherte sqlite.db3.
> Nachdem ich die Sicherung zurück gespielt habe, sind wieder alle abonnierbaren Kanäle weg. Wenn ich neue öffentliche Kanäle anlege und deren UIDs in die vzlogger.conf eintrage, sehe ich nur die aktuellen Messwerte.
> Nun meine Frage: Gibt es eine Möglichkeit, die UIDs aus der DB-Sicherung zu ermitteln und diese dann in die vzlogger.conf einzutragen ?
> Und warum sind trotz der passenden Paarung aus sqlite.db3 und vzlogger.conf jedes Mal alle angelegten Kanäle weg ?
> Beste Grüße
>  
> JD.
>  
> Sent: Wednesday, June 17, 2020 at 11:09 AM
> From: "John Doe" <johndoe at null.net <mailto:johndoe at null.net>>
> To:volkszaehler-users at demo.volkszaehler.org <mailto:volkszaehler-users at demo.volkszaehler.org>
> Subject: Re: [vz-users] Bevorstehender Kartencrash
> Hallo Andreas,
>  
> ja, ich habe die dbcopy.yaml, die ich zur Sicherung vom Raspi zum NAS benutzt habe, noch. Ich bin mir vollständig sicher, dass ich vor Beginn der Sicherung source und target korrekt gesetzt bzw. gegenüber dem vorherigen restore getauscht hatte, und so steht es auch in der dbcopy.yaml.
> Glücklicherweise habe ich noch die ursprüngliche Sicherung, mit der ich den restore unter 1. angestossen hatte. Ich werde das nochmal durch exerzieren und wieder berichten.
> Beste Grüße
>  
> JD.
>  
>  
> Sent: Tuesday, June 16, 2020 at 9:36 PM
> From: "Andreas Goetz" <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>
> To: "volkszaehler.org <http://volkszaehler.org/>- users" <volkszaehler-users at demo.volkszaehler.org <mailto:volkszaehler-users at demo.volkszaehler.org>>
> Subject: Re: [vz-users] Bevorstehender Kartencrash
> Hallo JD!
>  
> On 15. Jun 2020, at 19:41, John Doe <johndoe at null.net <mailto:johndoe at null.net>> wrote:
>  
> Hallo Andreas,
>  
> passiert ist das Folgende (von der Dir das Meiste ja schon bekannt ist):
>  
> 1. Ich habe mittels dbcopy nach wiki (https://wiki.volkszaehler.org/software/tools/dbcopy <https://wiki.volkszaehler.org/software/tools/dbcopy>) eine sqlite.db3 nach einem Kartencrash zurück gespielt.
> 2. Nachdem ich in der Folge im WebIF keine Daten sah, habe ich neue (öffentliche) Kanäle angelegt und die UIDs in die vzlogger.conf eingetragen, Ergebnis: Zumindest kame wieder Werte an.
> 3. Nach Deinem Hieinweis, dass nach einem Restore die "alten" UIDs (aus der Sicherung) wieder aktuell sind, habe ich wiederum diese "alten" in die vzlogger.conf "zurück" eingetragen. Danach lief alles wie gewünscht, die alten Daten waren da und es kamen auch aktuelle Werte an.
>  
> Bis hierhin alles super.
>  
> 4. Ich habe ein Directory von einem NAS auf den Raspi per CIFS gemountet und da hinein wie gehabt eine Sicherung per dbcopy angeworfen, welche problemlos durchgelaufen ist.
> 5. Danach habe ich nochmal das WebIF angeguckt und alle Daten waren weg, sowohl die Daten aus dem Restore als auch jene, welche danach dazu gekommen waren. Kanäle zum Abonnieren existierten nicht mehr.
>  
> Dafür gibts nur eine Erklärung die mir einfällt: Du hast *noch* einen Restore gemacht und zwar aus einer leeren DB auf Deinem NAS?! Bist Du zu 100% sicher dass die Konfiguration richtig (und v.a. anders!) war als beim ersten Restore? Hast du sie noch? Dir ist klar, dass Du für die Aktion die “Richtung” wieder von Raspi nach NAS umdrehen musst und der Raspi jetzt die Quelle ist während beim Restore SQlite die Quelle war?
>  
> Auch hier habe ich wiederum neue Kanäle angelegt und deren UIDs in die vzlogger.conf eingetragen, seitdem laufen zumindest wieder aktuelle Daten ein. Alle "alten" Daten (aus dem restore + ca. drei Tage) bleiben verschwunden.
>  
> Ja klar. Du hast mit einer leeren DB neu angefangen. Das hättest Du einfacher haben können :O
>  
> Jetzt liegst bei Dir- Fehler aus 5 verstehen und nochmal 1-3 machen?
>  
> Viele Grüße, Andreas
>  
>  
> Beste Grüße
>  
> Ralf.
>  
>  
> Sent: Monday, June 15, 2020 at 4:08 PM
> From: "Andreas Goetz" <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>
> To: "volkszaehler.org <http://volkszaehler.org/>- users" <volkszaehler-users at demo.volkszaehler.org <mailto:volkszaehler-users at demo.volkszaehler.org>>
> Subject: Re: [vz-users] Bevorstehender Kartencrash
> Ich nochmal...
>  
> Am 15.06.2020 um 10:55 schrieb John Doe <johndoe at null.net <mailto:johndoe at null.net>>:
>  
>  
> Hallo Daniel,
>  
> unmittelbar nach dem Lauf von dbcopy gab es leider keine Kanäle mehr, die ich abonnieren konnte - die Auswahlbox war leer.
>  
> Dbcopy löscht die Zieltabelle mit den Metadaten und stellt sie aus dem Backup wieder her. Entweder hast Du genau in der Sekunde geschaut als sie weg waren oder Du hast aus einem leeren Backup wieder hergestellt? Deshlab die Frage nach Deinen Kopiereinstellungen.
>  
> Daher hatte ich die Neuanlage der UIDs versucht. Nun läuft zwar der vzlogger wieder, aber meine "alten" Werte sind trotzdem weg.
>  
> Deine Daten waren ja zwischendurch schonmal wieder da. Zur Not Vorgang von vorne wiederholen.
>  
> Natürlich könnte ich jetzt wieder das alte Backup nochmal zurückspielen, aber auf Dauer kann das ja nicht gewollt sein ...(?)
>  
> Nach dem Restore solltest Du nicht den gleichen Fehler wieder machen- leider wird aus Deiner Beschreibung nicht klar was da wirklich passiert ist...
>  
> Viele Grüße, Andreas
>  
> Beste Grüße
>  
> JD.
>  
>  
> Sent: Monday, June 15, 2020 at 9:58 AM
> From: "Daniel Lauckner" <vz at jahp.de <mailto:vz at jahp.de>>
> To: "volkszaehler.org <http://volkszaehler.org/>- users" <volkszaehler-users at demo.volkszaehler.org <mailto:volkszaehler-users at demo.volkszaehler.org>>
> Subject: Re: [vz-users] Bevorstehender Kartencrash
> Hallo,
> 
> 
> am Montag, 15. Juni 2020 um 09:45 hat John Doe geschrieben:
> > Als ich danach wieder mein Web-Frontend aufgerufen habe, waren alle
> > erstellten und zuvor existierenden Kanäle weg.
> 
> Klingt als müsstest du einfach nur die Kanäle neu abonnieren.
> 
> 
> mfg Daniel
>  

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20200619/4fc6b6e4/attachment-0001.html>


Mehr Informationen über die Mailingliste volkszaehler-users