Haltbarkeit des Raspberry Pi erhöhen

Begonnen von MichaelO, 18 Oktober 2015, 12:55:45

Vorheriges Thema - Nächstes Thema

Tedious

SSD macht Sinn, ja - nur nicht beim RPi ;) Dat hammer nicht ;)
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Bartimaus

LG
B.


FHEM@AMD-Ryzen7-5700U@Debian-LXC (ProxmoxHOST), CUL1101,FS20,IT,DS18B20,DS2413(Heizungslogger),DS2423(Stromlogger)Homematic,HM-LAN,ZWave,MiniCULs,Shelly

Tedious

Jau - aber wie lautet der Threadtitel? Haltbarkeit des BananaPi? ::) Wird dem TE nicht wirklich weiter helfen... ;)
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Hollo

Zitat von: Tedious am 20 Oktober 2015, 10:40:56
...Alle Logfiles, also FHEM und Linux, landen auf einem USB-Stick um die Schreibzyklen auf der SD-Karte zu minimieren. Bei Aufall muss ich nur den Stick ersetzen...
Sorry, aber das ist doch auch Blödsinn.    :P
Das ist beides die selbe Technologie und Du hast damit statt 1 gleich 2 Devices die "theoretisch" kaputt geschrieben werden können.

Das Vollbackup der SD-Karte als Image und Notfallersatz ist da wesentlich besser.
Und/oder Daten/Logs auf einem anderen Medium sichern, sofern das eh läuft.  Fertig.

FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Tedious

Stimmt. Aber bei einem Logfile isses mir ehrlich gesagt wurst ob der Stick kaputt geht, beim System (SD) nicht ;)
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

TSB

Die Logs kann man ja simpelst abschalten, wenn man Sie nicht auswerten möchte (global verbose auf 0 setzen). Sobald alles wie gewünscht läuft, braucht man die Logs in der Regel nicht mehr.

Logdaten nur bei Änderungen erfassen, Änderungswerte erst ab einer gewissen Abweichung erfassen - es braucht bei Temperaturänderungen selten die Erfassung von mehr als einer Stelle hinter dem Komma (event-on-change-reading
temperature:0.1) ... Daten die nicht benötigt werden nicht speichern (gibt ja oft redundante Daten, wie temperature / T ...).

Das reduziert die Schreibzyklen auf die Speicherkarten erheblich. Wenn die Karten zuvor schon Monate gehalten haben, dürften diese dann auch ein Jahrzehnt schaffen ...

Backups und zweite Hardware sind nicht verkehrt, wenn davon wichtige Bereiche im Haus abgedeckt werden (wie Heizsystem). Man sollte bedenken, dass auch ein Dritter/Laie im Notfall das Austauschen kann (passiert garantiert was, wenn man für eine Woche außer Haus ist ...).

nicor2k

Zitat von: TSB am 20 Oktober 2015, 13:02:45
Die Logs kann man ja simpelst abschalten, wenn man Sie nicht auswerten möchte (global verbose auf 0 setzen). Sobald alles wie gewünscht läuft, braucht man die Logs in der Regel nicht mehr.

Schaltet das denn nur die FHEM Logs aus, oder auch alle anderen (Temperatur, Energieverbrauch etc...)?

Ich habe von der SD Karte ein Image-Backup gemacht, dabei dann aber bemerkt, dass man es auch auf die exakt gleiche Karte zurückspielen muss: Eine 8GB Kingston Karte ist ein paar Byte größer, kopiert man das auf eine 8GB Sandisk, läuft nix mehr :-)

Meine Idee wäre auch gewesen, den "Logs" Ordner unter /opt/fhem einfach als Symlink auf einen einfachen USB-Stick zu legen, das sollte kaum Aufwand sein, schnell gehen - und USB Sticks habe zumindest ich genug herumliegen :)
Andere Sachen sollten dann beim laufenden Rechner nicht mehr all zu oft geschrieben werden?
FHEM auf Raspberry Pi 1 - 4 | Meine Browser-Plugins | Meine FHEM-Tipps

Tedious

Es werden ja noch mehr Logs geschrieben, nicht nur FHEM schreibt ;) Die Pfade lassen sich aber via Webmin recht bequem anpassen.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

drhirn

Zitat von: Tom111 am 18 Oktober 2015, 16:49:23
Ich rede hier natürlich nicht von irgendwelchen "dabeigepackten" Karten, die hab ich eh alle immer weggeschmissen!

Hehe, ich verwend die immer. Waren die einzigen, die bei mir bisher nie Probleme gemacht haben.
Im Gegensatz zu sündteuren SanDisk SD.

Der Raspi ist leider ziemlich wählerisch, was SD-Karten angeht. Ich hoffe, das wird noch irgendwann besser.

Tedious

Ich seh das so - im Moment bastel und spiele ich noch damit, da kann ich mit kleineren Problemchen leben. Wenn denn nächstes Jahr der Hauskauf oder -bau ansteht und das ganze denn sinnig alles ("produktiv") steuern soll wird der RPI eh durch einen NUC oder vergleichbar abgelöst werden, incl. Umstellung auf SQL(lite) statt der txt-logs.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

drhirn

Jaja, "nur rumbasteln". Das sagen alle. Und dann hat man irgendwann so viel erreicht und ist so begeistert, dass aus der Bastelei plötzlich ein Fixum wird, auf das man nicht mehr verzichten kann.
Ich kenn das ;)

nicor2k

Zitat von: drhirn am 22 Oktober 2015, 15:27:57
Jaja, "nur rumbasteln". Das sagen alle. Und dann hat man irgendwann so viel erreicht und ist so begeistert, dass aus der Bastelei plötzlich ein Fixum wird, auf das man nicht mehr verzichten kann.
Ich kenn das ;)

:D :D :D
FHEM auf Raspberry Pi 1 - 4 | Meine Browser-Plugins | Meine FHEM-Tipps

sceadm

/dev/shm steht für "shared memory", das sind Speicherbereiche im Hauptspeicher. Unter /dev/shm sind diese Bereiche nach außen sichtbar.
In /dev/shm tauchen normal nur die shared memory Segmente auf, gemischt mit normalen Dateien ist es ein wenig unübersichtlich.
Aber trotzdem. Die FHEM Logfiles  schreibe ich nun nach /dev/shm.

/dev/shm wird aber beim nächsten Reboot gelöscht. Also muss man sicherstellen das beim Reboot alles kopiert wird.

Also habe ich erst mal die /etc/init.d/fhem angepasst.

case "$1" in
'start')
        echo "Starting fhem..."
        cp /opt/fhem/log/*.log /dev/shm/
        perl fhem.pl fhem.cfg
        RETVAL=$?
        ;;
'stop')
        echo "Stopping fhem..."
        cp /dev/shm/*.log /opt/fhem/log/
        perl fhem.pl $port "shutdown"
        RETVAL=$?
        ;;


Ausserdem ein cron angelegt:
# m h  dom mon dow   command
*/60 * * * * cp /dev/shm/*.log /var//log/fhem


also alle 60 Minuten alle Logfiles kopieren. Wenn der Rechner abstürzt, sind max 60 Minuten Log verloren.

Man muss ausserdem abwägen, welche Logfiles man wirklich benötigt und ,,event-on-change-reading" nutzen, um die Logfiles klein zu halten.

Damit verringert man die Schreibzyclen auf SSD/USB/CF... erheblich.

Um bei einem Systemausfall oder HW defekt nicht alles zu verlieren, sichere ich die Logs und den Ordner /opt/fhem zu dropbox https://www.dropbox.com/install?os=lnx

Wenn gewünscht, kann ich das auch im Detail beschreiben.

drhirn

Zitat von: sceadm am 22 Oktober 2015, 21:47:08
Wenn gewünscht, kann ich das auch im Detail beschreiben.

Naja, ja, sehr gerne!

Ist sicher gestellt, dass bei einem manuellen Reboot/Shutdown FHEM ordentlich beendet wird?
Und für was genau verwendest du event-on-change?

Danke!

Mumpitz

Hätte auch Interesse an deiner Lösung