NEWS
SQL Connection Error während Backup
-
Moin zusammen, ich habe heute mal ein Lusxusproblem.
ich nutze den SQL-Adapter zum Aufzeichnen meiner States.
Jetzt macht mein SQL-Server jede Nacht um 5 Uhr ein Backup.Während des Backups kommt logischerweise vom SQL-Adapter ein:
Error: connect ETIMEDOUT
is ja klar, der SQL-Server ist grade nicht erreichbar und der Adapter kriegt seine Daten nicht weggeschrieben...
Gibts eine Möglichkeit dem SQL-Adapter mitzuteilen das er mal kurz warten muss?
Den Adapter per Script zu stoppen scheint mir keine sinnvolle Möglichkeit, denn dann würden die auflaufenden Daten ja gar nicht gesichert werden?Also wie schon gesagt, ist ein Luxusproblem, ist ebend nur der Error im Log, den man auch einfach ignorieren könnte, stört mich einfach nur
-
@supermicha sagte in SQL Connection Error während Backup:
Jetzt macht mein SQL-Server jede Nacht um 5 Uhr ein Backup.
Moin,
kannst Du noch sagen, welchen SQL Server Du meinst
- MS SQL
- mySQL
- mariaDB
Das ist dann eher ein Problem, wie Du Dein Backup auf dem Server machst, da gibt es sicherlich die Möglichkeit, das
online
zu tun oder haltoffline
, aber genaues kann man nur sagen, wenn man weis, wovon Du redest/schreibst.VG
BerndP.S.: bei MS-SQL bin ich raus.
-
Hallo Bernd,
es ist eine MariaDB.es läuft aber in einem Proxmox Container und der wird komplett über Proxmox gebackupt...
Hat also erstmal nix mit der DB ansich zu tun sonder ist ein volles (offline) Backup des gesamten Containers.Ich könnte natürlich ein Backup vom Typ Snapshot machen, aber damit hab ich bisher keine so guten Erfahrungen gemacht, deswegen nutze ich lieber Suspend und damit ist der Container ebend ein paar Minuten nicht erreichbar...
-
@supermicha sagte in SQL Connection Error während Backup:
Hallo Bernd,
es ist eine MariaDB.es läuft aber in einem Proxmox Container und der wird komplett über Proxmox gebackupt...
Hat also erstmal nix mit der DB ansich zu tun sonder ist ein volles (offline) Backup des gesamten Containers.Ich könnte natürlich ein Backup vom Typ Snapshot machen, aber damit hab ich bisher keine so guten Erfahrungen gemacht, deswegen nutze ich lieber Suspend und damit ist der Container ebend ein paar Minuten nicht erreichbar...
Moin,
siehst Du, wenn Du gleich die wichtigen Informationen lieferst, ergeben sich gleich ganz andere Sichtweisen
Ich nutze für
ioBroker
nurinfluxDB
und mein Backup des ganzen LXC Containers dauert auch nicht so lange, da werden die Daten in der Zeit zwischen gepuffert und dann anschließend weggeschrieben.Man könnte dann die Datenbank LXC Containern, mittel
ZFS
,btrfs
oderLVM-Thin
Filesystem-Snapshots, sichern, vorausgesetzt, Du nutzt eins der Filesysteme
Das geht dann Online, ohne Downtime.
Das sollte man aber auch erst einmal an einem Testdatenbank LXC Container ausprobieren!VG
Bernd -
Ja, ich hab "natürlich" nur ext4 als Filesystem. Da ist mir ein suspend-Backup sicherer. Du hast natürlich Recht, mit anderem FS würde das einfacher gehen. Wenn ich mal die Hardware Wechsel, Werd ich das bedenken
-
@supermicha sagte in SQL Connection Error während Backup:
Wenn ich mal die Hardware Wechsel, Werd ich das bedenken
Moin,
ist immer einen Versuch wert, aber auch die haben dann ihre Tücken, Eigenheiten.
Ich warte gerade auch auf neue Hardware, habe mich da bei einer Kickstarter-Aktion, hinreißen lassen, ich hoffe, dass es kein Geldverbrennen war
Dann setze ich auch verschiedene Datenbank LXC Container auf, Postgres, mariaDB, influxDB, diese Container werden dann je ein externes Filesystem/Verzeichnis bekommen, so als persistentes Laufwerk, das ich dann in den Container Mounte, worauf die Datenbank die Daten ablegt, meist ist das ja
/var/lib/Datenbank/data
. Dann, wenn die Container fertig sind, wird von jedem Container ein Template erstellt, das ist dann nur eine Blaupause.
Ich setze dann aber nicht nur auf das Container Backup, sondern sichere die Daten mittels Datenbank Backup, sollte etwas passieren, dann erstelle ich aus dem Template einen neuen Container und spiele das Datenbackup wieder ein. Vorteil, wie ich finde, ist, dass ich das reine Datenbankbackup auch jederzeit woanders einspielen kann, z. B. ein Docker Datenbank Container in der Cloud usw.Aber, das sind alles noch ungelegt Eier bei mir, spiele das aber schon mal im Kopf durch.
VG
BerndP.S.: Kannst Du den Timeout im
ioBroker - SQL Adapter
erhöhen? Wie lange dauert denn das Suspend-Backup bei Dir? -
ja ich habe auch verschiedenste Container laufen, allerdings ohne separaten Storage. Das sichern des SQL-Containers dauert genau 58 Sekunden.
Ich habe grade festgestellt das ich kein Suspend-Backup mache, sondern das vollständige Stop-Backup.... daher weiß ich nicht, wie lange es anschließend dauert, bis die Datenbank wieder erreichbar ist.
Mein Apache-Container braucht nach einem Neustart gerne noch 2-3 Minuten bis er wieder richtig läuft. beim SQL-Container ist mir das noch nicht so aufgefallen, aber ausschließen könnte ich das auch nicht.Ich sehe auch in den Einstellungen des SQL-Adapters keine Möglichkeit irgendein Timeout festzulegen...
Mir ist aber grade aufgefallen das ich 'maximum datapoint count in RAM' auf 0 gesetzt hatte, ich werde den Wert mal auf 2 erhöhen, damit nicht jeder Wert direkt weggeschrieben wird... mal sehen ob das was ändert.... -
@supermicha sagte in SQL Connection Error während Backup:
Mir ist aber grade aufgefallen das ich 'maximum datapoint count in RAM' auf 0 gesetzt hatte, ich werde den Wert mal auf 2 erhöhen, damit nicht jeder Wert direkt weggeschrieben wird... mal sehen ob das was ändert....
Moin,
kommt ja darauf an, wie viele Werte da so in der Minute kommen, ob da 2 schon was bringt? Ist halt aber auch gefährlich, sollten da viele Daten im Speicher sein und die Kiste hat mal Schluckauf, dann sind die weg.
VG
Bernd -
deswegen ja auch meine vorsichtige 2
ich habe einige Werte die vielleicht nur 1 oder 2 mal am Tag geloggt werden, da warte ich dann ja ewig bis die in der DB auftauchen, ich werd das mal beobachten ob das so praktikabel ist.