NEWS
*gelöst* History-Daten extern speichern
-
Guten Morgen zusammen.
Während meinem Weihnachtsmarktbesuch hat mein ThinClient mit Debian Bullseye beschlossen, den Dienst einzustellen. Fehler war relativ schnell gefunden:
2022-12-09 15:48:54.454 - [31merror[39m: host.ioBroker uncaught exception: ENOSPC: no space left on device, write 2022-12-09 15:48:54.455 - [31merror[39m: host.ioBroker Error: ENOSPC: no space left on device, write
Das Sytem läuft auf einem 16GB-Flashspeicher. Eigentlich ausreichend, aber heute durfte ich feststellen, daß der History-Adapter ganz schön viel Ordner mit Daten erzeugt. Das hat mein System lahmgelegt.
Nun meine Frage: kann ich im Adapter mein NAS als Speicherort angeben? Wenn ja, wie muß der Netzwerkpfad dann aussehen? Ich bin froh, daß alles gerade wieder läuft und will da jetzt nicht wahllos was reintippen, nur damit dann wieder was nicht funzt.Und vielleicht sollte ich mal über mehr Speicher nachdenken.
Kann mir da jemand einen Tip geben?
-
@1topf sagte in History-Daten extern speichern:
kann ich im Adapter mein NAS als Speicherort angeben? Wenn ja, wie muß der Netzwerkpfad dann aussehen?
Mounte das Dateisystem des NAS irgendwohin, wo der Adapter schreiben kann. Passende Rechte auf dem NAS vergeben, fertig.
Kannst z. B. in das Verzeichnis /opt/iobroker/iobroker-data/history/ mounten, dann musste gar nix umstellen. Nur aufpassen, dass du dir beim Backup keine Schlaufe legst.Hinweis: Vorher /opt/iobroker/iobroker-data/history/ leeren, Mountpunkte müssen leer sein.
-
???
Das Verzeichnis /opt/iobroker/iobroker-data/history/ ist ja das, was voll war. Wenn ich das jetzt mounte, bin ich doch nicht auf meinem NAS??Muß da nicht die Adresse meines NAS als Speicherverzeichnis eingetragen werden? Also in das Feld da oben im Screenshot?
192.168.178.2/Daten/Hausüberwachung/ioBroker/History
wäre mein gewünschter Speicherpfad.Oder vernebelt nur der Glühwein meine Sinne?
-
Ich würde es halt per gemountetem Dateisystem machen. Eintrag in die /etc/fstab dann noch und das Ganze wird dann auch bei einem Systemstart richtig eingehängt.
-
@1topf
Das mit dem mounten können sich Windows Nutzer nicht so richtig vorstellen.
https://wiki.ubuntuusers.de/mount/Aber du kannst jeden beliebigen Pfad des Dateisystems auf verschiedene Datenträger legen.
Der Mount Befehl blendet dann diesen anderen Bereich unter dem angegebenen Pfad ein.
In diesem Fall würde für Iobroker der Pfad genau gleich heißen, das Betriebssystem schreibt die Daten aber wo ganz woanders (also bspw auf ein anderes NAS) hin.
Das Konzept find ich sehr faszinierend. So kannst du bspw komprimierte Dateien ebenfalls als ganze Laufwerke oder auch nur als einen Pfad einblenden und da kann gelesenen geschrieben werden. -
du musst erstmal das nas in irgendeinen mountpoint mounten und die daten vom iob server dort hinkopieren - dann die history daten auf dem iob server löschen (oder erstmal den ordner umbenennen)
dann mountest du wie @Thomas-Braun beschrieben das nas-verzeichnis auf den nun leeren /opt/iobroker/iobroker-data/history/ ordner
das problem könnte sein: wenn du den iob startest und das nas nicht da ist, wird dir die history wieder in den ordner auf dem iob server schreiben und du hast dann genau das problem, daß du die daten "doppelt" haben wirst, wenn der nas wieder online ist.
du kannst entweder das mounten so einrichten, daß der iob server nicht startet, wenn der mount nicht da ist (was evtl in ein paar monaten zu verwirrung führen kann, wenn du vergessen hast, das du das so eingerichtet hast) oder du überprüfst den mount über ein script und alamierst dich, wenn er nicht da ist.
beim einrichten des ganzen sollte der iob server inaktiv sein !!!!
-
Ich habe von History auf NAS abgesehen. Dann kommt das NAS nie dazu, seine Platten abzuschalten. Und eine Netzverbindung ist halt auch nicht so zuverlässig wie ein eingebauter oder angeschlossener Speicher.
Habe in meinen ioBroker Rechner (alter Win Laptop) eine 120GB SSD eingebaut. Trotz Spezialformat (2442) noch bezahlbar <20 EUR.
Zweitbeste Lösung wäre eine USB-SSD. Als ich noch headless Linux auf SBC hatte, bin ich dieser Anleitung gefolgt: https://jankarres.de/2013/01/raspberry-pi-usb-stick-und-usb-festplatte-einbinden/ . Am besten unter Linux ext4 wählen. Mit FAT32 hatte ich irgendwann nach einem armbian-Update massive Probleme mit ständigen sich überholenden Historyneustarts (keine Anung warum, experimenteller Befund nach wochenlangem Suchen).
Auch bei den Ubuntuusers findet man verständliche und hilfreiche Anleitungen. Aber oft eben unter Verwendung von Desktop-Programmen mit graphischer GUI.
120GB reichen bei mir für ein paar Jahre. Ab und an schaue ich, was die meisten Daten erzeugt und überdenke die Abtasthäufigkeit. -
Du kennst mich aber gut
. Mit Linux beschäftige ich mich immer erst dann, wenn es eigentlich zu spät ist.
Erstmal Danke an alle für die Hilfe. Ich habe hier in mein persönliches Wespennest gestochen
, und nun habe ich Kopfschmerzen (nicht nur vom gestrigen Glühwein...). Google glüht auch.
Mein NAS ist ein Eigenbau mit nas4free als BS (heißt jetzt schon länger Xigma). Könnte ich auch mal in der Version hochziehen, aber es läuft halt seit Jahren stabil und zuverlässig. Zugriff per SMB2. Der Befehl zum mounten müßte wie aussehen? So?:
iobroker@ioBroker:~$ sudo mount -t cifs username=xxxxx,password=xxxxx //192.168.178.2/Daten/Hausüberwachung/ioBroker/History /opt/iobroker/iobroker-data/history/
Wenn ich das mache, mault Debian rum:
mount: bad usage
Oder bin ich auf einer komplett falschen Fährte?
Im backitup-Adapter kann man halt schön externe Pfade angeben. Wäre für History auch ganz nett.
@klassisch : Im NAS kann ich auch z.B. noch eine CF-Card verbauen. Die dann als eigenständige Festplatte einbinden und gut. Alle anderen Festplatten (außer SSD) schlafen dann weiter.
-
@1topf sagte in History-Daten extern speichern:
Zugriff per SMB2.
Will man ja auch nicht.
Auf dem BSD-basierten NAS wird es wohl NFS geben. -
@1topf
mir ging es vor einigen jahren ja selbst so.
mein erster kontakt war ein wd mybooklive, bei dem man ssh freischalten konnte
und bei mir als mini server diente zum rumspielen.
ich musste viel lesen und es gab einige aha-effekte von fähigkeiten, die ich mir bei windows auch wünschte.aber bei mount muss ich auch immer schauen und tu mich schwer, von daher kann ich jetzt den befehl nicht exakt verifizieren.
schau gerade auf die seite oben bei ubuntuuusers, da gibt es einige beispiele und im zweiten blick auf die man page von mount (da sind dann alle parameter im detail erklärt.
) und im drittenblick auf internet foren -
@thomas-braun sagte in History-Daten extern speichern:
@1topf sagte in History-Daten extern speichern:
Zugriff per SMB2.
Will man ja auch nicht.
Auf dem BSD-basierten NAS wird es wohl NFS geben.Ja, geht natürlich. Ändere ich jetzt aber bei einer bestehenden HD nicht ab, da ich dann wieder anderweitige Probleme erwarten kann. Ich könnte aber eine Flashkarte als neues Laufwerk einbinden und dort dann NFS nutzen. Bin mir gerade nicht 100%ig sicher, aber ich glaube das geht für einzelne Festplatten und nicht nur fürs ganze System.
Aber wäre mein obiger Befehl erstmal grundsätzlich richtig? Wenn ja, wieso wird dann gemeckert?Edit: mit -o führt er den Befehl fehlerlos aus.
sudo mount -t cifs -o username=xxxxx,password=xxxxx //192.168.178.2/Daten/Hausüberwachung/ioBroker/History /opt/iobroker/iobroker-data/history/
Keine Ahnung ob das jetzt läuft, muß ich mal abwarten. Und dann halt noch die fstab abändern. Da muß ich mich auch noch belesen.
-
@1topf sagte in History-Daten extern speichern:
War
/opt/iobroker/iobroker-data/history/
jetzt leer? Sonst überlagerst du die bereits existierenden Dateien durch das drübermounten. Gibt nur Ärger. -
Ja, war leer. Aber jetzt hab ich gerade alle runtergezogenen Ordner in das History-Verzeichnis auf dem NAS geschoben, und dann tauchen die auch wieder unter
/opt/iobroker/iobroker-data/history/
auf. Das ist natürlich nicht so gewollt. -
@1topf sagte in History-Daten extern speichern:
Das ist natürlich nicht so gewollt.
Wenn es gerade gemountet ist, dann ist es natürlich genauso gewollt.
-
Ich meld mich morgen nochmal, muß auf den nächsten Weihnachtsmarkt.
Nur kurz: wenn die Daten dann trotzdem physisch immer noch unter iobroker-data/history/ liegen, läuft mein Speicher doch wieder voll? Oder verstehe ich das wieder falsch?
-
@1topf
Die liegen nur logisch da, physisch sind die auf dem NAS.Wenn es richtig gemacht wurde ist das Verzeichnis auch wieder leer, wenn umountet wurde.
-
Guten Morgen. Es gibt da ein Problem:
2022-12-12 09:58:10.378 - [31merror[39m: history.0 (1458059) Cannot store file /opt/iobroker/iobroker-data/history/20221212/history.sonoff.0.Fernseher Wohnzimmer.POWER.json: Error: EACCES: permission denied, mkdir '/opt/iobroker/iobroker-data/history/20221212'
Diese Meldung kommt für alle Geräte, die ich in History eingebunden habe. Das habe ich gestern schon festgestellt und jetzt eben mal ein
iobroker fix
laufen lassen. Leider ohne Erfolg. Der History-Ordner ist leer. Zugriffsrechte stehen auf 755, beim gemounteten NAS auf 777.Hast Du eine Idee, was hier nicht stimmt?
-
Die Rechte im NAS prüfen.
-
NAS steht auf 777, also der komplette Pfad bis zum dortigen History-Ordner, also sollte dort ja jeder Daten reinschreiben dürfen. User und PW schick ich beim mounten mit:
sudo mount -t cifs -o username=xxxxx,password=xxxxx //192.168.178.2/Daten/Hausüberwachung/ioBroker/History /opt/iobroker/iobroker-data/history/
Oder müssen User u. PW an anderer Stelle stehen?
Wenn ich manuell eine Datei in den NAS-Ordner kopiere, erscheint sie unter
/opt/iobroker/iobroker-data/history
. Aber ich wills ja andersrum.Ausgabe von
mount
://192.168.178.2/Daten/Hausüberwachung/ioBroker/History on /opt/iobroker/iobroker-data/history type cifs (rw,relatime,vers=2.1,cache=strict,username=xxxxx,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.178.2,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,bsize=1048576,echo_interval=60,actimeo=1) tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=566268k,nr_inodes=141567,mode=700,uid=1000,gid=1000)
An dem "Ü" in "Hausüberwachung" kann es aber nicht liegen?
-
Zeig mal die Einstellungen im NAS.
Und Umlaute sind tunlichst zu vermeiden. Ebenso Leerzeichen und sonstige Sonderzeichen.
Kleinbuchstaben a-z und Ziffern.