Datenbankmigration V2.x --> V3.x CCU-AddOn Step-by-Step per ssh

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Datenbankmigration V2.x --> V3.x CCU-AddOn Step-by-Step per ssh

Beitrag von Baxxy » 04.05.2022, 15:52

Da doch viele User Probleme haben beim Historian CCU-AddOn die Datenbank von V2.x --> V3.x zu migrieren kommt hier mal eine (hoffentlich verständliche) Anleitung.

Die Anleitung bezieht sich auf eine "Standard-AddOn" Installation. D.h. die Historian-Datenbank liegt auf dem USB-Stick und heißt "history.mv.db".
So ein Raspi (CCU3) ist für große Dateioperationen eher nicht gemacht. Ich bin mir auch nicht sicher ob für export/import ein temporäres Dateisystem genutzt wird. Technisch gesehen sollte die Anleitung funktionieren wenn genug Speicherplatz auf dem Stick zur Verfügung steht.
Trotzdem empfehle ich Datenbanken >= 1GB besser mit einem richtigen PC zu migrieren.
Die alte Datenbank der V2.x bleibt auf dem Stick bis sie über einen optionalen Schritt (5a) bei Bedarf gelöscht wird. Solange diese vorhanden ist kann immer auf die V2.x zurückgegangen werden.

1. Vorbereitungen:
  • ssh - Zugang auf der Zentrale aktivieren und diesen mittels Terminalprogramm (z.B. PuTTY) testen, also sich einloggen.
  • Optional: zweite Terminal-Session öffnen und dort "top" laufen lassen, da sieht man ob sich was "tut".
  • Datenbankgröße und freien Speicherplatz auf dem Stick prüfen.
    A: freier Speicherplatz:

    Code: Alles auswählen

    df -h /dev/sda1
    Beispielausgabe:

    Code: Alles auswählen

    Filesystem                Size      Used Available Use% Mounted on
    /dev/sda1                14.3G    291.6M     14.0G   2% /media/usb1
    B: Datenbankgröße:

    Code: Alles auswählen

    ls -lah /media/usb0/ccu-historian
    Beispielausgabe:

    Code: Alles auswählen

    -rw-r--r--    1 root     root      107.0M May  4 13:27 history.mv.db
Wichtig:
Für die Durchführung der Anleitung wird 2x die Größe der Datenbank als freier Speicher benötigt.
Beispiel: DB-Größe = 1GB --> nötiger freier Speicherplatz >= 2GB
(Der Hintergrund ist, das es zur Sicherheit zeitweilig 3 Datenbankdateien gibt um im Problemfall wieder zur Ausgangslage zurückkehren zu können)

2. Durchführung Teil 1 - ssh:
  • 2a: ins Historian-AddOn Installationsverzeichnis wechseln:

    Code: Alles auswählen

    cd /usr/local/addons/ccu-historian/ccu-historian
  • 2b: laufenden Historian stoppen:
    2b-1: RM-User:

    Code: Alles auswählen

    monit stop ccu-historian
    2b-2: CCU-User:

    Code: Alles auswählen

    /usr/local/etc/config/rc.d/ccu-historian stop
  • 2c: Däumchen drehen und ca. 1m warten (bis der Historian beendet ist, Kontrolle über optionales ssh-Terminal mit top)....
  • 2c-o: Optional: Mit WinSCP oder anderem Programm auf das Dateisystem der Zentrale zugreifen und die originale /media/usb0/ccu-historian/history.mv.db "herunterladen".
  • 2d: die alte Datenbank exportieren (je nach Größe kann das dauern):

    Code: Alles auswählen

    /opt/java/bin/java -jar ccu-historian.jar -config ../ccu-historian.config -createscript /media/usb0/ccu-historian/export2-x.db
  • 2e: die alte Datenbank umbenennen:

    Code: Alles auswählen

    mv /media/usb0/ccu-historian/history.mv.db /media/usb0/ccu-historian/history.mv.db2-x.old
3. Durchführung Teil 2 - WebUI:
  • Hier nun ganz einfach über Zusatzsoftware die 3.x-Version des Historian-AddOns hochladen und installieren. Anschließend starten CCU/RM automatisch neu.
  • Nach dem Reboot der Zentrale noch etwas Zeit geben und dann die ssh-Verbindung wieder herstellen.
4. Durchführung Teil 3 - ssh:
  • 4a-c: Step 2a - 2c wiederholen
  • 4d: die automatisch durch v3.x erzeugte Datenbank-Datei löschen:

    Code: Alles auswählen

    rm -f /media/usb0/ccu-historian/history.mv.db
  • 4e: die exportierte Datenbankdatei importieren (je nach Größe kann das dauern):

    Code: Alles auswählen

    /opt/java/bin/java -jar ccu-historian.jar -config ../ccu-historian.config -runscript /media/usb0/ccu-historian/export2-x.db
  • 4f: Historian starten:
    4f-1: RM-User:

    Code: Alles auswählen

    monit start ccu-historian
    4f-2: CCU-User:

    Code: Alles auswählen

    /usr/local/etc/config/rc.d/ccu-historian start
5. Optionales - ssh:
  • Der Historian 3.x sollte nun korrekt laufen und die alten Daten in der Datenbank drin haben.
  • Passt alles soweit kann man die alte Datenbank sowie die Export-Datei löschen.
  • 5a: alte Datenbank löschen:

    Code: Alles auswählen

    rm -f /media/usb0/ccu-historian/history.mv.db2-x.old
  • 5b: Export-Datei löschen:

    Code: Alles auswählen

    rm -f /media/usb0/ccu-historian/export2-x.db
Viel Erfolg! :)
Zuletzt geändert von Baxxy am 04.05.2022, 16:22, insgesamt 1-mal geändert.

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: Datenbankmigration V2.x --> V3.x CCU-AddOn Step-by-Step per ssh

Beitrag von MichaelN » 04.05.2022, 16:07

Danke Dir!
Ich hatte schon befürchtet als Linux-Legastehniker bei V2. 9 stehen bleiben zu müssen, weil mir so eine klare Anleitung bisher gefehlt hat.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Datenbankmigration V2.x --> V3.x CCU-AddOn Step-by-Step per ssh

Beitrag von Baxxy » 04.05.2022, 16:19

Ich hatte damals beim erscheinen der V3beta die Migration am PC gemacht.
Wenn die Datenbankdatei nicht soo riesig ist sollte das der Pi auch packen.
Solange der USB-Stick nicht die Hufe hochreißt sollte es keine Probleme geben.
Als zusätzliches Backup könnte man noch nach Step 2c die originale DB auf den PC (z.B. mit WinSCP) sichern.

Grüße, Baxxy

hwoehs
Beiträge: 15
Registriert: 09.10.2014, 12:44
Hat sich bedankt: 8 Mal

Import - zu wenig Speicherplatz

Beitrag von hwoehs » 04.05.2022, 21:05

Hallo, ich nochmals,

alles soweit (nach-)gemacht, funktioniert auch soweit, aber es kommt nach einigen Minuten Hochladen des CSV die Fehlermeldung "zu wenig Speicherplatz oder so ähnlich". Aber sowohl am ExFat formatierten Stick als auch am Rest vom Raspberry gibt es ausreichend Speicherplatz?

Was tun, sprach Zeus? Danke für Eure Hilfe.

lG Wiggerl.
Dateianhänge
Unbenannt.JPG

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Datenbankmigration V2.x --> V3.x CCU-AddOn Step-by-Step per ssh

Beitrag von Baxxy » 04.05.2022, 23:12

hwoehs hat geschrieben:
04.05.2022, 21:05
aber es kommt nach einigen Minuten Hochladen des CSV die Fehlermeldung "zu wenig Speicherplatz oder so ähnlich".
Hmm, in meiner Anleitung wird ja nichts "hochgeladen" und eine CSV kommt auch nicht vor.
Da ich jeden Schritt mit Nummer und Buchstabe betitelt habe müsstest du mal genau sagen wo das passiert.
Auch interessant wäre die Ausgabe der Datenbankgröße (siehe B:).

Möglicherweise wird doch ein temporäres Verzeichnis genutzt, da ist die Größe auf knapp 1GB begrenzt.

@Mathias:
Wird für -createscript / -runscript ein /tmp- Verzeichnis genutzt?
Und wenn ja, lässt sich das umgehen?
Die Methode dich ich mal von dir hatte (für -recalc) funktioniert leider nicht weil die "cleanup.sql" dann nicht gefunden wird.
Beispiel nicht zum Benutzen!

Code: Alles auswählen

root@RM-Test-OVA-18:/usr/local/sdcard/CCU-Historian-Dump# /opt/java/bin/java -jar /usr/local/addons/ccu-historian/ccu-historian/ccu-historian.jar -config /usr/local/addons/ccu-historian/ccu-historian.config -createscript /u
sr/local/sdcard/CCU-Historian-Dump/test.db
Grüße, Baxxy

Mathias
Beiträge: 1767
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 253 Mal
Kontaktdaten:

Re: Import - zu wenig Speicherplatz

Beitrag von Mathias » 05.05.2022, 13:01

hwoehs hat geschrieben:
04.05.2022, 21:05
alles soweit (nach-)gemacht, funktioniert auch soweit, aber es kommt nach einigen Minuten Hochladen des CSV die Fehlermeldung "zu wenig Speicherplatz oder so ähnlich". Aber sowohl am ExFat formatierten Stick als auch am Rest vom Raspberry gibt es ausreichend Speicherplatz?
Ich vermute, Du willst einen Export/Import über die Web-UI des CCU-Historians durchführen und nicht, wie von Baxxy beschrieben, über die Kommandozeile mit -createscript/-runscript.

Bei einem Export/Import über die Web-UI des CCU-Historian wird beim Hochladen eine temporäre Datei in /tmp erzeugt. Dort muss für die hochzuladende Datei entsprechend freier Platz vorhanden sein. Standardmäßig ist /tmp, glaube ich, nur 512 MB groß bei der CCU3/RasberryMatic.

Mathias
Beiträge: 1767
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 253 Mal
Kontaktdaten:

Re: Datenbankmigration V2.x --> V3.x CCU-AddOn Step-by-Step per ssh

Beitrag von Mathias » 05.05.2022, 13:14

Baxxy hat geschrieben:
04.05.2022, 23:12
Wird für -createscript / -runscript ein /tmp- Verzeichnis genutzt?
Nein.
Baxxy hat geschrieben:
04.05.2022, 23:12
Die Methode dich ich mal von dir hatte (für -recalc) funktioniert leider nicht weil die "cleanup.sql" dann nicht gefunden wird.
Da weiß ich jetzt nicht, was Du meinst.

Gruß
Mathias

Benutzeravatar
Baxxy
Beiträge: 10648
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 597 Mal
Danksagung erhalten: 2180 Mal

Re: Datenbankmigration V2.x --> V3.x CCU-AddOn Step-by-Step per ssh

Beitrag von Baxxy » 05.05.2022, 13:36

Mathias hat geschrieben:
05.05.2022, 13:14
Nein.
Sehr gut, Danke. Damit wären nur der Speicherplatz sowie die Geschwindigkeit des USB-Mediums limitierende Faktoren und es sollte auch mit größeren Datenbanken klappen.

Damit erübrigt sich auch...
Mathias hat geschrieben:
05.05.2022, 13:14
Da weiß ich jetzt nicht, was Du meinst.
Es ging darum beim -recalc das Dump-File nicht auf die SD des Pi's, sondern auf den Stick zu schreiben. Das klappt auch wenn man von einem Verzeichnis auf dem Stick aus startet.

Also wenn die Anleitung von dir abgesegnet ist dann kannst du auch gerne einen Link im Historian-Wiki hinterlegen. Ich denke das Thema wird noch einige Zeit aktuell sein.

Grüße, Baxxy

Mathias
Beiträge: 1767
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 253 Mal
Kontaktdaten:

Re: Datenbankmigration V2.x --> V3.x CCU-AddOn Step-by-Step per ssh

Beitrag von Mathias » 06.05.2022, 21:16

Baxxy hat geschrieben:
05.05.2022, 13:36
Also wenn die Anleitung von dir abgesegnet ist dann kannst du auch gerne einen Link im Historian-Wiki hinterlegen. Ich denke das Thema wird noch einige Zeit aktuell sein.
Ja, das habe ich gemacht. Danke für die Anleitung.

hwoehs
Beiträge: 15
Registriert: 09.10.2014, 12:44
Hat sich bedankt: 8 Mal

Re: Import - zu wenig Speicherplatz

Beitrag von hwoehs » 07.05.2022, 10:20

Mathias hat geschrieben:
05.05.2022, 13:01
hwoehs hat geschrieben:
04.05.2022, 21:05
alles soweit (nach-)gemacht, funktioniert auch soweit, aber es kommt nach einigen Minuten Hochladen des CSV die Fehlermeldung "zu wenig Speicherplatz oder so ähnlich". Aber sowohl am ExFat formatierten Stick als auch am Rest vom Raspberry gibt es ausreichend Speicherplatz?
Ich vermute, Du willst einen Export/Import über die Web-UI des CCU-Historians durchführen und nicht, wie von Baxxy beschrieben, über die Kommandozeile mit -createscript/-runscript.

Bei einem Export/Import über die Web-UI des CCU-Historian wird beim Hochladen eine temporäre Datei in /tmp erzeugt. Dort muss für die hochzuladende Datei entsprechend freier Platz vorhanden sein. Standardmäßig ist /tmp, glaube ich, nur 512 MB groß bei der CCU3/RasberryMatic.
genau, die Version Kommandozeile wollte ich eigentlich noch auslassen (mangels Fachwissen um mir nichts zu zerstören), danke, gibts einen einfachen Tipp für Laien, die /tmp zu vergrößern :D lG Wiggerl

Antworten

Zurück zu „CCU-Historian“