iobroker im Docker mit MacVLAN - Problem SQL Adapter

Huhie

Benutzer
Mitglied seit
29. Nov 2007
Beiträge
450
Punkte für Reaktionen
8
Punkte
18
Moin Zusammen,

ich habe schon seit längerem den "iobroker" hier am Start und wollte nun mal wieder ein wenig Zeit investieren
und mich um die Datenaufzeichnung bemühen...

Ich möchte gerne meinen iobroker mit dem SQL Adapter an meine bestehende "MARIADB10" anbinden, aber ich bekomme es nicht hin
und finde den Fehler leider nicht...

Die Fehlermeldung lautet: "Error: connect EHOSTUNREACH 192.168.10.10:3306"

5.png

Router und DHCP: 192.168.10.1
DS920+: 192.168.10.10
iobroker: 192.168.10.211

iobroker ist "up to date"
SQL Adapter Version: 1.15.7

Meine MariaDB Installation aus dem Paketzentrum auf DSM7 lauscht auf dem Port 3306.

1.png

Via phpMyAdmin habe ich einen Benutzer "iobroker" und eine Datenbank "iobroker" angelegt.
Die DB enthält aber keine Tabellen.

Login Daten via phpMyAdmin geprüft. Das klappt alles!

2.png

3.png

Der mySQL-Adapter ist installiert und läuft. Den habe ich wie folgt mit
Daten gefüttert:

4.png

Ebenso versucht habe ich mit localhost und oder 127.0.0.1. Klappt aber alles nicht.

Hat jemand Rat, warum ich das nicht hinbekomme?
Wie loggt ihr denn eure Daten?
Habt ihr MariaDB zusätzlich noch im Docker installiert?

Ich freue mich über den ultimativen Tip, damit ich diese Neujahrsbaustelle abschliessen kann :(

happy new year

Huhie
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Frohes und gesundes Neues!

MACVLAN Client und Parent Interfaces können nicht direkt miteinander kommunizieren - dabei ist egal ob das Client-Interface ein Container ist oder nicht. Damit ein Container mit mit dem Host kommunizieren kann, muss der Host auch ein MACVLAN Client Interface (mit eigner IP) verpasst bekommen. Der Container muss dann die neue MACVLAN Client IP des Hosts für die Kommunikation verwenden.

Auch wenn das Thema bei der Verwendung von MACVLAN mit Docker vorkommt, ist die Einschränkung dem Design von MACVLAN geschuldet und hat nichts mit Docker zu tun.

Es gab es neulich dieses Problem, aber dort im OpenVPN-Kontext - ist aber derselbe Grund und auf demselben Weg zu lösen. Das sollte Irgendwo auf Seite 1 oder 2 zu finden sein.
 

Huhie

Benutzer
Mitglied seit
29. Nov 2007
Beiträge
450
Punkte für Reaktionen
8
Punkte
18
Ich wünsche auch ein frohes Neues und gesundes neues Jahr!

Also wäre es in diesem Falle besser eine MariaDB zusätzlich im Container aufzubauen?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Ob es besser ist? Geschmackssache.

Datenbank vom NAS verwenden:

Schau dir mal https://blog.oddbit.com/post/2018-03-12-using-docker-macvlan-networks/ an. In dem Blog-Post steht unten etwas von mynet-shim. Genau das ist das was ich meinte mit "Damit ein Container mit mit dem Host kommunizieren kann, muss der Host auch ein MACVLAN Client Interface (mit eigner IP) verpasst bekommen".

Natürlich müssen die IPs und das Interface an deine Begebenheit angepasst werden. Sprich statt "eno1" ist es bei dir dann "ethX" oder "ethX_ovs" (X= interface nummer die Du verwendet hast beim Anlegen des Docker MACVLAN Netzwerks)

Die Konfiguration die man durchführt ist allerdings nur flüchtig und muss nach jedem NAS-Neustart neu ausgeführt werden. Am einfachsten geht das über einen Task im Aufgabenplaner.

Datenbank in einem anderen MACVLAN Container verwenden:

Wenn die Datenbank ebenfalls in einem Container mit einer MACVLAN ip steckt, dann kann Container-A einfach mit Container-B kommunizieren.
 

Huhie

Benutzer
Mitglied seit
29. Nov 2007
Beiträge
450
Punkte für Reaktionen
8
Punkte
18
Moin,
ich bin das Thema nochmal angegangen. Und mein NAS hat quasi schon eine virtuelle IP Adresse. Diese hatte ich aber nicht mehr auf dem Schirm 🙈.

Außerdem startet bei jedem Neustart ein Skript, welches dieses virtuelle Netzwerk neu startet.

Ich habe in mysql nun die virtuelle IP des NAS eingetragen und den Port dazu und zack schon läuft das mit SQL… 💪🏼

Bei Bedarf kann ich das Skript hier gerne posten.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Dann hast Du das was im Blog-Post als mynet-shim behandelt wird schon umgesetzt. Passt dann doch.

Es ist nie verkehrt die Lösung zu posten, so das andere die dasselbe Problem haben sehen können was getan werden muss.
 

Hunderonny

Benutzer
Mitglied seit
24. Okt 2023
Beiträge
1
Punkte für Reaktionen
0
Punkte
1
Hallo, ich hatte ein ähnliches Problem.
Synology NAS
Datenbank MARIADB 10
phpMyAdmin
ioBroker

Der ioBroker konnte nicht mit der Datenbank kommunizieren.
Das Problem lag einfach daran, dass bei der Erstellung der Datenbank MariaDB das Feld „TCP/IP-Verbindung aktivieren“ mit Port 3306 kein Haken drin war.
Haken gesetzt und alles funktionierte.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat