PI - FHEM Log auf USB Stick

Begonnen von ArianeHRO, 01 April 2015, 10:35:40

Vorheriges Thema - Nächstes Thema

ArianeHRO

Hallo zusammen,

ich habe auf meinem Raspberry Pi mit Raspbian ein seltsames Problem und weiß als Linux Noob leider nicht wo hier das Problem liegen könnte.

Ich habe meine Logs alle auf einen gemounteten USB Stick verschoben, das funktioniert auch mehrere Monate ohne Probleme.
Aber seit Ende Februar ist es so, das die Logfiles nicht weitergeschrieben werden, bzw die Einträge nach einem Reboot verschwinden. Die Daten bis Ende Februar sind aber weiterhin vorhanden.
Das tägliche Logfile enthält auch nur Daten bis zum Reboot.

Der Stick ist im exFat Format und mein tägliches Backup schreibt er dort ohne Probleme auf den Stick.
Hat vielleicht jemand eine Idee hier zu?

Danke & Grüße
Ariane

Dr. Boris Neubert

Hallo Ariane,

das Problem hatte ich auch mehrfach. Es besteht darin, dass USB-Sticks das viele Schreiben nicht aushalten und kaputt gehen. Ich habe in den letzten Jahren immer wieder versucht, auf kleinen Systemen oder auf sparsamen Systemen (um die Platten nicht aufzuwecken) Log-Dateien auf USB-Sticks zu speichern. Das Ganze geht eine Weile gut (je nach Größe und Qualität des Sticks ein bis mehrere Monate) und dann ist der Stick im Eimer. Zwischendurch kommt es auch schon zu Problemen, dass der Stick sich nicht mehr ansprechen lässt. Dann hilft  ab- und anstöpseln und ein Filesystemcheck noch als verlängerte Maßnahme.Verlässlich geht anders.

Fazit: vergiss den USB-Stick und nutze entweder die SD-Karte oder eine externe USB-Festplatte.

Ach so: die SD-Karte hin und wieder sichern (dd if=/dev/sda1 of=dev-sda-backup-YYYYMMDD bs=4M)., weil die auch irgendwann kaputtgeht. Tipp dazu: etwas weniger als die volle SD-Karte partionieren, weil nicht alle Karten bei gleicher Angabe der nominalen Speichergröße in GB wirklich dieselbe Anzahl Sektoren anbieten, und dann schlägt das Wiederherstellen ggf. fehl, wenn das neue Medium zu klein ist.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

PeMue

Zitat von: Dr. Boris Neubert am 01 April 2015, 13:03:44
Das Ganze geht eine Weile gut (je nach Größe und Qualität des Sticks ein bis mehrere Monate) und dann ist der Stick im Eimer.
Hallo Boris,

bei mir war das gerade anders herum:
- die SD Karte im Raspberry Pi hatte einen Fehler (könnte aber auch ein defektes Filesystem durch falschen shutdown gewesein sein)
- mein USB Stick (Tevion 8GB) läuft an der Fritz Box 7170 schon seit fast 2 Jahren

@Ariane:
Hast Du schon einmal das Dateisystem auf Fehler geprüft?

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

ArianeHRO

@PeMue,
nein, das werde ich direkt mal machen.

Der "Stick" ist übrigens eine kleine USB Festplatte, ich hatte nicht darüber nachgedacht das das ja Speichertechnisch ein ziemlicher Unterschied ist.
Einen kaputten Stick hatte ich nämlich schon und deshalb inzwischen eine 1,8" Festplatte (keine SSD, sondern noch die guten Alten ;-)). Entschuldigt die Fehlinformation.

ArianeHRO

fsck und smarttools haben leider nichts zu beanstanden.

PeMue

Zitat von: PeMue am 01 April 2015, 13:12:30
- mein USB Stick (Tevion 8GB) läuft an der Fritz Box 7170 schon seit fast 2 Jahren
Naja, heute morgen habe ich den USB Stick mal abgezogen und getestet -> defekt. Aber von 09/2013 bis 03/2015 ist aus meiner Sicht ok  ;)
Präventiver Ersatz jedes Jahr ist m.E. nicht verkehrt. War übrigens ein 8 GB Tevion USB Stick mit 100 mA Stromaufnahme.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

fermoll

#6
Ich nutze RPI_2 mit Edimax WiFi,Logilink Funktastatur und Maus ID 0104, Logilink USB-Hub Ua0124, USB-Festplatte 80 GB,Intenso USB Stick 16 u. 32 GB und Edimax WiFi.
Nachdem ich Rasbian (2015-02-16), Noobs und Berryboot erfolglos herumexperimentiert habe, bin ich zum Rasbian zurückgekehrt.
Berryboot hat zwar die USB-Sticks als Speicherort akzeptiert, die Festplatte jedoch nicht erkannt. Mit Rasbian ist es mir ebenfalls gelungen, die /root audf den Stick zu transportieren.
Anleitung:http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_Laufwerke.html
Nachdem ich innerhalb weniger Tage die beiden 16GB-Sticks ins Jenseits geschickt habe, habe ich diese beiden Lösungen verworfen, einmal, weil ich den Sticks nicht traue, zum anderen, weil bei der Rasbian Lösung weder der Edimax, noch die Tastatur erkannt wurden.
Bei der Rasbian Lösung wird die Festplatte erkannt, wenn man sie einsteckt und wir automatisch gemountet, ebenfalls beim Neustart.
Meine Idee ist, alle Logs und andere Vorgänge mit häufigen Schreibzugriffen auf die Festplatte auszulagern.
Die Festplatte habe ich allerdings mit Minitools als ext4 formatiert, da sie dann schneller sein soll als als FAT 32. Auf NTFS kann man nur lesend zugreifen.
http://www.partitionwizard.com/help/about-partition-wizard.html
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

Nachdem jetzt das Einbinden der Festplatte beim RPI 2 geklappt hat, überlege ich,ob man Programmpakete statt im Ordner /opt auf der Festplatte installieren kann. Leider finde ich dazu nichts im Netz. Vielleicht hat jemand eine Idee?
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

PeMue

Hallo fermoll,

mounte doch einfach Deine Festplatte auf /opt. Vorher vielleicht die schon installierten Dateien auf die Festplatte kopieren.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

fermoll

Hallo PeMue

Das war eine sehr gute Idee. Man kann das Ganze auch dauerhaft gestalten, wenn man /etc/fstab bearbeitet.
proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/mmcblk0p2  /               ext4    defaults,noatime  0       1
/dev/sda1 /opt ext4 defaults,noatime  0       1
# a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that

Dann wird die Änderung auch bei einem Neustart berücksichtigt.ich gehe davon aus, dass es dann auch nicht mehr nötig sein wird, die Log-Dateien von FHEM zu verschieben.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

PeMue

Zitat von: fermoll am 05 April 2015, 13:55:18
... dass es dann auch nicht mehr nötig sein wird, die Log-Dateien von FHEM zu verschieben.
Das war der Grundgedanke dahinter, ja. Als Windows Anwender vergißt man leicht, dass unter Unix einfach Platten irgendwohin gemountet werden können, ohne eigentlich zu wissen (doch root sollte es schon wissen, aber dem Anwender ist es egal) wohin.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

fermoll

#11
Ich habe jetzt fhem auf der Festplatte installiert. Vorschrift:
www.fhemwiki.de/wiki/FHEM_auf_Raspberry_PI_mit_COC_betreibenapt-get
Was ich als Windows-Nutzer vergessen habe, war die Anpassung der Nutzerrechte .
Bei MySQL habe ich aber Probleme. Linux installiert das an ganz anderer Stelle. Es wäre aber sinnvoll, zumindest die Datenbanken auf der Festplatte zu speichern, um die SD zu entlasten.
Ds gibt es im Wiki bei der Installation auf Synology einen Vorschlag:
http://www.fhemwiki.de/wiki/Synology_Diskstation

mv /usr/local/FHEM/var/log /volumeUSB1/usbshare/fhem

ln -s /volumeUSB1/usbshare/fhem/log /usr/local/FHEM/var/log


Das muss man natürlich für die Datenbanken anpassen.
Die SD werde ich dann regelmäßig mit Win32Imager sichern. Die Sicherung im laufenden Betrieb des RPI ist auch irgendwo beschrieben, auch auf NAS. Da blicke ich als Linux-Novize jedoch noch nicht durch.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

topfi

Schiebt doch einfach die gesamte Installation auf die Festplatte. Dann muss auf der SD-Karte nur noch das reine Boot-Image sein, das auf sda1 zeigt. Dort liegt dann das gesamte Linux. Ich habe das bei meinem BananaPi nach dieser Anleitung 

http://www.meinduino.de/bananapi/2014/10/09/rootfstossd.html

gemacht. Ihr habt zwar keine SATA-Schnittstelle, doch dürfte eure Festplatte auch sda1 sein. Der Rest ist 1:1 Raspi. Damit liegt alles immer auf der Festplatte, anderen Massenspeicher gibt es erstmal gar nicht.

fermoll

#13
Ich glaube, Lubuntu ist ein wenig anders als Rasbian. Ich habe es versucht , es hat jedoch nicht geklappt.

PS: Mit einigem Nachdenken und Probieren hat es geklappt. Es unterscheidet sich in einigen Dingen von topfis Lösung. Ich werde die Unterschiede noch genauer erklären. Auf jeden Fall läuft jetzt auf meinem Raspi 2 nur noch der Boot-Teil auf SD, /root auf der Festplatte. Ich werde weiter berichten.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

Mein Vorgehen beim Einbinden einer Festplatte in Rpi 2
Zum Teil habe ich mich an die Vorlage von Nettzmafia gehalten:http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_Laufwerke.html, meist aber an die Vorlage von topfi.

Formatieren der Festplatte mit MiniToolPartition Wizard auf ext4.
Einstecken der Festplatte in den USB-Hub. Im Moment betreibe ich den Rpi als root und mit Startx. Der Diskmanager fragt dann, ob er die Platte mounten soll. Das würde dann unter /media geschehen. Dshalb ablehnen. Außerdem ist es sinnvoll, die Platte zu labeln, da der DM sonst die UUID verwendet.
Die Übertragung des /root habe ich nach topfi's Vorgabe vorgenommen. Es ist sinnvoll mit fdisk -l zu überprüfen, ob die Platte als sda1 erkannt worden ist.
Nun müssen zwei Dateien verändert werden.
Zuerst cmdline.txt auf /boot. Dort wird mmcblk0p2 durch sda1 ersetzt. dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait

Dasselbe wird mit /etc/fstab gemacht:proc            /proc           proc    defaults          0       0
/dev/mmcblk0p1  /boot           vfat    defaults          0       2
/dev/sda1 /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, so no using swapon|off from here on, use  dphys-swapfile swap[on|off]  for that

Aber unbedingt darauf achten, dass die Datei auf der Platte verändert wird und nicht die auf der SD.
Dann müsste das Ganze funktionieren. Daskann man daran erkennen, dass die gelbe LED auf dem Rpi nur noch selten blinkt.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB